5

「dig」の出力を確認することで、ドメイン名の存在を確認することはできますか? バインド ソース内で、次の定数を見つけました。

0 DNS_R_NOEROR
1 DNS_R_FORMERR
2 DNS_R_SERVFAIL
3 DNS_R_NXDOMAIN
4 DNS_R_NOTIMP
5 DNS_R_REFUSED
6 DNS_R_YXDOMAIN
7 DNS_R_YXRRSET
8 DNS_R_NXRRSET
9 DNS_R_NOTAUTH
10 DNS_R_NOTZONE
16 DNS_R_BADVERS

<RCODE 11>     # 11 has no macro
<RCODE 12>     # 12 has no macro
<RCODE 13>     # 13 has no macro
<RCODE 14>     # 14 has no macro
<RCODE 15>     # 15 has no macro

私の意見では、 NOERROR & SERVFAIL はホスト名が存在することを意味します (ただし、IP がそれにリンクされているという意味ではありません)。NXDOMAIN は、絶対に存在しないことを意味します。

whois は非常に遅いので、私は使用しないほうが好きです。ホスト名がまだ存在しないことを確認する必要があるだけなので、dig の方がはるかに高速です。

誰かが私の仮定と他のマクロに光を当てることができますか?

ありがとう

4

3 に答える 3

4

うまくいく場合もありますが、ほとんどの場合、正しくない結果が表示されます。一部のドメインは登録されていますが、TLD ネーム サーバーにレコードがありません。また、一部のドメインにはレコードが構成されていますが、一部のレジストリにはワイルドカード ドメインが構成されているため、登録されていません。

$ dig asdfasdfasdfxvyxv123.de.com A +short 
91.213.214.122

$ whois -h whois.centralnic.com asdfasdfasdfxvyxv123.de.com
DOMAIN NOT FOUND

whois は確かに遅いです - ドメイン プロバイダーに相談してください。ほとんどのレジストリは、ドメインが登録されているかどうかを確認するためのより高速な方法を提供しています (つまり、EPP プロトコル)。

于 2011-08-01T08:16:23.343 に答える
1

いいえ、できません。少なくとも、Dig はドメインにネームサーバー レコードがあるかどうかを教えてくれますが、応答が否定的であっても、ドメインが利用可能であることを意味するわけではありません。

唯一の方法は、WHOIS クエリを実行することです。

于 2011-01-26T08:57:32.420 に答える