浅谈rDNS在IP情报建设中的应用

在当今数字化世界中,互联网已经成为人们日常生活和商业活动中不可或缺的一部分。在这个庞大而复杂的网络生态系统中,IP地址是连接和识别各种网络设备和服务的基础。然而,仅仅知道一个设备的IP地址并不足以充分理解其在网络中的角色和行为。为了更深入地理解和利用IP地址,反向域名解析(rDNS)技木提供了丰富的信息,帮助我们洞悉IP地址的更多细节。

什么是rDNS?

与DNS相反,rDNS是将IP地址转换为域名的过程,是通过查询PTR和CNAME记录来实现的。一个IP可以对应多个域名,属于一对多的关系;而从IP地址反向查找域名通常返回零个或一个主机名,属于一对一关系。反向DNS常见用途:

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

2. 网络故障诊断和跟踪
在网络管理和故障诊断过程中,知晓发起请求设备的域名信息是非常有用的。rDNS可以帮助网络管理员识别网络流量中的特定主机,理解流量来源,使其有效地诊断问题。

3. 实施安全策略和访问控制
一些网络服务和应用程序可能基于反向域名来实施安全策略或访问控制。通过rDNS,服务可以检查访问请求的IP地址背后的域名,以决定是否允许访问或应用特定的规则。如善意Bot的识别,通过校验请求头User-Agent以及IP的反向解析记录来确认该请求是否来自真实的SEO爬虫。

从反向DNS派生地理位置信息

在终端中执行 host 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记录存在地理位置信息?

在论文《 IP Geolocation through Reverse DNS》中,我们找到了比较合理的答案,文章提出一种从rDNS提取位置的机器学习方法,将该任务视为一个机器学习问题,对于给定的主机名,将其生成位置候选列表,然后使用二元分类器对每个主机名和候选位置对进行分类来确定哪些候选位置是合理的。最后根据置信度对剩余候选位置进行排名,并根据人口数量关联起来,此方法可以有效补充和改进当前主流IP Geo 商业数据库的准确性。

图1:IPv4地址空间rDNS分布情况

全网43亿IPv4地址空间中,约有25.68亿个公网IP,上图显示有12.5亿个IPv4地址具有有效的rDNS。在这12.5亿个IPv4中约有1.6亿包含了精确的城市匹配,有2.7亿包含了机场代码。也就是说所有有效反向DNS记录中大约只有12%包含了有用的地理位置信息,其覆盖范围并不足以单独形成完整的IP Geo数据库,但可助于丰富现有IP地理位置信息。此外论文对2014-2018年的rDNS变化情况做了分析,数据显示64.8%的rDNS解析记录保持不变,且反向DNS数量逐年缓慢增长。而事实也是如此,根据最新的rDNS数据,该数字已经增长至12.86亿左右。

图2:2014-2018 rDNS主机名的变化情况

像 MaxMind、Neustar IP Intelligence 和 IP2Location 等公司提供的商业IP地理位置数据库,都是结合了多种信息源以及算法来完成,包括WHOIS信息、网络延迟信息、网络拓扑信息以及与直接运营商合作甚至是分析网络社交图谱等手段来达到较高的覆盖率,但依旧会出现缺少某些IP范围的位置信息。借用网络拓扑和延迟信息有诸多局限性:(1)需要有遍布全球的测绘节点资源;(2)并不是每个公网IP都允许ICMP Ping或者公开其网络拓扑;(3)通过traceroute等得到的路由距离没法完全映射成现实地理距离。但借助rDNS进行地理定位可摆脱上述限制。

从反向DNS派生IP连接类型

某些rDNS解析记录中可以发现一些包含连接类型的 信息:

ADSL: 194.245.146.50: 194-245-146-50.adsl.nrw.net.
DSL: 201.248.37.20: 201-248-37-20.dyn.dsl.cantv.net.
BROADBAND: 95.25.2.183: http://95-25-2-183.broadband.corbina.ru
CATV: 188.156.235.137: BC9CEB89.catv.pool.telekom.hu.
DYNAMIC: 14.3.6.51: http://ae006051.dynamic.ppp.asahi-net.or.jp

那么rDNS信息可以作为挖掘IP使用场景(家庭住宅、企业专线、数据中心等)的一种方式,对于安全产品来讲通常会对不同的IP类型采取不同的严格程度的防护策略,例如对动态住宅IP采取较为谨慎保守的防护措施,因为绝大部分真人访问的终端IP都属于动态IP且多人共用,容易造成误杀;而对于企业专线类IP决策成本则没有那么高。

动态IP是由多个网络供应商分配在IP池里面的,因此如果单纯从whois信息以及其他信息很难直接确认某个IP是否为动态IP,而通过rDNS某些关键字信息则可以对此做一些判断,用简单的例子证明,在RDNS数据库中查询ptr包含 dynamic关键字的IP,有5800万+的IP能够被直接匹配到。

结合一些其他第三方威胁情报数据可初步证明此猜想。

