a.gtld-servers.netにはすべての.comドメインのリストがありますか?


14

するとdig @a.gtld-servers.net example.com、ネームサーバーexample.comとそれらのネームサーバーのIPアドレス(グルーレコード)がすぐに返されます。

それはどういう意味a.gtld-servers.net(と*.gtld-servers.net)すべてのレコードを持っている.comローカルドメインを?彼らは非常に迅速に応答するので、彼ら自身がさらにクエリを行っているとは思わない。同様に、example.comのネームサーバーへのリクエストは私にdomains.starting.with.e.gtld-servers.net何もリダイレクトしません 。

a.gtld-servers.netはおそらくいくつかのマシンであり、私は最も近いマシンにルーティングされていることを理解しています(その新しいone-ip-multiple-machineテクノロジーを通じて)が、これは単に他のいくつかのマシンがすべての.comドメインを持っていることを意味します。

編集:答えてくれたみんなに感謝します!追加の質問:誰かがこれらのマシンの1つに「ハッキング」した場合、すべての.comドメインのリストを取得できませんでしたか?すでに無料で入手できる場合を除き、これは有用な情報のように思えますか?ドメイン情報は公開されていますが、一括して取得することはまだ困難です。*.gtld-servers.netゾーン転送をサポートしていないと思います(ただし.edu、少なくとも数年前はのネームサーバーがサポートしていました)。

注:example.comは実際のドメインではないことを認識しています。上記の他の.comドメインに置き換えるだけです(元々はxyz.comでしたが、実際のドメイン名を使用しないように誰かが正しく編集しました)。


フォローアップの質問:はい、彼らはリストを入手することができ、ほとんどのトップレベルドメインでは、そのようなリストは公開されておらず、名前ごとにクエリすることは「のみ」許可されています。ルートゾーンやスウェーデンのゾーンなど、一部のゾーンはまだ公開されています(現在)。
ウラジミールČunát17年

1
@VladimírČunátすべてのgTLDについては、ゾーンファイルは公開されています。czds.icann.org / enを参照してくださいこれはICANN契約ごとです。ccTLDについてはさまざまですが、ほとんどがこのリストを提供していません。
パトリックメヴゼク

@PatrickMevzekいいね、もっとも興味深いgTLDは明らかにない(com、org、...)。
ウラジミールČunát18年

@VladimírČunátは、gTLDレジストリに連絡する必要があります。ICANN契約でゾーンファイルへのアクセスを許可する必要があるため、別のプロセスが必要になります。
パトリックメヴゼク

回答:


18

はい、「x.gtld-servers.net」は「com」トップレベルドメインの権限のあるサーバーであるため、.comドメインのすべての「ポインター」があります。TLDのネームサーバーを表示するには、次を実行します

dig -t ns com
dig -t ns us
dig -t ns dk
dig -t ns aero

単一ラベル名の場合、末尾の.- com.us.-を含めて、デフォルトのドメイン名が追加されないようにするのが最善です。(たとえば、comContoso Incのネットワーク内で解決する場合、システムは直前に試行com.contoso.net. する場合がありますcom.
-user1686

4
dig検索パスを使用することはないと思います。他の「実際のdnsデバッグツール」もそうではありません。(nslookupは行いますが、dnsのデバッグには使用しません)。:-)
ビョルンハンセンに質問

1
ああ古い方法。:D @AskBjørnHansenはとても正しい。だけではなく、使用掘るnslookupすべてのケースで
ダン・ブラッドベリ

そのため、.comドメインのすべての「ポインター」があります。正確には、委任されたすべての.COMドメイン名、つまり絶対にすべての.COMドメイン名ではないNSレコードを持っているため、いくつかの割合の違いがあります。
パトリックメヴゼク

@grawity最終ドットは、あいまいさが存在する場合にのみ厳密に必要です。-tはオプションであり、あなたは行うことができdig com NS、digは正しいことをします(読みやすさのための規則としてレコードタイプを大文字にしますが、これは必須ではありません)。しかし、オプションとして解釈される可能性のあるものに対してクエリを実行する場合、問題はドットで解決されます。
パトリックメヴゼク

3

ドメイン自体のクエリを実行します– dig @a.gtld-servers.net com.–そして、「信頼できる回答」フラグを探します。

snowflake ~ $ dig @a.gtld-servers.net com | grep flags
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
             ^^

1

あなたはずっと前にすでに返事をもらっていましたが、私たちはもっと正確にできると思いますし、フォローアップの質問があります。

それでは、最初から戻りましょう。

ルートサーバーを照会して.COM委任について学習すると(.NET両方が同じレジストリで処理されるため、以下のすべてが同じように適用されることに注意してください)、この返信を受け取ります。

$ dig @a.root-servers.net com. NS +noall +auth

