host
通常、0
既存のホストを返します。
$ host www.google.com ; echo $?
www.google.com has address 172.217.16.132
www.google.com has IPv6 address 2a00:1450:400a:805::2004
0
1
エラーが発生した場合
$ host does.not.exist ; echo $?
Host does.not.exist not found: 3(NXDOMAIN)
1
現在存在しないホストがあり、host
出力なしで0を返します。
$ host red3.ethz.ch; echo $?
0
nslookup
(予想どおり)エラーを生成します。
$ nslookup red3.ethz.ch
Server: 129.132.98.12
Address: 129.132.98.12#53
Non-authoritative answer:
*** Can't find red3.ethz.ch: No answer
出力にはどの-d
部分も表示されません。-v
ANSWER
$ host -v -d red3.ethz.ch
Trying "red3.ethz.ch"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55752
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;red3.ethz.ch. IN A
;; AUTHORITY SECTION:
ethz.ch. 246 IN SOA dummy-ns.ethz.ch. hostmaster.ethz.ch. 2008016728 10800 3600 1814400 600
Received 86 bytes from 129.132.98.12#53 in 30 ms
Trying "red3.ethz.ch"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31530
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;red3.ethz.ch. IN AAAA
;; AUTHORITY SECTION:
ethz.ch. 246 IN SOA dummy-ns.ethz.ch. hostmaster.ethz.ch. 2008016728 10800 3600 1814400 600
Received 86 bytes from 129.132.98.12#53 in 0 ms
Trying "red3.ethz.ch"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43023
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;red3.ethz.ch. IN MX
;; AUTHORITY SECTION:
ethz.ch. 246 IN SOA dummy-ns.ethz.ch. hostmaster.ethz.ch. 2008016728 10800 3600 1814400 600
Received 86 bytes from 129.132.98.12#53 in 0 ms
0が返されるのはなぜhost
ですか?
編集する
コメントを見ると、DNSのさまざまな構成で範囲を絞ることができるようです。
同じドメイン(ethz.ch
)
$ host doesnotexist.ethz.ch; echo $?
Host doesnotexist.ethz.ch not found: 3(NXDOMAIN)
1
$ host red3.ethz.ch; echo $?
0
$ host www.ethz.ch; echo $?
www.ethz.ch has address 129.132.19.216
www.ethz.ch has IPv6 address 2001:67c:10ec:4380::216
0
IPレスレスポンスは「ホスト」では問題ありませんが、「nslookup」ではそうではありません。
答え1
によるとtshark
、DNS サーバーが別のプロトコル メッセージを返します。あなたのドメイン名について。does.not.exist
あなたのために受け取りましたDNS 149 Standard query response 0x0d51 No such name
。 0件の回答がred3.ethz.ch
届きました。Standard query response 0xe4db
ホストが別のコードを返すのはなぜですか?
does.not.exist 解決に対する DNS サーバーの応答は次のとおりです。
DNS 149 Standard query response 0x0d51 No such name
red3.ethz.ch
tshark
回答セクションで、DNSサーバーが0レコードだけで応答したことを示している場合:
これはシャークです:
DNS 128 Standard query response 0xe4db
ご主人様の回答はこうです。
Trying "red3.ethz.ch"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1542
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0