refer: http://www.renhaibo.com/archives/29.html
Ping指令我們很熟悉了,它是一個檢查網路狀況的命令,在輸入的參數是網域名稱的情況下會通過DNS進行查詢,但只能查詢A記錄和CNAME(別名)記錄,還會返回網域名稱是否存在,其他的資訊都是沒有的。如果你需要對DNS(網域名稱解析系統)的故障進行排錯就必須熟悉另一個強大的命令-nslookup,Nslookup可以用來診斷網域名稱解析系統 (DNS) 的基礎結構資訊,可以指定查詢的類型,可以查到DNS記錄的存留時間,還可以指定使用那個DNS伺服器進行解釋,該命令在安裝 TCP/IP 協議後方可以使用。
下面以海波部落格的網域名稱http://www.renhaibo.com為例,詳細介紹nslookup命令在命令提示字元(DOS)下的用法:
一、查詢IP地址
nslookup可以方便地查詢到網域名稱對應的IP地址,包括A記錄和CNAME記錄,如果查到的是CNAME記錄還會返回別名記錄的設定情況。
用法格式:nslookup 網域名稱,
斷行符號後有三種不同的結果:
1.A記錄的返回,
前面兩行是您電腦所使用的DNS伺服器名及其IP地址,出錯也可以不理會,重點是最後的兩行是renhaibo.com的IP地址是74.53.25.162,請注意,即使renhaibo.com的主機沒有線上也同樣能夠返回結果。
2.別名記錄(CNAME)的返回情況,
這就顯示出和ping命令不同了,請看查看CNAME記錄的結果。由於CNAME和A記錄最後都是活的IP地址,所以一般情況下兩者是等同看待的,命令的格式相同。這次nslookup返回了三行資訊,前兩行顯示這是一個CNAME記錄,對應的網域名稱和IP地址。最後顯示的就是目標網域名稱, 並註明是Alias(別名)。
3.網域名稱不存在的情況,
最後一行的英文表示目標網域名稱不存在,也可能是:No response from server。你選擇不同的網域名稱商或不同的DNS解析系統,返回的結果也可能有差異,但大同小異。
二、查詢其它類型的網域名稱
我們的網域名稱一般還配置了其他類型的記錄,如MX郵件伺服器記錄,查看解析是否正常,這時候用ping命令就不行了。郵件伺服器只能發信不能收信,是網域名稱解析的問題還是其他的問題,Ping命令的檢查只能讓你誤入歧途。nslookup這時候可以類比你的其他遇見伺服器進行網域名稱解析的情況。我們需要在nslookup上加上適當的參數。指定查詢記錄類型的指令格式如下:nslookup –qt=類型 目標網域名稱(注意qt必須小寫)
以下是可以用的類型的格式(不區分大小寫),僅提供常用的MX和NS的:
1.A 地址記錄(Ipv4)
2.AAAA 地址記錄(Ipv6)
3.AFSDB Andrew檔案系統資料庫伺服器記錄(不懂)
4.ATMA ATM地址記錄(不是自動提款機)
5.CNAME 別名記錄
6.HINFO 硬體設定記錄,包括CPU、作業系統資訊
7.ISDN 網域名稱對應的ISDN號碼
8.MB 存放指定郵箱的伺服器
9.MG 郵件組記錄
10.MINFO 郵件組和郵箱的資訊記錄
11.MR 改名的郵箱記錄
12.MX 郵件伺服器記錄
注意:preference為優先順序,該數值越小則優先順序越高。
13.NS 名字伺服器記錄
14.PTR 反向記錄(從IP地址解釋網域名稱)
15.RP 負責人記錄
16.RT 路由穿透記錄
17.SRV TCP伺服器資訊記錄
18.TXT 網域名稱對應的文本資訊
19.X25 網域名稱對應的X.25地址記錄
三、指定使用的DNS解析服務
預設情況下nslookup使用的是我們在本機TCP/IP配置中的DNS伺服器進行查詢,但有時候我們需要指定一個特定的伺服器進行查詢實驗。此時我們不需要更改原生DNS配置,只要在命令後面加上指定的伺服器IP或者網域名稱就可以了。這個參數在我們對一台指定伺服器排錯是非常必要的,另外我們可以通過指定伺服器直接查詢授權伺服器的結果避免其他伺服器緩衝的結果。
命令格式如下:nslookup [-qt=類型] 目標網域名稱 指定的DNS伺服器IP或網域名稱
如我們使用河北電信的另一個DNS伺服器:219.146.0.130查詢renhaibo.com的NS記錄,所有的次層網域的NS記錄都存放在頂級網域名稱伺服器中,這是最權威的解釋。注意這次沒有非授權結果的提示。對於次層網域的NS記錄查詢來說這肯定是授權結果。頂級網域名稱伺服器的名稱是ns57.domaincontrol.com,ns58.domaincontrol.com等2台伺服器。當我們修改網域名稱的NS記錄的時候可以通過上述查詢知道修改的結果是不是已經在頂級網域名稱伺服器上生效。不過即使已經生效也可能不能正常解釋,還有緩衝時間的問題,詳查下文。
返回
四、檢查網域名稱的緩衝時間
檢查網域名稱的緩衝時間需要使用一個新的參數:-d
格式:nslookup –d [其他的參數] 目標網域名稱
我們忽略其他的,看看Got answer後面幾行,包括了一個ttl數值。這個數值就是網域名稱記錄的存留時間。
這種查詢將整個DNS資料包的所有部分都揭示出來,大家可以看到DNS實際上並不是想象中那麼簡單的東西。具體的各部分解釋大家可以去看看相關的標準文檔。需要提醒大家的是一定要找到ANSWER:的內容,其他的東西都不是描述最終的結果。上面就不止一個地方有TTL數值。
nslookup的命令還有許多其他參數,這裡就介紹常用的這麼幾個。另外如果不喜歡命令列方式的話,還有圖形介面的nslookup工具,自己去網上搜尋一下吧。
轉載請註明,轉自:RenHaibo.com
本文連結地址:http://www.renhaibo.com/archives/29.html