![有没有办法无需联系域名主机就可以获取域名的完整区域文件?](https://linux22.com/image/1212668/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E6%97%A0%E9%9C%80%E8%81%94%E7%B3%BB%E5%9F%9F%E5%90%8D%E4%B8%BB%E6%9C%BA%E5%B0%B1%E5%8F%AF%E4%BB%A5%E8%8E%B7%E5%8F%96%E5%9F%9F%E5%90%8D%E7%9A%84%E5%AE%8C%E6%95%B4%E5%8C%BA%E5%9F%9F%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我知道由于滥用,这种情况可能(不再)可能发生,但我还是想检查一下。有没有办法让我自己获取域名的公司区域文件,而不必联系托管该域名 DNS 的人?
有没有办法获取域名的完整区域文件,而无需从托管该特定域名的 DNS 的公司获取?
答案1
您可以尝试启动区域传输。
不过你说得对,如今任何配置合理的 DNS 服务器都不应该允许这种情况发生。这不仅是因为作为区域管理员,你不想暴露内部信息,还因为 AXFR 响应比查询大得多,因此它们被证明是进行 DoS 反射攻击的绝佳方式,因为小于 100 字节的可伪造 UDP 包可以让服务器向互联网上的任何机器发送多 KB 的响应。
如果你还想尝试:
在该nslookup
实用程序中,您可以使用它ls [name of domain]
来获取区域信息。
如果你更喜欢 dig,那么你可以使用
dig @dns.example.com example.com -t AXFR
但正如我所说,它可能不适合你。
答案2
我不确定这是否正是您要找的内容,但是 Network-Tools.com 解决了我想要查看给定名称服务器上的区域文件中的所有 DNS 记录的问题:
答案3
由于您通常的 DNS 查询是非通配符的,因此您唯一的选择是:
- 礼貌地询问整个列表(又名区域转移或致电管理员 - 即您想要避免的)
- 满足于不完整的清单
入侵服务器并获取配置文件通常不是一种选择,窃听到辅助/备份服务器的区域传输也不是一种选择。除此之外,没有任何实例知道所有可能的子域。
获取不完整列表的选项:
- 发送随机查询(又称暴力破解,虽然你不会走得太远 - 但也许一些字典式的猜测可能会对你有所帮助)
- 询问谷歌,使用“site:example.com”过滤器
- 使用您自己的爬虫来跟踪链接,希望您可能感兴趣的所有子域名都以某种方式链接。不过,您可能会错过 smtp.example.com。
还请记住,某些区域文件本身确实有通配符,因此 *.example.com 可能会为您提供配置为以不同方式处理 web1.example.com、sales.example.com 等的 Web 调度程序的地址。这适用于所有使用主机名的协议,不仅在 IP 级别,而且在应用程序数据流中。(例如,基于名称的 http 虚拟主机)
答案4
我知道这是一个过时的问题,但是在偶然发现这个问题/答案后,我找到了以下网站来获取此信息: UltraTools 区域文件转储
在我的测试中,它能够为我提供我所需的信息。