導(dǎo)讀]Nslookup 是一個(gè)監(jiān)測(cè)網(wǎng)絡(luò)中DNS服務(wù)器是否能正確實(shí)現(xiàn)域名解析的命令行工具。它在 Windows NT/2000/XP(在之后的windows系統(tǒng)也都可以用的,比如win7,win8等) 中均可使用,但在Windows 98中卻沒(méi)有集成這一個(gè)工具。 Nslook...
創(chuàng)新互聯(lián)專業(yè)成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營(yíng)銷網(wǎng)站建設(shè),集網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營(yíng)銷、軟文營(yíng)銷等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計(jì),讓網(wǎng)站在運(yùn)行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計(jì)制作為您帶來(lái)效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。
Nslookup 是一個(gè)監(jiān)測(cè)網(wǎng)絡(luò)中DNS服務(wù)器是否能正確實(shí)現(xiàn)域名解析的命令行工具。它在 Windows NT/2000/XP(在之后的windows系統(tǒng)也都可以用的,比如win7,win8等) 中均可使用,但在Windows 98中卻沒(méi)有集成這一個(gè)工具。?
Nslookup 必須要安裝了TCP/IP 協(xié)議的網(wǎng)絡(luò)環(huán)境之后才能使用。? 現(xiàn)在網(wǎng)絡(luò)中已經(jīng)架設(shè)好了一臺(tái) DNS 服務(wù)器,主機(jī)名稱為TEST ,它可以把域名 www.1234.com 解析為 192.168.0.1 的IP地址,這是我們平時(shí)用得比較多的正向解析功能。
檢測(cè)步驟如下:
在 Windows 2000 中單擊“開(kāi)始”->“程序”->“附件”->“命令提示符”,在 C:\> 的后面鍵入 Nslookup www.123.com ,“回車”之后即可看到如下結(jié)果:?
Server: TEST
Address: 192.168.0.5?
Name: www.123.com
Address: 192.168.0.1?
以上結(jié)果顯示,正在工作的 DNS 服務(wù)器的主機(jī)名為TEST ,它的 IP 地址是192.168.0.5 ,而域名www.1234.com 所對(duì)應(yīng)的 IP 地址為 192.168.0.1 。那么,在檢測(cè)到 DNS 服務(wù)器TEST 已經(jīng)能順利實(shí)現(xiàn)正向解析的情況下,它的反向解析是否正常呢? 也就是說(shuō),能否把IP地址192.168.0.1反向解析為域名www.123.com ?我們?cè)诿钐崾痉鸆:\>的后面鍵入 Nslookup 192.168.0.1 ,得到結(jié)果如下:?
Server:TEST
Address: 192.168.0.5?
Name: www.123.com?
Address: 192.168.0.1?
這說(shuō)明,DNS 服務(wù)器 TEST 的反向解析功能也正常。? 然而,有的時(shí)候,我們鍵入Nslookup www.123.com ,卻出現(xiàn)如下結(jié)果:? Server:TEST
Address: 192.168.0.5?
*** TEST can't find www.123.com: Non-existent domain? 這種情況說(shuō)明網(wǎng)絡(luò)中DNS服務(wù)器TEST 在工作,卻不能實(shí)現(xiàn)域名 **www.123.com的正確解析。此時(shí),要分析DNS服務(wù)器的配置情況,看是否 www.1234.com 這一條域名對(duì)應(yīng)的 IP 地址記錄已經(jīng)添加到了DNS的數(shù)據(jù)庫(kù)中。?
還有的時(shí)候,我們鍵入Nslookup www.123.com ,會(huì)出現(xiàn)如下結(jié)果:?
*** Can't find server name for domain: No response from server?
*** Can't find www.1234.com : Non-existent domain?
這時(shí),說(shuō)明測(cè)試主機(jī)在目前的網(wǎng)絡(luò)中,根本沒(méi)有找到可以使用的 DNS 服務(wù)器。此時(shí),我們要對(duì)整個(gè)網(wǎng)絡(luò)的連通性作全面的檢測(cè),并檢查DNS服務(wù)器是否處于正常工作狀態(tài),采用逐步排錯(cuò)的方法,找出 DNS 服務(wù)不能啟動(dòng)的根源。?
配置好DNS服務(wù)器,添加了相應(yīng)的記錄之后,只要IP地址保持不變,一般情況下我們就不再需要去維護(hù)DNS的數(shù)據(jù)文件了。不過(guò)在確認(rèn)域名解釋正常之前我們最好是測(cè)試一下所有的配置是否正常。許多人會(huì)簡(jiǎn)單地使用ping命令檢查一下就算了。不過(guò)Ping指令只是一個(gè)檢查網(wǎng)絡(luò)聯(lián)通情況的命令,雖然在輸入的參數(shù)是域名的情況下會(huì)通過(guò)DNS進(jìn)行查詢,但是它只能查詢A類型和CNAME類型的記錄,而且只會(huì)告訴你域名是否存在,其他的信息一概欠奉。所以如果你需要對(duì)DNS的故障進(jìn)行排錯(cuò)就必須熟練另一個(gè)更強(qiáng)大的工具nslookup。這個(gè)命令可以指定查詢的類型,可以查到DNS記錄的生存時(shí)間還可以指定使用那個(gè)DNS服務(wù)器進(jìn)行解釋。?
查詢IP地址?
nslookup最簡(jiǎn)單的用法就是查詢域名對(duì)應(yīng)的IP地址,包括A記錄和CNAME記錄,如果查到的是CNAME記錄還會(huì)返回別名記錄的設(shè)置情況。其用法是:
nslookup 域名?
以下是A記錄的返回情況。?
nslookup命令會(huì)采用先反向解釋獲得使用的DNS服務(wù)器的名稱,由于我這里使用的是一個(gè)內(nèi)部的DNS服務(wù)器所以沒(méi)有正確的反向記錄,導(dǎo)致結(jié)果的前面幾行出錯(cuò)。大家可以不必理會(huì)。重點(diǎn)看的是最后的兩行這里看到的是www.oray.net的IP地址是61.145.112.212。注意即使www.oray.net的主機(jī)沒(méi)有在線同樣能夠返回結(jié)果。?
如果目標(biāo)域名是一個(gè)別名記錄(CNAME),nslookup就開(kāi)始顯示出和ping命令不同的地方了,請(qǐng)看查詢CNAME記錄的結(jié)果。由于CNAME和A記錄最后都是活的IP地址,所以一般情況下兩者是等同看待的,命令的格式相同。
注意這次nslookup返回了三行信息,前兩行顯示這是一個(gè)CNAME記錄,對(duì)應(yīng)的域名和IP地址。最后顯示的就是目標(biāo)域名, 并注明Alias(別名)。如果域名不存在會(huì)怎樣呢?? 看得懂最后以行的英文嗎,不懂沒(méi)關(guān)系記住形狀就可以了。如果一個(gè)指定類型的域名不存在對(duì)應(yīng)的記錄同樣也是這種結(jié)果。?
查詢其他類型的域名?
前面兩個(gè)命令我們沒(méi)有加任何參數(shù),所以默認(rèn)情況下nslookup查詢的是A類型的記錄。如果我們配置了其他類型的記錄希望看到解釋是否正常。這時(shí)候ping就無(wú)能為力了。比如我們配置了MX記錄,但是郵件服務(wù)器只能發(fā)信不能收信,到底是域名解釋問(wèn)題還是其他的問(wèn)題Ping命令的檢查只能讓你誤入歧途。nslookup 這時(shí)候可以模擬你的其他遇見(jiàn)服務(wù)器進(jìn)行域名解釋的情況。我們需要在nslookup上加上適當(dāng)?shù)膮?shù)。指定查詢記錄類型的指令格式如下:?
nslookup –qt=類型 目標(biāo)域名?
注意qt必須小寫(xiě)。?
類型可以是一下字符,不區(qū)分大小寫(xiě):?
A 地址記錄(Ipv4)?
AAAA 地址記錄(Ipv6)?
AFSDB Andrew文件系統(tǒng)數(shù)據(jù)庫(kù)服務(wù)器記錄(不懂)?
ATMA ATM地址記錄(不是自動(dòng)提款機(jī))?
CNAME 別名記錄?
HINFO 硬件配置記錄,包括CPU、操作系統(tǒng)信息?
ISDN 域名對(duì)應(yīng)的ISDN號(hào)碼?
MB 存放指定郵箱的服務(wù)器?
MG 郵件組記錄?
MINFO 郵件組和郵箱的信息記錄?
MR 改名的郵箱記錄?
MX 郵件服務(wù)器記錄?
NS 名字服務(wù)器記錄?
PTR 反向記錄(從IP地址解釋域名)?
RP 負(fù)責(zé)人記錄?
RT 路由穿透記錄(不懂)?
SRV TCP服務(wù)器信息記錄(將有大用處)?
TXT 域名對(duì)應(yīng)的文本信息?
X25 域名對(duì)應(yīng)的X.25地址記錄?
看看oray.net的郵件服務(wù)器記錄吧。?
看看,nslookup把服務(wù)器的名稱和地址都給出來(lái)了,注意preference就是前面所說(shuō)的優(yōu)先級(jí),該數(shù)值越小則優(yōu)先級(jí)越高。?
我再看看名字服務(wù)器記錄是怎么樣的。?
看起來(lái)和MX記錄的格式差不多,一般情況下服務(wù)器會(huì)同時(shí)返回對(duì)應(yīng)的地址。不過(guò)也有不返回的情況。?
在這里我希望大家注意一行顯示“Non-suthoritativeanswer:”,這一行在前面的例子中都沒(méi)有顯示過(guò)。它的出現(xiàn)代表這個(gè)結(jié)果是從服務(wù)器的緩存中得到的。所以提醒你這不是一個(gè)授權(quán)的答案。前面我們進(jìn)行的幾次查詢過(guò)程中192.168.1.104這臺(tái)機(jī)器就采用了我們第一篇文章中描述的過(guò)程查詢了oray.net的域名。在這個(gè)過(guò)程中不但緩存了www.oray.net、test.oray.net以及oray.net的MX記錄等最終結(jié)果。也包括獲取的名字服務(wù)器等中間結(jié)果。隱含的查詢了oray.net的NS記錄。后面我們還會(huì)介紹這個(gè)過(guò)程。?
指定使用的名字服務(wù)器?
在默認(rèn)情況下nslookup使用的是我們?cè)诒緳C(jī)TCP/IP配置中的DNS服務(wù)器進(jìn)行查詢,但有時(shí)候我們需要指定一個(gè)特定的服務(wù)器進(jìn)行查詢?cè)囼?yàn)。這時(shí)候我們不需要更改本機(jī)的TCP/IP配置,只要在命令后面加上指定的服務(wù)器IP或者域名就可以了。這個(gè)參數(shù)在我們對(duì)一臺(tái)指定服務(wù)器排錯(cuò)是非常必要的,另外我們可以通過(guò)指定服務(wù)器直接查詢授權(quán)服務(wù)器的結(jié)果避免其他服務(wù)器緩存的結(jié)果。命令格式如下:?
nslookup [-qt=類型] 目標(biāo)域名 指定的DNS服務(wù)器IP或域名?
我們可看看以下的命令結(jié)果:?
這個(gè)命令直接從頂級(jí)域名服務(wù)器查詢oray.net的NS記錄。所有的二級(jí)域名的NS記錄都存放在頂級(jí)域名服務(wù)器中,這是最權(quán)威的解釋。注意這次沒(méi)有非授權(quán)結(jié)果的提示。對(duì)于二級(jí)域名的NS記錄查詢來(lái)說(shuō)這肯定是授權(quán)結(jié)果。頂級(jí)域名服務(wù)器的名稱是a到j(luò).gtld-servers.net共十臺(tái)服務(wù)器。(gtld是Global Top Level Domain的縮寫(xiě))。當(dāng)我們修改域名的NS記錄的時(shí)候可以通過(guò)上述查詢知道修改的結(jié)果是不是已經(jīng)在頂級(jí)域名服務(wù)器上生效。不過(guò)即使已經(jīng)生效也可能不能正常解釋,注意我在上一篇文章中提到的緩存時(shí)間的問(wèn)題。?
那么到底緩存多久呢??
檢查域名的緩存時(shí)間?
檢查域名的緩存時(shí)間需要我們使用一個(gè)新的參數(shù):-d?
格式如下:?
nslookup –d [其他的參數(shù)] 目標(biāo)域名 [指定的服務(wù)器地址]?
請(qǐng)看范例?
我們忽略其他的看看Got answer后面幾行,包括了一個(gè)ttl數(shù)值。這個(gè)數(shù)值就是域名記錄的生存時(shí)間。?
這種查詢將整個(gè)DNS數(shù)據(jù)包的所有部分都揭示出來(lái),大家可以看到DNS實(shí)際上并不是想象中那么簡(jiǎn)單的東西。具體的各部分解釋大家可以去看看相關(guān)的標(biāo)準(zhǔn)文檔。需要提醒大家的是一定要找到ANSWER:的內(nèi)容,其他的東西都不是描述最終的結(jié)果。上面就不止一個(gè)地方又TTL數(shù)值? 域名解釋過(guò)程的模擬?
我們現(xiàn)在來(lái)模擬一下一臺(tái)DNS服務(wù)器接到一個(gè)不是自己管理的域的域名解釋過(guò)程。回憶一下第一篇文章的過(guò)程:?
首先我們會(huì)詢問(wèn)根服務(wù)器,然后根服務(wù)器會(huì)讓我們?nèi)フ覍?duì)應(yīng)的頂級(jí)服務(wù)器。如果查詢的是oray.net,就會(huì)要求我們?nèi)フ襫et的服務(wù)器。?
看看下面的范例:?
這里我們讓21cn.com的服務(wù)器解釋www.oicp.net的域名,很顯然這臺(tái)服務(wù)器不用有這個(gè)域,需要詢問(wèn)根服務(wù)器。一般情況下DNS服務(wù)器會(huì)幫我們完成全部的過(guò)程。這種解釋方式我們稱之為遞歸解析,為了讓大家看到這個(gè)過(guò)程我家了一個(gè)參數(shù)讓21cn.com的服務(wù)器不要這樣做。這個(gè)參數(shù)是-norecurse。這樣理論上21cn.com會(huì)讓我們?nèi)?wèn)根服務(wù)器,不過(guò)由于它已經(jīng)緩存了頂級(jí)服務(wù)器的記錄,所以直接返回了管理net的頂級(jí)服務(wù)器記錄。實(shí)際上大部分的查詢都不需要從根服務(wù)器開(kāi)始。大家看到了所有的頂級(jí)域名服務(wù)器的地址都被返回。?
我們隨便選擇一個(gè)在進(jìn)行查詢。? 這次頂級(jí)服務(wù)器就返回了oicp.net的服務(wù)器地址記錄的。然后我們就向這些記錄之一進(jìn)行查詢,一定能夠得到答案。可能是一個(gè)地址、一個(gè)CNAME記錄或者告訴你不存在。?
nslookup的命令就介紹到這里,其實(shí)nslookup還有許多其他參數(shù)。不過(guò)常用的就俄這么幾個(gè),另外如果大家不喜歡命令行方式的話。還有幾個(gè)圖形界面的nslookup功能的工具。不過(guò)大家還是需要了解域名解釋都有些什么才能夠正確使用這些工具。