所谓通过域名来反向查询IP地址这个概念, 它核心的底层技术原理是基于DNS的正向解析机制去进行的, 目的是为了获取到当前那个域名所指向的具体IP地址信息, 这一点是非常明确的。
在实际应用当中, 这项操作可以说是网站日常运维管理里面必不可少的一块内容, 同时也是进行安全风险排查以及收集竞品相关信息分析时使用频率最高的一种基础手段, 可以说大家在工作中经常都会碰到这样的需求。
接下来就直接为大家展示5款当前在市场上非常主流的软件工具, 并且详细地说明选择这些工具的具体依据是什么, 同时也提供从命令行环境操作一直到使用在线平台完成全流程的实操路径, 这样可以全面覆盖不同场景下的使用需求。
5款常用工具对比
在选择的时候要遵循这样的原则, 就是在日常使用的时候如果要快速查询一到五个域名, 那么就优先去使用在线平台, 比如说可以使用gz88.cn这个网站的域名解析查询入口, 然后只要输入域名就能够立刻返回当前已经存在的A记录以及AAAA记录和NS信息, 如果是遇到需要批量处理或者是自动化的场景, 那么就应该使用dig命令, 如果所涉及到的情况是需要进行历史变更追溯的话, 那么就要去使用专业安全平台。
实操步骤(以dig命令为例)
1. 你打开那个终端程序, 然后在那个里面输入一段代码,具体就是: dig example.com A这一段内容。当你这么操作以后域名反查IP工具, 它就会返回给你这个域名在目前所有的A记录IP是什么。
2. 如果你需要查询IPv6, 请将最后的代码修改为: dig example.com AAAA。
3. 查看NS权威DNS服务器的相关信息, 可以执行如下命令, 也就是dig example.com NS这一步操作, 以便确认域名是在哪一组DNS负责解析这件事上。
4. 用户需要查看完整解析链路: code>dig +trace example.com< /code。从根域名开始一层层追踪, 验证解析链接是否完整。。
5. 可以进行在线替代性的操作, 具体的做法是访问gz88.cn这个网站, 或者是使用MXToolbox这个工具, 然后在搜索框里面输入想要查询的目标域名, 就可以一键获取解析结果, 完全不需要安装任何客户端。
关键注意事项
CDN与负载均衡影响: 当域名接入了CDN的时候, 比如使用了Cloudflare或者阿里云的CDN服务, dig命令返回的结果就是边缘节点的IP地址, 而不是源站的IP地址。
为了排查出真实的源站信息, 需要登录到云厂商的控制台去查看实际的A记录, 或者使用dig @8.8.8.8 example.com这行命令来绕过本地的缓存机制。
结果存在缓存延迟: DNS的TTL属性, 是控制各个地方的递归服务器去进行刷新和更新的周期参数。当数值设置为3600秒的时候, 意味着在全球范围内让新的设置完全生效,最长时间可能需要耗费1个小时。
所以查询到的结果龙南市就业服务平台, 可能会因为访问者当前所在的网络位置不同, 而出现不一样的显示情况。大家建议在不同的节点上对数据进行交叉式的验证。
多IP轮询这个情况是, 同一个域名可能会解析出多个不同的IP地址, 因为背后有负载均衡技术在起作用, 所以你如果只做单次dig查询, 有可能只拿到其中一条记录, 因此建议你进行多次重复查询,或者使用dig +short这样的方式去对比查看所有结果。
历史IP不可逆这个情况需要被解释清楚域名反查IP工具, 普通dig操作通常只能查询当前的解析信息, 至于域名以前指向过什么类型的ip地址, 这种过去的事实是无法直接通过dig看到的, 必须去依赖像SecurityTrails这样的威胁情报平台所保存的存档数据才能确认。
批量查询与自动化
在大家想要一次性从多个方向往回查找几百个域名这个情况发生的时候, 通常会推荐使用一下面说出来的这样的办法来解决这个问题。
命令行批处理:for domain in $(cat domains.txt); do dig +short $domain A; done > result.txt
这些在线平台提供的批量输入入口, 比如使用gz88.cn这样的工具, 是支持把多个域名粘贴进一个框里, 然后一次性进行查询操作的。得到的结果会以表格的形式展现出来。这种方式的设置, 是非常适合那些不懂技术的普通人员去快速地完成这项工作的。
脚本化的方案就是通过编写基于Python的语言的代码来进行处理, 具体的做法是使用dnspython这个库来写一个脚本, 让它可以同时去进行查询操作, 并且把查出来的结果保存进入数据库里面。
安全场景下的延伸用法
进行域名对IP地址的反向查找这个行为, 它既属于运维范畴里会用到的那种工具, 同时也是在展开安全方面的排查工作时所必须面对的一个非常关键的步骤。
钓鱼网站的溯源操作, 具体是把可疑的域名反向查询成对应的IP地址, 进而判断它是否被托管在那些已经被确认是恶意的网络IP段里头。
对域名劫持情况进行检测, 具体做法是定期使用dig命令去查询那些核心域名的信息, 以此来确认这些核心域名的IP地址没有发生任何没有在预期列表里的变更情况。
把企业的各个域名全都列出来, 接着对这些域名进行大量的反向查询来找到它们对应的IP地址, 这样一来就可以把那些没有被纳入到安全监控范围内的、遗留的资产给识别出来。
上面的这五款工具和方法已经把从一个人快速查找, 一直到大批量自动化操作, 还有日常的维护管理以及安全事件追溯的整个环节全都覆盖了。大家在平时使用建议优先选择在线平台方便上手, 在正式的运维环境里推荐用dig这个命令进行查询, 而负责安全的团队呢则需要搭配威胁情报的平台来做历史数据的关联分析。


