簡介
本文檔介紹如何使用nslookup進行測試查詢。
必要條件
需求
本文件沒有特定需求。
採用元件
本檔案中的資訊是根據Cisco Umbrella。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
概觀
使用nslookup檢查DNS查詢響應通常用於排除DNS問題。在某些情況下,查詢可能會返回額外的域級別。例如,查詢sub.domain.com將生成sub.domain.com.domain.com的查詢和答案。
nslookup:解析度演算法差異
查詢DNS時,一種實用程式在所有現代作業系統上無處不在:nslookup。雖然比dig版本更舊且功能更少,但Windows使用者預設限製為nslookup。必須注意的是, nslookup處理DNS的方式與dig或本地系統不同。
對於沒有公共萬用字元的公共查詢
nslookup:
1.查詢domain.com(nslookup domain.com)。
2.nslookup傳送「domain.com.suffix」並檢查響應 — NXDOMAIN。
3.nslookup傳送「domain.com.secondsuffix」並檢查響應 — NXDOMAIN。
4.nslookup傳送「domain.com」並返迴響應。
系統DNS或Dig
1.查詢domain.com(dig domain.com)。
2.dig或系統向「domain.com」傳送DNS資料包查詢並返迴響應
3.如果早期的資訊不存在,則可以為「domain.com.suffix」生成DNS資料包
4. 如果早期的資訊不存在,則可以為「domain.com.secondsuffix」生成DNS資料包
在沒有本地答案且僅存在公共答案的情況下,其作用完全相同。早期方案的唯一區別是,如果捕獲了資料包,則nslookup方案可以傳送附加了字尾的奇怪查詢。
對於DNS字尾具有公共萬用字元的公共查詢
nslookup:
1.查詢domain.com(nslookup domain.com)
2.nslookup傳送「domain.com.suffix」並檢查響應。返迴響應(字尾是公共萬用字元域)。 找到domain.com.suffix的答案,不再進行進一步的查詢。
系統DNS或Dig
1.查詢domain.com(dig domain.com)。
2.dig或系統向「domain.com」傳送DNS資料包查詢並返回domain.com的響應。
因此,nslookup返回的DNS應答與使用電腦的Web瀏覽器的使用者完全不同,並且會導致感知到不正確的DNS應答。如果查詢的DNS記錄與電腦的字尾清單匹配,這也可能導致域「雙重」顯示。
對公共萬用字元DNS搜尋字尾域使用nslookup的工作解決方案
查詢DNS時,應用「」。 除非使用nslookup查詢主機名,否則在查詢末尾。這樣可以查詢請求的精確查詢。"nslookup domain.com" 只能先請求domain.com而不帶字尾。
在Umbrella Reporting中的外觀
在某些情況下,可以在Umbrella報告中觀察到此行為。發生這種情況時,條目可能顯示為「facebook.com.domain.local」或「google.com.domain.local」。在大多數情況下,這是首先執行這些本地查詢的nslookup。如果您的字尾在DNS區域上不是權威的,則可以將其轉發到Umbrella,而不是由網路上的本地DNS伺服器返回NXDOMAIN。
特殊情況:Umbrella漫遊客戶端
如果您應用的DNS搜尋字尾域是公共萬用字元,並且也可在內部使用,則您也可以觀察前面提到的字尾加倍行為。有關host.domain.com的查詢可以在您的報告中顯示為host.domain.com.domain.com(儘管它位於內部域清單中)。 如果domain.com是公共萬用字元,請將「domain.com.domain.com」新增到您的內部域清單中,以解決任何觀察到的使用者影響。