DIG
로컬 또는 ISP 확인자 없이 이 도구를 사용하여 DNS 데이터를 얻으려고 합니다 .
예를 들어 나는 시도한다google.nl
루트 서버(d.root-servers.net)에서 시작합니다.
dig @199.7.91.13 google.nl
그런 다음 다음에서 레지스트리를 가져옵니다.
;; ADDITIONAL SECTION: ns1.dns.nl. 172800 IN A 193.176.144.5
dig @193.176.144.5 google.nl
;; AUTHORITY SECTION: google.nl. 3600 IN NS ns2.google.com.
이제 이것이 내가 막히는 곳입니다. google.nl은 네임서버를 사용하기 때문에 google.com
글루 레코드를 보내지 않습니다.
그러면 다시 뿌리부터 파헤쳐야 할까요 google.com
?
dig @199.7.91.13 google.com
;; ADDITIONAL SECTION: a.gtld-servers.net. 172800 IN A 192.5.6.30
dig @192.5.6.30 google.com
이제 이 경우 google.com은 자체 네임서버를 사용하므로 글루 레코드가 에 제공되지만 ;; ADDITIONAL SECTION:
도메인은 다른 네임서버를 사용할 수 있습니다.
그런 다음 해당 네임서버를 가져와야 하며, 네임서버에 대한 참조가 아닌 실제 IP 주소를 얻을 때까지 이 광고를 무한정 계속할 수 있다고 생각합니다.
ns2.google.com
이것이 작동하는 방식입니까, 아니면 네임서버의 IP 주소를 얻는 더 짧은 방법이 있습니까( 에서 IP 주소를 얻기 위해 google.nl
?)
답변1
이것이 작동하는 방식입니다. 확실히 이것은 이상적이지 않습니다. 재귀가 너무 오래 걸리면 파서가 하드코딩된 한계에 도달합니다... 예를 참조하세요. https://cybermashup.com/2014/09/23/how-dns-kills-the-internet/
답변2
$ host -t ns google.nl|cut -d" " -f4|xargs -l1 host
ns2.google.com has address 216.239.34.10
ns1.google.com has address 216.239.32.10
ns4.google.com has address 216.239.38.10
ns3.google.com has address 216.239.36.10