我一直在尝试找出如何检测与域名相关联的父名称服务器。例如,当您使用intoDNS搜索域名时,它会显示“普通”和父名称服务器的结果。他们提到了父名称服务器是什么,如下所示:
k.gtld-servers.net很友好地向我们提供了这些信息。
但是他们怎么知道他们必须查询这个特定的名称服务器?父名称服务器的一些示例:
stackoverflow.com k.gtld-servers.net
google.com c.gtld-servers.net
ycombinator.com a.gtld-servers.net
asp.net g.gtld-servers.net
google.nl sns-pb.isc.org
google.de z.nic.de
似乎所有通用 TLD都可以在gtld-servers.net
.
现在,我在 PHP 中找到了这样的“普通”名称服务器:
$nameservers = dns_get_record($domain_name, DNS_NS);
所以,我想知道,如何找出特定域的父名称服务器是什么,以及如何使用 PHP 进行查询?
更新
我发现 UNIX 的nslookup
工具接受服务器参数。如果它留空,则返回与 PHPs 相同的结果,但如果它是http://www.iana.org/domains/root/dbdns_get_record
上指定的顶级域的根服务器之一,它将返回与 intoDNS 列表相同的结果作为父服务器的结果。
剩下的唯一问题是如何查询这个特定的服务器,因为我非常不喜欢直接exec()
调用nslookup
。有谁知道dns_get_record
允许您指定服务器的替代方法?