浅谈rDNS在IP情报开发中的应用

2024年9月12日
什么是 rDNS

内容

免费试用 CDNetworks

我们的大多数产品都有 14 天的免费试用期。无需信用卡。

分享这个帖子

在当今的数字世界中,互联网已成为人们日常生活和商业活动中不可或缺的一部分。在这个庞大而复杂的网络生态系统中,IP 地址是连接和识别各种网络设备和服务的基础。然而,仅仅知道设备的 IP 地址并不足以完全了解其在网络中的作用和行为。为了更深入地了解和更好地利用 IP 地址,反向 DNS (rDNS) 技术提供了有价值的信息,帮助我们发现有关 IP 地址的更多详细信息。

什么是 rDNS?

与 DNS 相反,rDNS 是将 IP 地址转换为域名的过程,通过查询 PTR 和 CNAME 记录实现。一个 IP 地址可以对应多个域名,代表一对多关系。相比之下,反向查找 IP 地址通常返回零个或一个主机名,代表一对一关系。反向 DNS 的典型用途包括:

  • 验证发件人身份

rDNS 广泛应用于发送电子邮件的过程中,作为防止垃圾邮件的一部分, 网络钓鱼攻击。当电子邮件从服务器发送时,接收服务器可以查看发送服务器的 IP 地址并执行 rDNS 查询以确认与该 IP 地址关联的域名。如果 rDNS 记录与发送服务器的声明相匹配,则可以作为发送服务器身份的验证,从而增加电子邮件合法的可能性。例如,AOL(美国在线)要求发件人的邮件服务器必须可反向解析才能将电子邮件发送到 AOL/AIM 邮箱。对于一些大型网络提供商,配置正确的反向 DNS 记录也是建立互联网服务可信度和可靠性的一部分。

  • 网络故障排除和跟踪

在网络管理和故障排除中,了解请求设备的域名信息非常有用。rDNS可以帮助网络管理员识别网络流量中的特定主机并了解流量的来源,从而使他们能够有效地诊断问题。

  • 实施安全策略和访问控制

一些网络服务和应用可能依赖反向域名来实现安全策略或访问控制。通过 rDNS,服务可以检查访问请求 IP 地址背后的域名,以决定是否允许访问或应用特定规则。例如,通过验证请求头 User-Agent 和 IP 的反向解析记录来识别良性机器人,以确认请求是否来自真正的 SEO 爬虫。

从反向 DNS 获取地理位置信息

执行 主机 96.227.5.107 终端收益率 pool-96-227-5-107.phlapa.east.verizon.net。,表示子域部分 .phlapa 表明 IP 位于美国宾夕法尼亚州费城。同样,执行反向查找 63.153.137.40 结果是 63-153-137-40.sxfl.qwest.net。,其中子域部分 .sxfl。 是美国南达科他州苏福尔斯的缩写。通过检查主机名,可以合理地推断其地理位置,说明 rDNS 记录可以为 IP 地理定位提供额外的价值。但是,需要考虑以下因素:

  • 整个 IPv4 地址空间中有多少个 IP 地址可以进行反向解析?
  • 可以反向解析的IP地址中,有多少条包含地理位置信息的rDNS记录?

在论文中“通过反向 DNS 进行 IP 地理定位”,我们找到了一个合理的解决方案。该论文提出了一种机器学习方法从 rDNS 中提取位置信息,将这项任务视为一个机器学习问题。对于给定的主机名,它生成一个候选位置列表,然后利用二分类器对每个主机名和候选位置对进行分类,以确定哪些候选位置是合理的。最后,根据置信度对剩余的候选位置进行排序并与人口数量相关联。该方法有效地补充和提高了当前主流 IP Geo 商业数据库的准确性。

IPv4 地址空间中的 rDNS 分布

图 1:rDNS 在 IPv4 地址空间中的分布

在总计43亿个IPv4地址空间中,约有25.68亿个公有IP地址。上图显示,12.5亿个IPv4地址具有有效的rDNS,其中约1.6亿个包含精确的城市匹配,2.7亿个包含机场代码。这意味着,在所有有效的反向DNS记录中,只有约12%包含有用的地理位置信息。它们的覆盖范围不足以独立形成完整的IP地理数据库,但可以为丰富现有的IP地理位置信息做出贡献。此外,本文分析了2014年至2018年rDNS的变化情况,发现64.8%的rDNS解析记录保持不变,反向DNS记录的数量每年都在缓慢增长。这一事实与最新的rDNS数据相一致,目前该数据约为12.86亿。

2014 年至 2018 年 rDNS 主机名的变化

图 2: 2014 年至 2018 年 rDNS 主机名的变化

