我正在尝试使用该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 地址而不是对域名服务器的引用。
这是它的工作原理吗,或者是否有更短的方法来获取名称服务器的 IP 地址(以便获取ns2.google.com
from的 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