当然,实际动态IP数量远比这个多,笔者这边只是抛砖引玉,同样地,由于不是每个IP都存在rDNS记录,因此同第二章节反向DNS记录可以补充丰富IP的连接类型,但仅靠rDNS不足以构成一个完整的数据库。

利用ZDNS来完成IPv4反向DNS解析

论文《ZDNS: A Fast DNS Toolkit for Internet Measurement》中介绍了一种高性能可扩展的DNS探测框架,包括三个主要组件:DNS库、核心框架和可组合模块。DNS库实现了自己的缓存递归解析器库,提供递归查询、缓存、验证、交换数据包的传输记录以及简化DNS解析。核心框架用于简化命令行交互,而可组合模块则用于方便地扩展功能。ZDNS的实现遵循以下几个设计原则:

• 内部递归:ZDNS支持递归解析以便了解DNS操作的各个特征。这是因为公共递归解析器通常隐藏了许多DNS解析特征,而且经常对查询进行频率限制。因此需要支持内部自行递归解析。

• 安全性:DNS协议定义了许多RFC标准,并且在2022年有超过65种DNS记录类型。因为服务器经常配置错误或恶意操作而返回格式错误的响应,所以ZDNS使用内存安全的编程语言,并支持模块化接口。

• 高性能:使用外部递归解析器时每秒执行9万次解析,10分钟内扫描5000万个域名,12小时内解析整个IPv4地址空间的PTR记录。

下图是ZDNS解析性能数据:

如果只看PTR记录的数据表现情况,使用 Goole 的DNS公共解析仅用了12.1h完成整个IPv4空间地址的解析并且达到了93.0%成功率,使用内部的递归解析则花费了116.7h,但同时也保持了88.5%的成功率,使用内部递归解析性能下降很大的一部分原因是无法利用公共解析的缓存来加速查询,另一部分原因是内部递归机制要查询到一定数量才能返回响应。对比A记录与PTR记录,当解析次数从5000万次到数十亿,ZDNS的成功率下降不到5%。

结束语

反向DNS(rDNS)技术作为网络管理和安全领域中的重要工具,为丰富IP地址信息、识别地理位置和连接类型提供了有力的支持。通过本文的介绍,我们对rDNS的基本概念和其在丰富IP信息方面的应用有了更深入的了解。

在从rDNS派生地理位置信息方面,我们可以利用rDNS记录中的域名和地理位置数据库进行关联,从而推断IP地址的地理位置信息,为地理定位和位置感知服务提供数据支持。这对于网络定位服务、内容分发网络优化等方面具有重要意义。另一方面,通过rDNS派生IP连接类型,我们可以基于rDNS记录的域名和服务类型,对IP地址所对应的应用和服务进行分类和识别。这有助于网络安全和流量管理,提高了对网络活动的可视化和理解能力。利用ZDNS等工具完成IPv4反向DNS解析,可以快速、高效地进行大规模的rDNS查询,为网络管理和安全分析提供了便利。这种工具的应用为实际的网络信息收集和分析工作提供了技术支持,有助于实现网络资源的合理利用和网络安全的加强。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/558501.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

wps屏幕录制怎么用?分享使用方法!

数字化时代,屏幕录制已成为我们学习、工作和娱乐中不可或缺的一部分。无论是制作教学视频、分享游戏过程,还是录制网络会议,屏幕录制都能帮助我们轻松实现。WPS作为一款功能强大的办公软件,其屏幕录制功能也备受用户青睐。本文将详…

创新指南|利用 AI 工具转变您的内容策略

内容策略涉及规划、创建和管理内容。无论您是在策划博客文章、社交媒体更新还是网站内容,精心制定的内容策略是营销活动成功的关键。然而,如果没有合适的工具,维持强大的内容策略可能会具有挑战性。这就是人工智能(AI) 工具发挥作用的地方&am…

Python 将PowerPoint (PPT/PPTX) 转为HTML格式

PPT是传递信息、进行汇报和推广产品的重要工具。然而,有时我们需要将这些精心设计的PPT演示文稿发布到网络上,以便于更广泛的访问和分享。本文将介绍如何使用Python将PowerPoint文档转换为网页友好的HTML格式。包含两个示例: 目录 Python 将…

聚观早报 | 华为Pura70系列先锋计划;月之暗面升级Kimi

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 4月19日消息 华为Pura70系列先锋计划 月之暗面升级Kimi OPPO Find X7将推白色版本 波士顿动力推出人形机器人 v…

liqo学习及安装,k8s,kubernetes多集群互联

先按照官方的教程在虚拟机安装学习 在开始以下教程之前,您应该确保您的系统上安装了以下软件: Docker,容器运行时。Kubectl,Kubernetes 的命令行工具。 curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.…

使用Docker部署开源建站工具—Halo,并实现个人博客公网访问

目录 推荐 前言 1. Docker部署Halo 1.1 检查Docker版本 如果未安装Docker可参考: 已安装Docker步骤: 1.2 在Docker中部署Halo 2. Linux安装Cpolar 2.1 打开服务器防火墙 2.2 安装cpolar内网穿透 3. 配置Halo个人博客公网地址 4. 固定Halo公网…

