私は、どの親ネームサーバーがドメイン名に関連付けられているかを検出する方法を見つけようとしてきました。たとえば、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を使用してこれをクエリするにはどうすればよいですか?
アップデート
nslookup
UNIXのツールがサーバーパラメータを受け入れることがわかりました。空のままにすると、PHPと同じ結果が返されますが、 http://www.iana.org/domains/root/dbdns_get_record
で指定されているトップレベルドメインのルートサーバーの1つである場合は、親サーバーの結果と同じintoDNSリストの結果。
残っている唯一の問題は、この特定のサーバーにクエリを実行する方法です。直接exec()
呼び出すために使用したくないためです。サーバーを指定できるnslookup
代替手段を知っている人はいますか?dns_get_record