; <<>> DiG 9.12.0 <<>> @a.root-servers.net com. NS +noall +auth
; (1 server found)
;; global options: +cmd
com.            172800 IN NS e.gtld-servers.net.
com.            172800 IN NS b.gtld-servers.net.
com.            172800 IN NS j.gtld-servers.net.
com.            172800 IN NS m.gtld-servers.net.
com.            172800 IN NS i.gtld-servers.net.
com.            172800 IN NS f.gtld-servers.net.
com.            172800 IN NS a.gtld-servers.net.
com.            172800 IN NS g.gtld-servers.net.
com.            172800 IN NS h.gtld-servers.net.
com.            172800 IN NS l.gtld-servers.net.
com.            172800 IN NS k.gtld-servers.net.
com.            172800 IN NS c.gtld-servers.net.
com.            172800 IN NS d.gtld-servers.net.

要約すると、これらのネームサーバーはいずれも権限が.COMあり、すべて同じデータを持っています(したがって、質問を広げることができます。a.gtld-servers.net決して特別なことではありません。以下はすべてこれらのネームサーバーに適用されます)。

これらのネームサーバーに.COM/.NETドメイン名を照会する場合、要求しているドメイン名に対して権限のあるネームサーバーで権限を持って応答する必要があります。

したがって、定義上、「a.gtld-servers.net(および* .gtld-servers.net)はすべての.comドメインのレコードをローカルに持っているということですか?」「すべて」の周りにいくつかの警告があります。

グルーレコードについて話すことに注意してください。これは特定のケースであり、最も頻繁に起こるケースではありません。通常、上記のネームサーバーのいずれかでドメインを要求すると、1つ以上のNSレコードが返されます。

テキスト内のその他の重要な点に時間を割いてみましょう。

彼らは非常に迅速に応答するので、彼ら自身がさらにクエリを行っているとは思わない。

定義上、権限のあるネームサーバーには、外部リソースに依存することなく、クエリに応答するために必要なデータがあります。そうでない場合、実際には権限がありません。

速度に関しては、これは部分的に主観的であり、テストの内容と方法に大きく依存しますが、いくつかの要因があります:デフォルトでは、DNSはTCPよりも軽いUDPを使用するため高速であり、そのようなネームサーバーはエニーキャストされます。あなたの「近く」に一人います。

私はa.gtld-servers.netがおそらくいくつかのマシンであることを理解しています

"おそらく"を削除できます:-)これらのネームサーバーは非常に多くのクエリを受信するため、どのボックスも耐えられません。

あなたがに行く場合https://stat.ripe.net/192.5.6.30#tabId=routingあなたは、この単一のIP見て、基本的に消化するのは難しいかもしれ多くの情報を表示されますが、a.gtld-servers.net中に(実際にはブロックをすべてが1つの会社によって制御されている複数のASによって発表されています。これは、ほとんどのDNSで美しく機能するエニーキャストの強力な指標です。

あなたがに行く場合http://www.root-servers.org/あなたはより多くを学ぶことができます。これはルートネームサーバーに関連する.COMものであり、もはやではありませんが、技術的にはまったく同じものです。たとえば、13のルートサーバーが930のインスタンスにまたがる12の異なる組織によって管理されていることを発見できます(インスタンスは1つのサーバーだけでなく、場所、オペレーターが通常「ノード」を持つ「ポイントオブプレゼンス」ですルーティングギア、負荷分散/フェールオーバーセットアップの複数サーバー、一部の監視/リモートハンド機能など)。Fたとえば、222か所にあります。

そして、私は最も近いものにルーティングされていること(その新しいone-ip-multiple-machineテクノロジーを介して)が、これは他のいくつかのマシンがすべて.comドメインを持っていることを意味します。

はい、多くのマシンにはすべての.COMドメイン名のリストがあります。しかし、最初は正確です。これらのネームサーバーでは、すべての.COMドメイン名のすべてのネームサーバーのリストを取得します。これは複数の場合に発生する可能性があります。

  1. ドメイン名を登録するときに、ネームサーバーを設定しないか、後で削除するかを選択できます。
  2. たとえば、支払い紛争のためにレジストラがclientHoldドメイン名にステータスを追加し、それがDNSから消える可能性があります
  3. レジストリはserverHold、何らかの理由でドメインを配置できます。