前端CSS中“:hover”伪类选择器的使用

前端CSS中“:hover”伪类选择器的使用 一、前言二、改变链接的属性1.源码12.源码1运行效果 三、改变图片的属性1.源码22.源码2运行效果 四、改变卡片的属性1.源码32.源码3运行效果 五、结语六、定位日期 一、前言 在css中的:hover(悬停)伪类…

有交互作用的正交实验设计及数据分析

文章目录 一、认识有交互作用的正交试验1.1 交互作用1.2 问题假设1.3表头设计 参考“十二五”普通高等教育本科规划教材《实验设计与数据处理》 一、认识有交互作用的正交试验 1.1 交互作用 交互作用在实验设计中是指两个或多个因素在一起作用时对实验结果产生的影响&#xf…

OpenHarmony鸿蒙南向开发案例:【智能燃气检测设备】

样例简介 本文档介绍了安全厨房案例中的相关智能燃气检测设备,本安全厨房案例利用轻量级软总线能力,将两块欧智通V200Z-R/BES2600开发板模拟的智能燃气检测设备和燃气告警设备组合成。当燃气数值告警时,无需其它操作,直接通知软总…

如何用 AI 工具做数据分析与可视化?

(注:本文为小报童精选文章。已订阅小报童或加入知识星球「玉树芝兰」用户请勿重复付费) 万字长文,助力你用 AI 提升科研效率。 2024 年 4 月 14 日,应武汉大学信息管理学院的邀请,我和北京大学步一老师给几…

STM32学习和实践笔记(17):STM32外部中断(EXTI)的整体介绍

1.外部中断介绍 1.1 EXTI简介 STM32F10x外部中断/事件控制器(EXTI)包含多达 20 个用于产生事件/中断请求的边沿检测器。(事件与中断的区别,可参看STM32---中断与事件的区别_中断和事件的区别-CSDN博客) 具体有哪些&a…

Android JetPack Compose+Room----实现搜索记录功能

文章目录 需求概述功能展示实现搜索功能使用的技术1.Android Jetpack room2.Android JetPack Compose 代码实现编写搜索界面接入Room实现搜索功能的管理引入依赖定义包结构定义操作表的Dao类定义数据库的基础配置定义数据库的Dao管理类使用数据库升级 源码地址 需求概述 搜索功…

人工智能论文GPT-3(2):2020.5 Language Models are Few-Shot Learners;微调;少样本Few-Shot (FS)

2 方法Approach 我们的基本预训练方法,包括模型、数据和训练,与GPT-2中描述的过程相似,只是模型规模、数据集规模和多样性,以及训练时长有所扩大,相对简单直接。 我们使用的上下文学习也与GPT-2相似,但在…

CentOS 7静默安装Oracle 11g(记一次最小化CentOS 7安装Oracle 11g的经历)

# [pdf在线免费转word文档](https://orcc.online/pdf) https://orcc.online/pdf 1.最小化安装CentOS 7后首先设置一下固定IP 可以先查询一下自己的网卡设备的名称,是ens33,所以网卡配置文件名称就是ifcfg-ens33(前面的ifcfg-不用管&#xf…

【开源】使用Python+Flask+Mysql快速开发一个用户增删改查系统

项目演示 项目本身很简单,增删改查是几乎所有系统的骨架。正所谓万丈高楼平地起,学会了增删改查,航母就指日可待了:),光速入门,直接看演示图: 项目地址 https://github.com/mudf…

【Golang】Gin教学-获取请求信息并返回

安装Gin初始化Gin处理所有HTTP请求获取请求的URL和Method获取请求参数根据Content-Type判断请求数据类型处理JSON数据处理表单数据处理文件返回JSON响应启动服务完整代码测试 Gin是一个用Go(又称Golang)编写的HTTP Web框架,它具有高性能和简洁…

npx\pnpm 镜像过期解决方法

. // 1. 清空缓存 npm cache clean --force // 2. 关闭SSL验证 npm config set strict-ssl false // 3. 安装 到这里就可以正常使用npm命令安装需要的工具了。如( npm install -g cnpm )

华为机考入门python3--(17)牛客17- 坐标移动

分类:字符串 知识点: 正则匹配 re.match(pattern, move) 格式字符串,可以在字符串中直接引用变量 f"{x},{y}" 题目来自【牛客】 import re def is_valid_coordinate(move): # 使用正则表达式验证移动是否合法 # ^: …

面试: Hashtable vs ConcurrentHashMap

一、Hashtable和ConcurrentHashMap的不同和相同点 Hashtable 与 ConcurrentHashMap 都是线程安全的Map 集合。Hashtable 并发度低,整个Hashtable对应一把锁,同一时刻,只能有一个线程操作它。1.8之前ConcurrentHashMap使用了Segment 数组&…

缓存的使用及常见问题的解决方案

用户通过浏览器向我们发送请求,这个时候浏览器就会建立一个缓存,主要缓存一些静态资源(js、css、图片),这样做可以降低之后访问的网络延迟。然后我们可以在Tomcat里面添加一些应用缓存,将一些从数据库查询到…
最新文章