例如,當我追蹤 google.com 的 DNS 查找時,dig 僅顯示對根伺服器的請求,然後直接進入二級網域伺服器,跳過頂級網域。換句話說,它從 a.root-servers.net 到 ns1.google.com。 正如你在這張圖片中看到的 應該位於兩者之間的 [ah].gtld-servers.net TLD 伺服器又如何呢?為什麼結果中沒有顯示?其他主機名稱也會發生同樣的情況。例如 gaia.cs.umass.edu。 圖片 它從根伺服器發送到 ns[1-3].umass.edu。所有 .edu TLD 伺服器(例如 a.edu-servers.net)在哪裡?
答案1
這些結果讓我懷疑你的網路中是否有奇怪的事情發生,而不是懷疑它dig
正在做一些奇怪的事情。
您是否正在進行某種形式的透明“代理”?即,對199.7.91.13
(根伺服器之一,如您的範例所示)的查詢是否實際發送到該位址或重定向到其他地方(可能是某些本機遞歸器)?
一種假設是所有 DNS 流量都會傳送到遞歸器,該遞歸器將顯示在完整輸出中(您不會獲得權威回應…即沒有aa
標誌)。
要繼續追蹤想法,您可以運行例如:
dig +trace +all example.com
這將具有每個步驟的完整輸出。查看回應的詳細信息,來自根伺服器的回應(根據SERVER: ...
每個回應的底部)實際上是權威回應嗎?
類似這樣的查詢也可以幫助揭露是否發生了奇怪的事情。與真實的「199.7.91.13」回應進行比較(請注意,它不是單一伺服器,因此回應不一定一致,但它讓您很好地了解會發生什麼),例如從已知良好的網路連線中觀察到的:
dig @199.7.91.13 version.bind CH TXT +norec
(可能會用軟體 + 版本字串進行回應)
dig @199.7.91.13 hostname.bind CH TXT +norec
(可能會用主機名稱回應)
dig @199.7.91.13 id.server CH TXT +norec
(可能會使用伺服器標識符進行回應)