(これらのステータスやその他の詳細については、https://www.icann.org/resources/pages/epp-status-codes-2014-06-16-enをご覧ください)。

「すべて」をどのように定義するか、およびそのようなデータをどのように使用するかによっては、実際にはそれらすべてを完全に取得できない場合があります。

上記のすべてのケースで、ドメインはレジストリDNSサーバーに表示されませんが、whoisクエリを実行すると表示されます。したがって、whoisサーバー(ここでも、単一のボックスではありません)には、すべての.COMドメイン名のリストと、ネームサーバーよりも多くのデータが含まれます。

  1. 解決されていないため、レジストリネームサーバー上にないものも含めて、本当にすべてのドメイン名があります
  2. whoisは、連絡先データなど、はるかに多くの情報を提供します

そして、これらは依然として、何らかの方法または一部でドメイン名のリスト(またはその一部)を持っている一般公開のレジストリサービスにすぎません。

フォローアップに関して:

追加の質問:誰かがこれらのマシンの1つに「ハッキング」した場合、すべての.comドメインのリストを取得できませんでしたか?

技術的には、はい。だが:

  1. これは確かにあなたがオンラインで見つける最も簡単なターゲットではありません
  2. この特定のケースでは、データはすでに無料で利用可能です。

.COMはgTLDであり、ICANNとの契約の下にあります。ICANNはすべてのgTLDレジストリにゾーンファイル(基本的にネームサーバーが使用するものであるため、NSレコードとA / AAAAグルー)の公開を少なくとも1日に1回義務付けており、契約に署名する限り誰でも無料でアクセスできますこのデータを「悪い」目的(自分で再公開するなど)に再利用しないようにするためです。

詳細については、https://czds.icann.org/enを参照してください。これにより、何百ものgTLDゾーンファイルにアクセスできます。

質問が「誰かがこれらのマシンの1つにハッキングし、.COMドメイン名を追加または削除するコンテンツを変更した場合...」に拡張される場合、すぐに回答できることに注意してください。

  1. 1つのボックスのみをハックし、最初に名前で、次にエニーキャストで多数のネームサーバーが存在するため、変更は世界中で見られません。
  2. DNSSECは、変更をエラーとして表示するため、すぐに発見されます(もちろん、オペレーター自身によるローカル対策に加えて)。

要するに、.COMドメイン名を台無しにするためにそれを行うことは最善のアイデアではありません。他の方法もあります。

ドメイン情報は公開されていますが、大量に取得することはまだ困難です。

ICANNプログラムについては上記を参照してください。ccTLDに関しては状況はさまざまですが、多くの場合、リアルタイムではなく、ゾーンファイルへのアクセスを許可しません。

たとえば、「オープンデータ」の移動などにより、しばらくしてからアクセスできる場合があります。一つの例:https://opendata.afnic.fr/en/products-and-services/services/opendata-en.htmlのための.FRドメイン名。

* .gtld-servers.netはゾーン転送をサポートしていません(少なくとも数年前は.eduのネームサーバーがサポートしていましたが)。

テストが簡単:

$ for ns in $(dig NS . +noall +ans | grep 'IN NS' | awk '{print $5}') ; do echo $ns ; dig @$ns com. AXFR; done
c.root-servers.net.

; <<>> DiG 9.12.0 <<>> @c.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.
m.root-servers.net.

; <<>> DiG 9.12.0 <<>> @m.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.
i.root-servers.net.

; <<>> DiG 9.12.0 <<>> @i.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.
e.root-servers.net.

; <<>> DiG 9.12.0 <<>> @e.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.
j.root-servers.net.

; <<>> DiG 9.12.0 <<>> @j.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.
l.root-servers.net.

; <<>> DiG 9.12.0 <<>> @l.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.
g.root-servers.net.

; <<>> DiG 9.12.0 <<>> @g.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.
k.root-servers.net.

; <<>> DiG 9.12.0 <<>> @k.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.
b.root-servers.net.

; <<>> DiG 9.12.0 <<>> @b.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.
h.root-servers.net.

; <<>> DiG 9.12.0 <<>> @h.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.
d.root-servers.net.

; <<>> DiG 9.12.0 <<>> @d.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

;; Connection to 199.7.91.13#53(199.7.91.13) for com. failed: timed out.
;; QUERY SIZE: 44

;; Connection to 199.7.91.13#53(199.7.91.13) for com. failed: timed out.
;; QUERY SIZE: 44

;; connection timed out; no servers could be reached
;; Connection to 199.7.91.13#53(199.7.91.13) for com. failed: timed out.
a.root-servers.net.

; <<>> DiG 9.12.0 <<>> @a.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.
f.root-servers.net.

; <<>> DiG 9.12.0 <<>> @f.root-servers.net. com. AXFR
; (1 server found)
;; global options: +cmd
;; QUERY SIZE: 44

; Transfer failed.

いいえ、現時点では、.COM権威あるネームサーバーはAXFRクエリを受け入れません。しかし、これは必ずしもどこでも同じではありません。照会した場合f.root-servers.net、ネームサーバを、あなたは公開されているすべてのTLDを取得するにはAXFRクエリを行うことができます。他の一部のTLDもこれを許可します。

パブリックAXFRクエリの許可に対する「多くの」推奨事項があることに注意してください。事実は、それらが定義により巨大な答えであり、繰り返されるとサーバーに負担をかける可能性があるということです。市民がこの情報を必要とする理由/必要性について、議論を重ねることができます。DNSの最初にネームサーバー間でゾーンをコピーするために使用されました(現在、はるかに優れた代替手段があります)。したがって、AXFRはしばしば無効になっています...ただし、特定の方法(NSEC3バリアントではなくNSEC)で同時にDNSSECを実行する場合は、標準のDNSクエリを介して、AXFRを使用せずに簡単に歩き回ることができますゾーンし、zonefileを再構築します。そのためのツールが存在します。

また、オンラインのさまざまなプロバイダーが、さまざまな手段で取得した多くのTLDのゾーンファイルおよび/またはすべてのドメイン名のリストを販売することに注意してください(特に1つのアイデア:のようなオープンゾーンファイルを取得し、.COMTLDについては.example、1つずつクエリを実行します)で見つかったすべての名前.COMは、もちろん、TLDで最も使用されている言語に基づいて辞書を検索する以外にも、いくつかのアイデアを提供します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.