
TLD 에 대한 이름 서버를 가져오려고 했습니다 com
. 활성화된 경우의 성공적인 출력은 다음과 같습니다. dnscrypt-proxy
실행된 명령은 다음과 같습니다 dig com. ns
.
발굴 성공
다음에 대한 결과는 다음과 같습니다 dig @a.root-servers.net com. ns
.
무응답 섹션을 파헤쳐 보세요
이것은 온라인 dig 인터페이스를 사용한 출력이며 명령은 다음과 같습니다.dig NS +noadditional +noquestion +nocomments +nocmd +nostats com. @a.root-servers.net
링크
;; Truncated, retrying in TCP mode.
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.
온라인 발굴 인터페이스에서는 답변을 제공하는 것이 가능하다고 말하지만 a.root
내 시스템에서 이를 복제할 수는 없습니다.
답변1
dig
귀하가 보여준 예상치 못한 결과를 토대로 귀하 는 원하는 곳 어디에서나 DNS 쿼리를 보낼 수 있는 "깨끗한" 네트워크 경로가 없는 환경에서 실행되고 있다는 인상을 받았습니다 . 뭔가가 쿼리를 가로채서 처리합니다.
귀하의 dig
결과(아래 인용)는 이러한 결과를 바탕으로 위의 결론을 이끌어 냈습니다.
; <<>> DiG 9.18.1-1-Debian <<>> @a.root-servers.net com. ns
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50284
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;com. IN NS
;; Query time: 12 msec
;; SERVER: 2001:503:ba3e::2:30#53(a.root-servers.net) (UDP)
;; WHEN: Wed Jun 15 18:15:11 WIB 2022
;; MSG SIZE rcvd: 32
귀하의 질문에 따르면 루트 서버 중 하나를 향한 이 쿼리에 대한 섹션 에서
com
위임 레코드를 볼 수 있을 것으로 예상됩니다. 어쨌든 이것은 귀하의 환경에서는 그렇지 않습니다.NS
AUTHORITY
루트 서버는 확실히 재귀 서비스를 제공하지 않지만 여전히
ra
(재귀 가능) 플래그가 설정되었습니다.쿼리는 분명히 주소
2001:503:ba3e::2:30
(의 IP 주소a.root-servers.net
)로 전송되었지만 위 동작은 루트 서버가 수행하는 동작과 일치하지 않습니다. 귀하의 네트워크에서 다른 것이 그러한 쿼리를 가로채서 응답한다는 결론을 내렸습니다.
다음과 같은 쿼리를 실험해 볼 수 있습니다.
dig @a.root-servers.net version.bind CH TXT
dig @a.root-servers.net id.server CH TXT
어느~할 것 같다실제로 응답하는 것이 무엇인지에 대한 힌트를 제공하십시오.