DNS 확인 호출에 응답하는 항목을 어떻게 확인합니까?

DNS 확인 호출에 응답하는 항목을 어떻게 확인합니까?

내 호스트 파일에 항목이 있다고 가정하면 foobar파일이 이미 사용 중인지 또는 원격 DNS가 해결에 응답하는지 어떻게 알 수 있습니까 foobar?

기본 유틸리티가 이 정보를 반환합니까?

dig +trace내가 알고 싶은 것을 말하지 않았어

dig +trace localhost

; <<>> DiG 9.10.3-P4-Ubuntu <<>> +trace localhost
;; global options: +cmd
;; Received 28 bytes from 127.0.0.53#53(127.0.0.53) in 0 ms

dig +trace google.com

; <<>> DiG 9.10.3-P4-Ubuntu <<>> +trace google.com
;; global options: +cmd
;; Received 28 bytes from 127.0.0.53#53(127.0.0.53) in 0 ms

hosts조회가 for localhost및 내 DNS 서버(어느 쪽이든) 모두에 대해 확인되고 있음을 알려주고 싶습니다 google.com. 내부 통화를 사용하는 경우getaddrinfo(3)확인 중에 호스트 파일 또는 업스트림 DNS 서버가 적중되는지 여부 localhost.

답변1

digDNS 문제 해결 도구입니다. 쿼리할 DNS 서버를 명시적으로 지정할 수 있으며, 서버가 없는 경우 resolv.conf설명서에 나와 있는 대로 사용합니다.

특정 이름 서버를 쿼리하라는 지시가 없으면 dig는 /etc/resolv.conf에 나열된 모든 서버를 시도합니다. 사용 가능한 서버 주소가 없으면 dig는 쿼리를 localhost로 보냅니다.

DNS 확인이 필요한 시스템의 다른 응용 프로그램의 경우 이는 /etc/nsswitch.conf호스트 이름을 확인하기 위해 쿼리할 정보 소스를 나열하여 제어됩니다. 예:

호스트: 파일 myhostname mdns4_minimal [NOTFOUND=반환] dns mdns4

예를 들어, ( 토큰)을 glibc먼저 살펴본 다음 DNS 쿼리(토큰 )만 다시 다음을 사용하여 수행된다는 것을 보여줍니다./etc/hostsfilesdnsresolv.conf

특정 애플리케이션에 대해 100% 확신하려면 통화 중에 해당 애플리케이션을 실행해야 합니다 strace.

관련 정보