2

IP rDNS(PTR)信息从理解到情报挖掘 - 青山红

 1 year ago
source link: https://www.cnblogs.com/zqingshan/p/17203512.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

什么是IP的rdns信息?

  过去很多人,将IP的rDNS信息理解为解析到IP的反查域名信息。IP的rDNS信息和IP反查域名信息完全是两个不同的信息。IP的rdns信息被称之为反向DNS解析(rDNS),即通过DNS解析系统来将IP地址解析为域名。根据RFC1912标准“每一个互联网可以访问的主机都应该有一个名字”,所以rDNS信息更多是对应到一个IP地址的名字。IP的反查域名是指根据域名解析到IP的记录来反查出哪些域名解析到这个IP地址上。下面以8.8.8.8来说明IP的反查信息和rDNS信息的区别。

  通过命令nslookup可以直接获取到8.8.8.8的rDNS信息”dns.google.”,注意此处被标识为名称(name),即表示为IP的名称。

3112390-20230310152741268-502542696.png

  通过virustotal平台查询8.8.8.8的IP反查信息,可以得到下图红框中10个域名是解析到8.8.8.8上的。IP反查的结果是域名A记录指向该IP的域名信息集合。

3112390-20230310152741349-907977241.png

3112390-20230310152741300-1804532361.png

IP的rDNS是如何工作的?

PTR记录

  IP的rDNS信息本质上是IP地址的一个name信息。那这个信息是由谁在哪里设置的呢?在通过nslookup获取一个IP的rDNS信息请求时,本质上是发起了一个DNS请求,来获取一个IP的PTR解析记录。我们都知道DNS协议是域名解析协议,是用来解析协议的,那么如何能用来解析IP呢?这里要提到一个很牛的设计,为了能够通过DNS协议来解析到IP的rDNS信息,ICANN组织新增了一个tld(通用顶级域)“.arpa.”用来负责将IP映射为域名,支持rDNS协议和其他网络基础构架的管理工作。

3112390-20230310152741334-1252764205.png

  IP地址”4.3.2.1”映射转换之后的域名为1.2.3.4.in-addr.arpa.,IP地址114.114.115.115映射转换之后的域名为115.115.114.114.in-addr.arpa。然后通过DNS协议查询该域名的PTR记录就能够获得该IP的rDNS值,这个查询出来的值和nslookup命令查询出来的值是一样的。

3112390-20230310152741336-2005671091.png

3112390-20230310152741458-130655056.png

IP rDNS的权威DNS

  我们都知道DNS协议中,每个域名都有对应的权威DNS服务器,用来维护这个域名的A记录、CNAME记录值等。在IP rDNS记录也是一样存在着权威DNS服务器。IP地址经过转换之后就是一个特殊的域名。下面我们来分别看一下各级域名对应的权威DNS服务器。

  下面各图就IP rDNS转换域名之后的各级权威DNS服务器进行了解析尝试发现,114.114这样的B段就配置了中国的DNS服务器,前面114这样的A段地址展示了全球五大RIR的权威DNS服务器,再往前的特殊域arpa.和in-addr.arpa.都在icann手上进行维护。这里可以做一个有趣的推论,全球的IP地址分配单位可能是按照B段来进行分配的。另外114.114.115这样的C段是没有查询到权威NS服务器的,由此也可以做一个有趣的推论,实际注册了IP网段的单位设定的权威DNS服务器可能不是严格按照C段来设定的。从方便的管理角度来看,按照C段更方便做    IP转化为域名的映射的管理,但实际上并没有这么分配,也就是国内注册IP的单位也不是严格按照C段来进行注册的。

3112390-20230310152741421-1907019046.png

arpa.的权威DNS服务器:

3112390-20230310152741303-1024723882.png

in-addr.arpa.的权威DNS服务器:

3112390-20230310152741313-2049967711.png

114.in-addr.arpa.的权威DNS服务器:

3112390-20230310152741422-838650155.png

114.114.in-addr.arpa.的权威DNS服务器:

3112390-20230310152741421-2055862536.png

114.114.115.in-addr.arpa.的权威DNS服务器:

3112390-20230310152741305-822513137.png

如何快速获得所有IPv4的rDNS数据:

向公共DNS发起全网IP的PTR DNS解析

  将所有的IP转化为域名之后,对公共DNS发起PTR的解析记录请求查询,这样的方法理论上是可行的。但是全球IPv4的地址大概有42亿,去除掉保留地址和一些特殊的IP地址之后,应该还有35亿左右,这个量可能会因为网络解析请求量过大,导致请求被拒绝,以致无法全面和准确的获得IP的rDNS信息。

向权威DNS发起PTR解析

  由于公共DNS的数量和承载性能有限制,首先获得一个IP地址的rDNS域名对应的权威DNS,然后在向这个权威DNS服务器发起查询请求,这样能够将请求分散到不同的权威DNS服务器,降低并发太高的问题。但是仍然还会面临实际的请求数据量过于庞大的问题。下图展示了获取114.114.114.114的权威DNS服务器的过程:

  上级域名“114.114.114.in-addr.arpa.”没有配置权威DNS服务器:

3112390-20230310152741392-1021365571.png

  上上级域名“114.114.in-addr.arpa”配置了权威DNS服务器:

3112390-20230310152741456-1618600917.png

  向上上级域名的权威DNS服务器发起PTR解析请求,注意看此处返回了授权区域(“AUTHORITY SECTION”)没有返回具体的ANSWER。这规定了该域名的rDNS记录应该去对应的权威DNS服务器(ns100.114dns.net)上去查询。

3112390-20230310152741455-877428445.png

  再次向该域名的权威DNS服务器发起PTR记录查询请求,成功获取到rDNS记录:

3112390-20230310152741335-1394779490.png

  根据上面这几个步骤来看,向权威DNS发起请求,获取rDNS记录的过程比直接向公共dns发起解析请求慢很多,因为中间可能会多了一步或者多步。整体上来看也不能很好的解决快速获取rDNS数据的问题。

按需积累IP的rDNS解析数据

  无论哪种方式,要瞬间获得42亿IP的rdns信息都会比较困难。所以按照实际的业务需求对出现的部分业务优先级高的IP通过网络发包获得rdns信息,然后不断的积累,预期能够获得更多的rdns数据。

使用开源的rDNS数据。

  网络安全公司Rapid7下属的一个sonar实验室,会定期对全网进行IPv4 的rdns信息探测收集。收集完成之后,会对外提供下载地址。这也是一个重要的数据来源通道。

3112390-20230310152741308-1732046063.png

情报生产应用

生产白名单

  所有IP映射为域名之后的各级权威DNS服务器,都是可以用来转化为DNS服务器、用来做白名单数据的;

识别IP用途

  很多机构为了让外部知道自己IP是做什么用途的,会在IP的rDNS信息上声明相关的信息。比如百度的爬虫就是根据rDNS信息来判断是否为百度的爬虫。

3112390-20230310152741320-848638726.png3112390-20230310152741314-1913753880.png

根据rDNS信息判断IP是否为家庭宽带IP

3112390-20230310152741361-188048532.png

3112390-20230310152741458-1160317241.png

判断IP是否属于动态IP

该IP属于河南电信的动态IP:

3112390-20230310152741389-1918566158.png

该IP属于上海电信IP:

3112390-20230310152741479-256005551.png

参考链接:

https://opendata.rapid7.com/sonar.rdns_v2/

https://help.baidu.com/question?prod_id=99&class=476&id=2996


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK