"nsrecords"の代わりにドメインの実際のネームサーバーを表示する方法

ドメインにはネームサーバーとnsレコードがあります。そうではありませんが、理論的には異なる場合があります。ドメインのnsレコードを表示する方法はいくつかあります。

破棄:

➜  ~  dig +short NS stackoverflow.com
cf-dns01.stackoverflow.com.
cf-dns02.stackoverflow.com.

ns検索:

➜  ~  nslookup -type=any stackoverflow.com
Server:     195.186.1.111
Address:    195.186.1.111#53

Non-authoritative answer:
stackoverflow.com   nameserver = cf-dns01.stackoverflow.com.
stackoverflow.com   nameserver = cf-dns02.stackoverflow.com.

どちらのコマンドもドメインの ns レコードを提供します。 whoisを使用すると、実際のネームサーバーを表示できます(この場合は同じネームサーバー)。しかし、ほとんどのwhois出力はほとんどすべてのトップレベルドメインに対して異なるフォーマットを持つため、whoisで解析することは困難です。

whoisを実行せずにドメインのネームサーバー(nsrecordsの代わりに)を表示する方法はありますか?

ベストアンサー1

レジストラにリストされているネームサーバーを表示するには、ルートサーバーを介してDNSシステムからネームサーバーをインポートできます。

たとえば、

 dig @a.gtld-servers.net ns stackoverflow.com

; <<>> DiG 9.10.2-P4 <<>> @a.gtld-servers.net ns stackoverflow.com
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55658
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 3
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;stackoverflow.com.     IN  NS

;; AUTHORITY SECTION:
stackoverflow.com.  172800  IN  NS  cf-dns02.stackoverflow.com.
stackoverflow.com.  172800  IN  NS  cf-dns01.stackoverflow.com.

;; ADDITIONAL SECTION:
cf-dns02.stackoverflow.com. 172800 IN   A   173.245.59.4
cf-dns01.stackoverflow.com. 172800 IN   A   173.245.58.53

;; Query time: 65 msec
;; SERVER: 192.5.6.30#53(192.5.6.30)
;; WHEN: Mon Sep 21 15:53:29 GMT 2015
;; MSG SIZE  rcvd: 124

登録機関アカウントにリストされているネームサーバーを変更すると、そのサーバーはルート/ gtldサーバーに反映されます。ネームサーバーが提供するDNSゾーンを変更しても、ルートサーバーが返す結果には影響しません。また、ルートサーバーが返す唯一のレコードは、リストされたNSレコードに対して登録者によって定義されたNSおよびA / AAAです。これは、単にクエリを送信したいドメインへの信頼できる(登録機関に応じて)ネームサーバーを見つけるためのポインタです。

おすすめ記事