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,这对您来说意义不大。至关重要的是,只有一个反向记录,但可能有许多正向记录。
我想它归结为一个问题 - 反向区域如何知道正向区域中的任何记录?在大多数设置中,客户可以使用正向区域进行更改,但反向区域由网络块的所有者维护。这两个系统不需要了解彼此的任何信息即可运行。
Aln*_*tak 13
使用 DNS 协议本身无法做到这一点,因为通常PTR每个 IP 地址只有一个记录,即使可能有许多A记录指向该 IP 地址。
然而,一些公司(例如http://www.ip-adress.com/)通过存储一整套 DNS 查找的结果,然后将反向查询提供给他们自己的公司,设法编译了包含您想要的内容的数据库数据库。
但是,这些数据库不能确定,它们不能保证知道可能碰巧指向该 IP 的每个可能的域——它们只能记录它们实际查找的域名的 DNS 详细信息。