给定一个主机名,如何在不直接访问 DNS 文件的情况下找到其所有别名(即 CNAME 记录)?

给定一个主机名,如何在不直接访问 DNS 文件的情况下找到其所有别名(即 CNAME 记录)?

可能重复:
查询 DNS 以获取服务器的 CNAME

我有一个有趣的问题,给定一个 FQDN,如何在没有 DNS 文件访问权限或无法列出域(区域)的情况下找到其所有别名?

该问题仅限于单个域内的所有别名。

答案1

据我所知,您不能 - 没有可靠的方法可以知道有多少 CNAME 指向给定的主机名。DNS 没有像文件系统那样的链接/引用计数。

将问题限制到单个域使其更加合理,但在您在问题中提供的限制内仍然不可能:

  • 如果您可以执行AXFR域(dig -t AXFR domain.com),您将获得所有记录的转储,并且您可以解析它们。
  • 或者,如果您有权访问区域文件,则可以检查它。

如果上述两种方法都不可行,或者您没有将自己限制在单个领域,那么这个问题实际上是无法解决的——这就像问今天世界上有多少人使用了“wombat”这个词。

答案2

如果没有该区域的副本,您将无法找到此信息。

您可以做的最接近的事情就是仅捕获日志中或数据包捕获中的数据(如果名称包含在协议中)(即基于 http 名称的托管)。

相关内容