通过NS服务器收集域名
其技术原理是向dns发送一个解析请求,看是否有返回ns信息,如果有的话将会使用该ns信息与历史沉淀下的dns数据信息进行交叉对比,最后返回一个n个不同的域名使用同一个ns服务器的列表。
这种域名收集方式比较适合有自建DNS服务器且有大量一级域名的大型企业。比如,BAT。
利用手段
以百度为例
首先通过nslookup,查询到一些已知域名的NS服务器。
1 | nslookup |
通过已知的一些一级域名,查询出该公司在使用的一些ns服务器。



当然也要注意有些一级域名可以并不是用的自己的NS服务器,还需要进一步判断


然后整理收集到的NS服务器
1 | dns.baidu.com |
然后利用ns服务器历史解析记录的调用接口一一查询
查找ns服务器的免费接口调用地址:
https://api.hackertarget.com/findshareddns/?q=ns1.dnsserver.com

然后,整理,去重,验证是否真的是该公司资产。
最后
- 越大型的互联网公司,效果越好
- 大部分ns服务器都有命名规律,如
ns1,ns2…… - 有时候公司虽然有自己的dns服务器,但是仍然会使用一些服务器厂商的dns
- 存在并不是该公司的资产,但仍然解析到该公司dsn服务器的情况。(数量不多)
- 因为存在上面两种情况,所以写自动化脚本递归查询时需要增加验证。