查找域下的每个 DNS 记录

查找域下的每个 DNS 记录

有没有办法在不访问区域文件的情况下查询该信息?

例如,我想要与 相关的所有 A、CNAME、MX 和 TXT 记录example.com

答案1

根据设计,实现这一点的唯一方法是通过区域传输,最佳实践已经表明,很长一段时间以来,只应允许某些需要具有此类访问权限的特定 IP 地址进行此​​类传输。

但是,如果域的 DNS 服务器允许,您可以从命令行实用程序中获取输出。具体来说,nslookup您可以输入ls来启动一个,并且根据您使用的确切 nslookup,有 LS 选项。也可以使用 Dig dig @ns1.example.com example.com axfr,。

正如我所提到的,这需要相关名称服务器允许区域传输。这是一种违背最佳实践的配置,因此目前它的实用性可能非常小。

答案2

正如系统管理员所说,只有当您被允许进行区域传输时,这实际上意味着只有当它是您自己的 DNS 服务器时才可以。您很难在 Internet 上找到任何允许这样做的 DNS 服务器。

如果原因是您需要所有 DNS 记录,并且您没有托管自己的 DNS,那么您可以直接致电您的 ISP 并索取完整列表。

如果这不是您的域名,而您只是四处探索,那么您就很不走运了。

答案3

其他人则表示,授权数据库复制(无论是采用“区域传输”机制还是其他复制机制)是获取此信息的唯一方法,因此答案是“否”。 (假设“无法访问区域文件”意味着“我不会采取直接的方式,只需要求拥有数据库的人将其副本发送给我。”)。

事实上,答案是“是的”(前提是,人们只想获取 DNS 数据库架构所包含的信息子集,而不是数据库记录标签、服务器端别名和宏之类的内容)。人们可以NXT//记录NSECNSEC3获取子域名列表,然后发送普通查询以获取这些名称的实际资源记录集。

相关内容