如何在附加到一个 IP 的 DNS 中查找所有主机名?

war*_*ren 25 domain-name-system domain virtualhost nslookup

如果我在一台机器上配置了多个主机(一个 la apache 的 VirtualHosts),我如何查找 IP 并找到所有配置为访问它的域?

例如,我有几个 Web 和电子邮件域连接到我的服务器。如何找到指向它的所有域?

甚至有可能吗?

我有我拥有的所有域的 DNS A 条目,而且我知道一些朋友的域指向我的服务器。我想看到的是,我认识的人是否指向那里。(或者,如果有人将他们的域重新指向其他地方,我可以从我的服务器中删除他们的“旧”网站。)

小智 32

不是真的,不是。这就是正向和反向 DNS 查找之间的区别。

正向查找是标准名称->IP 查找。所以,你必须提前知道所有的名字。

您想要的是进行 IP-> 名称查找,但以某种方式将您在 Apache 配置和 DNS 中应用的所有名称作为 A 记录(或 CNAMES 或其他)获取。

您可能会发现,执行反向查找(例如 dig @nameserver $ip -x)将返回拥有该网络块的人(可能是您的 ISP)赋予该 IP 的主机名。它的名称可能类似于 45-23-45-231.big-isp.com,这对您来说意义不大。至关重要的是,只有一个反向记录,但可能有许多正向记录。

我想它归结为一个问题 - 反向区域如何知道正向区域中的任何记录?在大多数设置中,客户可以使用正向区域进行更改,但反向区域由网络块的所有者维护。这两个系统不需要了解彼此的任何信息即可运行。

  • 对我来说听起来不错。 (2认同)

Aln*_*tak 13

使用 DNS 协议本身无法做到这一点,因为通常PTR每个 IP 地址只有一个记录,即使可能有许多A记录指向该 IP 地址。

然而,一些公司(例如http://www.ip-adress.com/)通过存储一整套 DNS 查找的结果,然后将反向查询提供给他们自己的公司,设法编译了包含您想要的内容的数据库数据库。

但是,这些数据库不能确定,它们不能保证知道可能碰巧指向该 IP 的每个可能的域——它们只能记录它们实际查找的域名的 DNS 详细信息。

  • 奇怪 - 没有理由像这样的服务甚至应该关心站点所在的 TLD。也就是说,正如我提到的,数据库只知道人们询问的网站 - 我想没有足够的人关心 .com.au 域;-) (2认同)