获取 TLD DNS 服务器 IP 地址

Xia*_*ang 3 ip dns tld

我们知道 DNS 的工作方式是递归检索足够的域。例如www.google.com,它检索com的名称服务器并获取其ip地址,并使用该名称服务器检索google.com,...

检索名称服务器的 IP 地址是此过程的关键部分。这是我们挖掘 google.com的结果

; <<>> DiG 9.6.0-APPLE-P2 <<>> google.com ;; 全局选项:+cmd ;; 得到答案:;; ->>HEADER<<- 操作码:查询,状态:NOERROR,ID:64727;;标志:qr rd ra;查询:1,答案:11,权威:4,附加:4

;; 问题部分:;google.com。在一个

;; 答案部分:google.com。62 在 173.194.33.2 google.com。62 在 173.194.33.8 google.com。62 在 173.194.33.14 google.com。62 在 173.194.33.5 google.com。62 在 173.194.33.4 google.com。62 在 173.194.33.6 google.com。62 在 173.194.33.0 google.com。62 在 173.194.33.1 google.com。62 在 173.194.33.7 google.com。62 在 173.194.33.3 google.com。62 中 173.194.33.9

;; 权威部分:google.com。69970 在 NS ns3.google.com。谷歌网站。69970 在 NS ns1.google.com。谷歌网站。69970 在 NS ns2.google.com。谷歌网站。69970 在 NS ns4.google.com。

;; 附加部分:ns4.google.com。69970 在 216.239.38.10 ns3.google.com。69970 在 216.239.36.10 ns1.google.com。69970 在 216.239.32.10 ns2.google.com。257354 在 216.239.34.10

;; 查询时间:9毫秒;;服务器:.*. #53( .* .. );; 时间:2013 年 5 月 22 日星期三 16:03:09 ;; 味精大小接收:340

我们可以看到 IP 地址包含在 ADDITIONAL SECTION 中。但是如果我们dig com,我们会得到以下结果:

; <<>> DiG 9.6.0-APPLE-P2 <<>> com。;; 全局选项:+cmd ;; 得到答案:;; ->>HEADER<<- 操作码:查询,状态:NOERROR,ID:50809 ;; 标志:qr rd ra;查询:1,答案:0,权威:1,附加:0

;; 问题部分:;com。在一个

;; 权威部分:com。900 在 SOA 中 a.gtld-servers.net。nstld.verisign-grs.com。> 1369263918 1800 900 604800 86400

;; 查询时间:17 毫秒;;服务器:.*. #53( .* .. );; 时间:2013 年 5 月 22 日星期三 16:05:48 ;; 味精大小接收:94

它没有显示 com 名称服务器的 IP 地址。所以我的问题是解析器如何知道 TLD 名称服务器(例如,com)的 IP 地址?

Cel*_*ada 5

快速回答:您要求提供ATLD com 的记录,但没有得到答复。这是正常的,因为com没有 A 记录!请注意,在此输出摘录中,类型为A

;; QUESTION SECTION: 
;com. IN A
Run Code Online (Sandbox Code Playgroud)

话虽如此,递归解析器找出 TLD 名称服务器的地址的方式与它们找出任何其他服务器的地址相同:

  • 他们可以根据自己的权利直接将它们解析为名称。例如,com的 namservers 之一是a.gtld-servers.net。该名称可以以正常方式解析(通过 root 和net以及gtld-servers.net
  • 它们可能作为附加记录(附加部分中的记录)与其他查询的答案一起提供。这在存在引导问题时尤为重要(例如,example.com的名称服务器是ns.example.com,除非您已经知道example.com的名称服务器,否则显然无法解析)。