Domain Scanning Tool–一个基于SOA记录的域名注册扫描工具
Domain Scanning Tool–一个基于SOA记录的域名注册扫描工具
作者博客:https://dyn.im/2020/07/06/Domain-Scanning-Tool/
Github:https://github.com/dynos01/DomainScanningTool
使用:
git clone https://github.com/dynos01/DomainScanningToolcd DomainScanningToolpython DomainScanningTool.py
介绍:
工具原理非常简单:RFC 1035 规定每个域名都需要有一个 SOA 记录,即注册过的域名都将会包含一个 SOA 记录,哪怕这个域名连 A 记录也没有。也就是说,要判断一个域名是否存在,只需要判断是否有 SOA 记录。
这样一来,基于 WHOIS 的查询的诸多缺陷就被规避了,其中包括:
- 部分域名不开放 WHOIS 查询;
- 部分域名的 WHOIS 查询限制严格;
- 许多国别域名查询速度非常慢;
- 需要维护专门的 WHOIS 列表。
在编写的过程中,曾经考虑了两种判断记录是否存在的方法:
- 通过 DNS 响应的
ANCOUNT
字段,即响应包含的回答数量; - 通过 DNS 响应的
RCODE
字段,即响应状态。
在实际操作中发现,许多域名在部分 DNS 服务器下会报 SERVFAIL
(该问题主要存在于8.8.8.8),且原因暂不明确。然而根据 RFC 2929,RCODE
字段包含的信息较为丰富:0为正常,2为错误,3为域名不存在。于是,通过 RCODE
来判断更具有普适性。这也是最终采取的方案。
考虑到要构造的 DNS 请求非常简单,为了减少第三方依赖,知识兔使用了 Python 内建的库硬编码了大部分请求字段,仅有域名和 ID 变动。
下载仅供下载体验和测试学习,不得商用和正当使用。
[ppwp passwords=”zhishitu.cn”]
下载体验
应版权要求,禁止分享,敬请谅解,有问题务必找客服哈。
有问题找客服哈,并领取学习福利!
[/ppwp]