존재하지 않는 이름의 경우 호스트는 0을 반환합니다.

존재하지 않는 이름의 경우 호스트는 0을 반환합니다.

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부분도 표시되지 않습니다.-vANSWER

$ 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

관련 정보