ドメインにはネームサーバーと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です。これは、単にクエリを送信したいドメインへの信頼できる(登録機関に応じて)ネームサーバーを見つけるためのポインタです。
答え2
命令はわかりませんが、職場で使用しています。 .bashrcの機能です。
namesvrs() { whois $1|grep -i "^Name Server"; }
これを.bashrに追加した後に新しい端末を開くと、次のことができます。
$ namervrs stackoverflow.comネームサーバー:cf-dns02.stackoverflow.com。ネームサーバー:cf-dns01.stackoverflow.com。
状況はさまざまであり、一部の小規模登録機関に登録されているドメイン名を見ている場合は、正規表現を参照できます。
答え3
あなたの質問は少し奇妙です。または、少なくとも奇妙な用語を使用してください。
DNSのドメインには、NSレコードを介して指定されたネームサーバーがあります。 DNSに関する限り、NSレコードの内容は真実、つまり完全な真実であり、真実だけです。 NSレコードの内容は次のとおりです。定義によるとドメインのネームサーバー。他には「より良い」真実はありません。
あなたの質問で言及した「ネームサーバー」は、ドメイン登録機関のデータベースにあるものと似ています。この情報は DNS の外部に存在します。 DNSでエントリを見つけるという観点からは、このデータはまったく関係ありません(NSレコードを生成するために使用できることを除く)。このデータは各登録機関の内部にあるため、そのデータにアクセスする方法のグローバル標準はありません。このデータが欲しいのはなぜですか?一種の統計プロジェクト?