MaxMind、Neustar IP Intelligence 和 IP2Location 等公司提供的商业 IP 地理位置数据库结合了各种信息来源和算法,以实现高覆盖率。这些来源包括 WHOIS 信息、网络延迟数据、网络拓扑信息和与 ISP 的协作,以及分析网络社交图。但是,它们可能仍然缺少某些 IP 范围的位置信息。利用网络拓扑和延迟信息有几个限制:

(1)需要全球分布的映射节点资源。

(2) 并非每个公网 IP 都允许 ICMP ping 或暴露其网络拓扑。

(3)通过 traceroute 获得的路由距离无法完全映射到现实世界的地理距离。但是,利用 rDNS 进行地理定位可以克服这些限制。

从反向 DNS 派生 IP 连接类型

一些反向 DNS 解析记录可能包含有关连接类型的信息:

此时,rDNS信息可以作为探索IP使用场景(如住宅、企业、数据中心等)的一种方式。对于安全产品来说,它们通常对不同类型的IP采用不同级别的保护策略。例如,它们可能对动态住宅IP采取更谨慎和保守的保护措施,因为大多数真实用户访问来自多个用户共享的动态IP,因此容易出现误报。但对于企业专线IP,决策成本没有那么高。

动态IP由多家网络提供商分配到IP池中,因此仅从WHOIS信息等来源很难直接确认某个IP是否为动态IP。但是通过rDNS,可以利用一些关键字信息进行一些判断。举个简单的例子,在rDNS数据库中查询PTR记录中包含关键字“动态”的IP,可直接匹配到5800多万个IP。

匹配IP数量

图 3:匹配的 IP 数量

结合一些其他第三方威胁情报数据可以初步验证这一假设。

第三方威胁情报数据

图 4:第三方威胁情报数据

当然,实际的动态 IP 数量要高得多。这里我只是浅尝辄止。同样,由于并非每个 IP 都有 rDNS 记录,如第二章所述,反向 DNS 记录 可以补充和丰富IP的连接类型,但单纯依靠rDNS还不足以构成完整的数据库。

使用 ZDNS 执行 IPv4 反向 DNS 解析

论文“ZDNS:用于互联网测量的快速DNS工具包”介绍了一个高性能、可扩展的 DNS 探测框架,由三个主要组件组成:DNS 库、核心框架和可组合模块。DNS 库实现了自己的缓存递归解析器库,提供递归查询、缓存、验证、数据包交换记录和简化的 DNS 解析。核心框架用于简化命令行交互,而可组合模块用于轻松进行功能扩展。ZDNS 的实现遵循几个设计原则:

  • 内部递归: ZDNS 支持递归解析,以了解 DNS 操作的各种特性。这是因为公共递归解析器通常隐藏许多 DNS 解析功能并经常施加查询速率限制。因此,需要支持内部自递归。
  • 安全: DNS 协议定义了许多 RFC 标准,截至 2022 年,DNS 记录类型超过 65 种。由于服务器经常因配置错误或恶意操作而返回格式错误的响应,因此 ZDNS 使用内存安全的编程语言并支持模块化接口。
  • 高性能: 当使用外部递归解析器时,它每秒执行 90,000 次解析,在 10 分钟内扫描 5000 万个域,并在 12 小时内解析整个 IPv4 地址空间的 PTR 记录。

下图是ZDNS的解析性能数据:

ZDNS解析性能数据

图 5:ZDNS 解析性能数据

如果只考虑 PTR 记录的数据性能,使用 Google 公共 DNS 解析仅需 12.1 小时即可完成整个 IPv4 地址空间的解析,成功率达到 93.0%。而使用内部递归解析则耗时 116.7 小时,但成功率仍维持在 88.5%。使用内部递归解析时性能的大幅下降,一方面是由于无法利用公共解析的缓存加速查询,另一方面是由于内部递归机制需要达到一定数量的查询才能返回响应。对比 A 记录和 PTR 记录,随着解析数量从 5000 万增加到数十亿,ZDNS 的成功率下降幅度不到 5%。

结论

反向DNS(rDNS)技术是网络管理和安全中必不可少的工具,为丰富IP地址信息、识别地理位置和连接类型提供了强有力的支持。

在从rDNS获取地理位置信息时,我们可以将rDNS记录中的域名与地理位置数据库进行关联,从而推断出IP地址的地理位置信息,为地理定位和位置感知服务提供数据支持,这对于网络定位、内容分发网络优化等服务至关重要。

另一方面,通过从 rDNS 导出 IP 连接类型,我们可以根据 rDNS 记录中找到的域名和服务类型对与 IP 地址相关的应用程序和服务进行分类和识别。这有助于 网络安全 和流量管理,增强网络活动的可视化和理解。

利用ZDNS等工具进行IPv4反向DNS解析,可以实现快速、高效的大规模rDNS查询,为网络管理和安全分析提供便利。该类工具的应用为实际的网络信息收集和分析提供了技术支持,有助于合理利用网络资源,加强网络安全。

探索更多