Nslookup顯示可用來(lái)診斷域名系統(tǒng) (DNS) 基礎(chǔ)結(jié)構(gòu)的信息。只有在已安裝 TCP/IP 協(xié)議的情況下才可以使用 Nslookup 命令行工具。
語(yǔ)法 nslookup [-SubCommand ...] [{ComputerToFind| [-Server]}]
參數(shù) -SubCommand ... 將一個(gè)或多個(gè) nslookup 子命令指定為命令行選項(xiàng)。 ComputerToFind 如果未指定其它服務(wù)器,就使用當(dāng)前默認(rèn) DNS 名稱(chēng)服務(wù)器查閱 ComputerToFind 的信息。要查找不在當(dāng)前 DNS 域的計(jì)算機(jī),請(qǐng)?jiān)诿Q(chēng)上附加句點(diǎn)。 -Server 指定將該服務(wù)器作為 DNS 名稱(chēng)服務(wù)器使用。如果省略了 -Server,將使用默認(rèn)的 DNS 名稱(chēng)服務(wù)器。 {help|?} 顯示 nslookup 子命令的簡(jiǎn)短總結(jié)。 注釋 如果 ComputerToFind 是 IP 地址,并且查詢(xún)類(lèi)型為 A 或 PTR 資源記錄類(lèi)型,則返回計(jì)算機(jī)的名稱(chēng)。如果 ComputerToFind 是一個(gè)名稱(chēng),并且沒(méi)有跟蹤期,則向該名稱(chēng)添加默認(rèn) DNS 域名。此行為取決于下面 set 子命令的狀態(tài):domain、srchlist、defname 和 search。 如果鍵入連字符 (-) 代替 ComputerToFind,命令提示符更改為 nslookup 交互式模式。 命令行長(zhǎng)度必須少于 256 個(gè)字符。 Nslookup 有兩種模式:交互式和非交互式。 如果僅需要查找一塊數(shù)據(jù),請(qǐng)使用非交互式模式。對(duì)于第一個(gè)參數(shù),鍵入要查找的計(jì)算機(jī)的名稱(chēng)或 IP 地址。對(duì)于第二個(gè)參數(shù),鍵入 DNS 名稱(chēng)服務(wù)器的名稱(chēng)或 IP 地址。如果省略第二個(gè)參數(shù),nslookup 使用默認(rèn) DNS 名稱(chēng)服務(wù)器。
如果需要查找多塊數(shù)據(jù),可以使用交互式模式。為第一個(gè)參數(shù)鍵入連字符 (-),為第二個(gè)參數(shù)鍵入 DNS 名稱(chēng)服務(wù)器的名稱(chēng)或 IP 地址。或者,省略?xún)蓚(gè)參數(shù),則 nslookup 使用默認(rèn) DNS 名稱(chēng)服務(wù)器。下面是一些有關(guān)在交互式模式下工作的提示:
要隨時(shí)中斷交互式命令,請(qǐng)按 CTRL+B。 要退出,請(qǐng)鍵入 exit。 要將內(nèi)置命令當(dāng)作計(jì)算機(jī)名,請(qǐng)?jiān)谠撁钋懊娣胖棉D(zhuǎn)義字符 (\)。 將無(wú)法識(shí)別的命令解釋為計(jì)算機(jī)名。 如果查找請(qǐng)求失敗,nslookup 將打印錯(cuò)誤消息。下表列出可能的錯(cuò)誤消息。 錯(cuò)誤消息 說(shuō)明 Timed out 重試一定時(shí)間和一定次數(shù)之后,服務(wù)器沒(méi)有響應(yīng)請(qǐng)求?梢酝ㄟ^(guò) set timeout 子命令設(shè)置超時(shí)期。而利用 set retry 子命令設(shè)置重試次數(shù)。 No response from server 服務(wù)器上沒(méi)有運(yùn)行 DNS 名稱(chēng)服務(wù)器。 No records 盡管計(jì)算機(jī)名有效,但是 DNS 名稱(chēng)服務(wù)器沒(méi)有計(jì)算機(jī)當(dāng)前查詢(xún)類(lèi)型的資源記錄。查詢(xún)類(lèi)型使用 set querytype 命令指定。 Nonexistent domain 計(jì)算機(jī)或 DNS 域名不存在。 Connection refused or
Network is unreachable 無(wú)法與 DNS 名稱(chēng)服務(wù)器或指針?lè)⻊?wù)器建立連接。該錯(cuò)誤通常發(fā)生在 ls 和 finger 請(qǐng)求中。 Server failure DNS 名稱(chēng)服務(wù)器發(fā)現(xiàn)在其數(shù)據(jù)庫(kù)中內(nèi)部不一致而無(wú)法返回有效應(yīng)答。 Refused DNS 名稱(chēng)服務(wù)器拒絕為請(qǐng)求服務(wù)。 Format error DNS 名稱(chēng)服務(wù)器發(fā)現(xiàn)請(qǐng)求數(shù)據(jù)包的格式不正確?赡鼙砻 nslookup 中存在錯(cuò)誤。
范例 每個(gè)命令行選項(xiàng)均由連字符 (-) 后緊跟命令名組成,有時(shí)是等號(hào) (=) 后跟一個(gè)數(shù)值。例如,要將默認(rèn)的查詢(xún)類(lèi)型更改為主機(jī)(計(jì)算機(jī))信息,并將初始超時(shí)更改為 10 秒,請(qǐng)鍵入:
nslookup -querytype=hinfo -timeout=10
概要 Nslookup.exe 是命令行管理工具,用于測(cè)試或解決 DNS 服務(wù)器問(wèn)題。此工具是通過(guò)“控制面板”與 TCP/IP 協(xié)議一起安裝的。本文包含使用 Nslookup.exe 的若干提示。
更多信息 要使用 Nslookup.exe,請(qǐng)注意以下方面: • TCP/IP 協(xié)議必須安裝在運(yùn)行 Nslookup.exe 的計(jì)算機(jī)上。 • 在 Microsoft TCP/IP 屬性頁(yè)的 DNS 選項(xiàng)卡的“DNS 服務(wù)搜索順序”字段中必須至少指定一個(gè) DNS 服務(wù)器。 • Nslookup 一直從當(dāng)前上下文中的名稱(chēng)中抽去后綴。如果無(wú)法進(jìn)行完全合格的名稱(chēng)查詢(xún)(即,使用尾隨點(diǎn)),那么查詢(xún)將被附加到當(dāng)前上下文中。例如,當(dāng)前 DNS 設(shè)置是 att.com,并且在 www.microsoft.com 中執(zhí)行查詢(xún),那么第一個(gè)查詢(xún)將作為 www.microsoft.com.att.com 而失敗,因?yàn)椴樵?xún)是不合格的。這種方式與其他供應(yīng)商的 Nslookup 方式可能不一致,本文的目的在于闡明 Microsoft Windows NT Nslookup.exe 的處理方式。 • 如果已經(jīng)使用 Microsoft TCP/IP 屬性頁(yè) DNS 選項(xiàng)卡上定義的“域后綴搜索順序”(Domain Suffix Search Order )中的搜索列表,將不會(huì)發(fā)生抽取操作。查詢(xún)將被附加到列表中指定的域后綴中。要避免使用搜索列表,請(qǐng)始終使用“完全合格的域名稱(chēng)”(即,在名稱(chēng)中添加尾隨點(diǎn))。
Nslookup.exe 可以在兩種模式下運(yùn)行:交互式和非交互式。當(dāng)需要返回單塊數(shù)據(jù)時(shí),請(qǐng)使用非交互式模式。非交互模式的語(yǔ)法如下:
nslookup [-option] [hostname] [server]
要在交互模式下啟動(dòng) Nslookup.exe,只需在命令提示符下輸入 nslookup:
C:\> nslookup Default Server: nameserver1.domain.com Address: 10.0.0.1 >
在命令提示符下輸入 help 或 ? 將生成可用的命令列表。在命令提示符下輸入的任何內(nèi)容,如果它不是有效命令,則假設(shè)它是主機(jī)名,嘗試使用默認(rèn)服務(wù)器來(lái)解析它。要中斷交互命令,請(qǐng)按 CTRL+C。要退出交互模式并返回到命令提示符下,并在命令提示符下輸入 exit。
以下是幫助輸出,其中包含選項(xiàng)的完整列表:
Commands: (identifiers are shown in uppercase, [] means optional)
NAME - print info about the host/domain NAME using default server NAME1 NAME2 - as above, but use NAME2 as server help or ? - print info on common commands set OPTION - set an option
all - print options, current server and host [no]debug - print debugging information [no]d2 - print exhaustive debugging information [no]defname - append domain name to each query [no]recurse - ask for recursive answer to query [no]search - use domain search list [no]vc - always use a virtual circuit domain=NAME - set default domain name to NAME srchlist=N1[/N2/.../N6] - set domain to N1 and search list to N1, N2, and so on root=NAME - set root server to NAME retry=X - set number of retries to X timeout=X - set initial time-out interval to X seconds type=X - set query type (for example, A, ANY, CNAME, MX, NS, PTR, SOA, SRV) querytype=X - same as type class=X - set query class (for example, IN (Internet), ANY) [no]msxfr - use MS fast zone transfer ixfrver=X - current version to use in IXFR transfer request
server NAME - set default server to NAME, using current default server lserver NAME - set default server to NAME, using initial server finger [USER] - finger the optional NAME at the current default host root - set current default server to the root ls [opt] DOMAIN [> FILE] - list addresses in DOMAIN (optional: output to FILE)
-a - list canonical names and aliases -d - list all records -t TYPE - list records of the given type (for example, A, CNAME, MX, NS, PTR, and so on)
view FILE - sort an ’ls’ output file and view it with pg exit - exit the program
通過(guò)在命令提示符下運(yùn)行 set 命令,可以在 Nslookup.exe 中設(shè)置許多不同的選項(xiàng)。要得到這些選項(xiàng)的完整列表,只需輸入 set all。請(qǐng)參見(jiàn)以上內(nèi)容,在 set 命令下,得到可用選項(xiàng)的打印輸出。
查找不同的數(shù)據(jù)類(lèi)型
要在域名空間中查找不同的數(shù)據(jù)類(lèi)型,請(qǐng)?jiān)诿钐崾痉率褂?set type 或 set q[uerytype] 命令。例如,要查詢(xún)郵件交換器數(shù)據(jù),請(qǐng)輸入: C:\> nslookup Default Server: ns1.domain.com Address: 10.0.0.1
> set q=mx > mailhost Server: ns1.domain.com Address: 10.0.0.1
mailhost.domain.com MX preference = 0, mail exchanger = mailhost.domain.com mailhost.domain.com internet address = 10.0.0.5 >
第一次查詢(xún)是查找遠(yuǎn)程名稱(chēng),答案是權(quán)威的,但隨后的查詢(xún)是非權(quán)威的。第一次查詢(xún)遠(yuǎn)程主機(jī)時(shí),本地 DNS 服務(wù)器與作為該域權(quán)威的 DNS 服務(wù)器取得聯(lián)系。然后,本地 DNS 服務(wù)器緩存該信息,以便從本地服務(wù)器緩存中非權(quán)威地回答隨后的查詢(xún)。
直接從另一個(gè)名稱(chēng)服務(wù)器中進(jìn)行查詢(xún)
要直接查詢(xún)另一個(gè)名稱(chēng)服務(wù)器,請(qǐng)使用 server 或 lserver 命令切換到該名稱(chēng)服務(wù)器。lserver 命令使用本地服務(wù)器得到要切換的服務(wù)器地址,而 server 命令使用當(dāng)前默認(rèn)服務(wù)器得到該地址。
例如: C:\> nslookup
Default Server: nameserver1.domain.com Address: 10.0.0.1
> server 10.0.0.2
Default Server: nameserver2.domain.com Address: 10.0.0.2 >
使用 Nslookup.exe 轉(zhuǎn)移整個(gè)區(qū)域
使用 ls 命令,Nslookup 可以用于轉(zhuǎn)移整個(gè)區(qū)域。查看遠(yuǎn)程域中的所有主機(jī),這是有用的。ls 命令的語(yǔ)法如下:
ls [- a | d | t type] domain [> filename]
不帶參數(shù)使用 ls 命令將返回所有地址和名稱(chēng)服務(wù)器數(shù)據(jù)的列表。-a 參數(shù)將返回別名和正式名稱(chēng),-d 將返回所有數(shù)據(jù),而 -t 將按類(lèi)型進(jìn)行篩選。
例如:
>ls domain.com [nameserver1.domain.com] nameserver1.domain.com. NS server = ns1.domain.com nameserver2.domain.com NS server = ns2.domain.com nameserver1 A 10.0.0.1 nameserver2 A 10.0.0.2
>
在 DNS 服務(wù)器中可以按塊轉(zhuǎn)移區(qū)域,以便只有授權(quán)的地址和網(wǎng)絡(luò)才可以執(zhí)行此操作。如果設(shè)置了區(qū)域安全,將返回以下錯(cuò)誤消息:
*** Can’t list domain example.com .: Query refused
Nslookup.exe 的疑難解答
默認(rèn)服務(wù)器超時(shí)
當(dāng)啟動(dòng) Nslookup.exe 工具時(shí),以下錯(cuò)誤可能出現(xiàn):
*** Can’t find server name for address w.x.y.z : Timed out
備注: w.x.y.z 是在“DNS 服務(wù)搜索順序”列表中列出的第一個(gè) DNS 服務(wù)器。
*** Can’t find server name for address 127.0.0.1: Timed out
第一個(gè)錯(cuò)誤指出不能連接 DNS 服務(wù)器,或者該計(jì)算機(jī)上的服務(wù)沒(méi)有運(yùn)行。要解決此問(wèn)題,啟動(dòng)該服務(wù)器上的 DNS 服務(wù),或檢查可能存在的連接問(wèn)題。
第二個(gè)錯(cuò)誤指出在“DNS 服務(wù)搜索順序”列表中還沒(méi)有定義服務(wù)器。要解決此問(wèn)題,請(qǐng)將有效 DNS 服務(wù)器的 IP 地址添加到此列表中。
啟動(dòng) Nslookup.exe 時(shí)找不到服務(wù)器名
啟動(dòng) Nslookup.exe 工具時(shí),可能出現(xiàn)以下錯(cuò)誤:
*** Can’t find server name for address w.x.y.z: Non-existent domain
當(dāng)沒(méi)有名稱(chēng)服務(wù)器 IP 地址的 PTR 記錄時(shí),會(huì)出現(xiàn)此錯(cuò)誤。當(dāng) Nslookup.exe 啟動(dòng)時(shí),它執(zhí)行反向搜索,以得到默認(rèn)服務(wù)器的名稱(chēng)。如果沒(méi)有 PTR 數(shù)據(jù),則返回此錯(cuò)誤消息。要解決此問(wèn)題,請(qǐng)確保反向搜索區(qū)域存在,并包含名稱(chēng)服務(wù)器的 PTR 記錄。
Nslookup 在子域上無(wú)法執(zhí)行
當(dāng)在子域上執(zhí)行查詢(xún)或進(jìn)行區(qū)域轉(zhuǎn)移時(shí),Nslookup 可能返回以下錯(cuò)誤:
*** ns.domain.com can’t find child.domain.com.: Non-existent domain *** Can’t list domain child.domain.com.: Non-existent domain
在 DNS Manager 中,可以在主區(qū)域下添加一個(gè)新域,這樣就創(chuàng)建了一個(gè)子域。用這種方法創(chuàng)建子域并不為該域創(chuàng)建一個(gè)單獨(dú)的 db 文件,這樣在該域進(jìn)行查詢(xún)或在該域進(jìn)行區(qū)域轉(zhuǎn)移時(shí)將會(huì)產(chǎn)生以上錯(cuò)誤。在父域上進(jìn)行區(qū)域轉(zhuǎn)移時(shí)將同時(shí)列出父域數(shù)據(jù)和子域數(shù)據(jù)。要解決此問(wèn)題,請(qǐng)?jiān)?DNS 服務(wù)器上為該子域創(chuàng)建一個(gè)新主域。
以下轉(zhuǎn)自沸騰年代。 Nslookup 是一個(gè)監(jiān)測(cè)網(wǎng)絡(luò)中DNS服務(wù)器是否能正確實(shí)現(xiàn)域名解析的命令行工具。它在 Windows NT/2000/XP 中均可使用,但在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ī)名稱(chēng)為 linlin ,它可以把域名 www.cnkuai.cn 解析為 192.168.0.1 的IP地址,這是我們平時(shí)用得比較多的正向解析功能。
檢測(cè)步驟如下:
在 Windows 2000 中單擊“開(kāi)始”->“程序”->“附件”->“命令提示符”,在 C:\> 的后面鍵入 Nslookup www.cnkuai.cn ,“回車(chē)”之后即可看到如下結(jié)果: Server: linlin Address: 192.168.0.5 Name: www.cnkuai.cn Address: 192.168.0.1 以上結(jié)果顯示,正在工作的 DNS 服務(wù)器的主機(jī)名為 linlin ,它的 IP 地址是192.168.0.5 ,而域名www.cnkuai.cn 所對(duì)應(yīng)的 IP 地址為 192.168.0.1 。那么,在檢測(cè)到 DNS 服務(wù)器 linlin 已經(jīng)能順利實(shí)現(xiàn)正向解析的情況下,它的反向解析是否正常呢? 也就是說(shuō),能否把IP地址192.168.0.1反向解析為域名www.cnkuai.cn ?我們?cè)诿钐崾痉鸆:\>的后面鍵入 Nslookup 192.168.0.1 ,得到結(jié)果如下: Server: linlin Address: 192.168.0.5 Name: www.cnkuai.cn Address: 192.168.0.1 這說(shuō)明,DNS 服務(wù)器 linlin 的反向解析功能也正常。
然而,有的時(shí)候,我們鍵入Nslookup www.cnkuai.cn ,卻出現(xiàn)如下結(jié)果: Server: linlin Address: 192.168.0.5 *** linlin can’t find www.cnkuai.cn: Non-existent domain
這種情況說(shuō)明網(wǎng)絡(luò)中DNS服務(wù)器 linlin 在工作,卻不能實(shí)現(xiàn)域名 www.cnkuai.cn的正確解析。此時(shí),要分析DNS服務(wù)器的配置情況,看是否 www.cnkuai.cn 這一條域名對(duì)應(yīng)的 IP 地址記錄已經(jīng)添加到了DNS的數(shù)據(jù)庫(kù)中。
還有的時(shí)候,我們鍵入Nslookup www.cnkuai.cn ,會(huì)出現(xiàn)如下結(jié)果: *** Can’t find server name for domain: No response from server *** Can’t find www.cnkuai.cn : 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)的根源。
|