2014-10-20 86 views
1

在我正在進行的理解DNS的實驗中,我試圖瞭解名稱服務器如何執行遞歸查詢。我得到了一個基本的想法 - 從頂級DNS服務器開始,然後向您發送要聯繫的權威域名服務器列表,然後聯繫這些服務器等,直到獲得權威響應。手動執行遞歸DNS查詢

聽起來很簡單。

但是,當我在實踐中嘗試它時,我在第一步後卡住了。我只是使用命令行工具手動執行此操作 - (我確保將關閉遞歸。)

好吧,所以第1步:從根名稱服務器開始。我隨機從root name servers on Wikipedia列表中挑選198.41.0.4(Verisign)。

我向它發送解析「google.com」的請求。

它發送我回了以下內容:

+---------------------------------------------------------------------------+ 
| 47547 | QR: 1 | OP: 00 | AA: 0 | TC: 0 | RD: 1 | RA: 0 | Z: 0 | RCODE: 00 | 
+---------------------------------------------------------------------------+ 
| QDCOUNT:  1, ANCOUNT:  0, NSCOUNT: 13, ARCOUNT: 15  | 
+---------------------------------------------------------------------------+ 

ANSWERS : 0 

AUTHORITIES: 
NS: m.gtld-servers.net 
NS: l.gtld-servers.net 
NS: k.gtld-servers.net 
NS: j.gtld-servers.net 
NS: i.gtld-servers.net 
NS: h.gtld-servers.net 
NS: g.gtld-servers.net 
NS: f.gtld-servers.net 
NS: e.gtld-servers.net 
NS: d.gtld-servers.net 
NS: c.gtld-servers.net 
NS: b.gtld-servers.net 
NS: a.gtld-servers.net 

ADDITIONAL: 
A: 192.55.83.30 
A: 192.41.162.30 
A: 192.52.178.30 
A: 192.48.79.30 
A: 192.43.172.30 
A: 192.54.112.30 
A: 192.42.93.30 
A: 192.35.51.30 
A: 192.12.94.30 
A: 192.31.80.30 
A: 192.26.92.30 
A: 192.33.14.30 
AAAA: 2001:0503:231d:0000:0000:0000:0002:0030 
A: 192.5.6.30 
AAAA: 2001:0503:a83e:0000:0000:0000:0002:0030 

好了,所以我不知道所有這些額外的記錄點是 - 他們都似乎是本地局域網地址,所以我不知道他們對我有什麼用處。但無論如何,看看權威部分返回的結果,我看到另一個名稱服務器列表。好的,所以我想下一步是我需要選擇一個返回的名稱服務器,並獲取它的IP。因此,我發出要求解決a.gtld-servers.net,並...

...它只是返回完全相同的名稱服務器列表。

所以......我不知道如何在這裏繼續。我如何最終到達「google.com」的權威名稱服務器?

編輯:

好了,所以纔出現這些192地址不是LAN地址,我錯誤地認爲,但他們是其他域名服務器。我假設我可以聯繫這些名稱服務器以接近權威。但是,我怎麼知道使用這些名稱服務器呢?我認爲ARCOUNT部分只是爲了獲得更多信息......爲什麼所有這些名稱服務器都放置在附加部分,而不是作爲答案或權限?是否只是一些約定,其他名稱服務器的引薦進入附加部分?

+0

這個問題似乎是脫離主題,因爲它是一個一般的DNS問題,而不是一個編程問題。 – nos 2014-10-20 20:42:30

回答

0

您對Verisign服務器的查詢有問題。試試這個:

  1. dig @ google.com NS。這應該爲您提供google.com的權威域名服務器
  2. dig @ www.google.com答:這會爲您獲取來自google.com nameservers的www.google.com的A記錄。

注意:如果google.com名稱服務器與google.com位於同一個區域,則#1應返回膠水記錄,這意味着它也會解析名稱服務器的IP地址。