Nslookup顯示可用來診斷域名系統(tǒng) (DNS) 基礎(chǔ)結(jié)構(gòu)的信息。只有在已安裝 TCP/IP 協(xié)議的情況下才可以使用 Nslookup 命令行工具。
語法 nslookup [-SubCommand ...] [{ComputerToFind| [-Server]}]
參數(shù) -SubCommand ... 將一個(gè)或多個(gè) nslookup 子命令指定為命令行選項(xiàng)。 ComputerToFind 如果未指定其它服務(wù)器,就使用當(dāng)前默認(rèn) DNS 名稱服務(wù)器查閱 ComputerToFind 的信息。要查找不在當(dāng)前 DNS 域的計(jì)算機(jī),請(qǐng)?jiān)诿Q上附加句點(diǎn)。 -Server 指定將該服務(wù)器作為 DNS 名稱服務(wù)器使用。如果省略了 -Server,將使用默認(rèn)的 DNS 名稱服務(wù)器。 {help|?} 顯示 nslookup 子命令的簡(jiǎn)短總結(jié)。 注釋 如果 ComputerToFind 是 IP 地址,并且查詢類型為 A 或 PTR 資源記錄類型,則返回計(jì)算機(jī)的名稱。如果 ComputerToFind 是一個(gè)名稱,并且沒有跟蹤期,則向該名稱添加默認(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ī)的名稱或 IP 地址。對(duì)于第二個(gè)參數(shù),鍵入 DNS 名稱服務(wù)器的名稱或 IP 地址。如果省略第二個(gè)參數(shù),nslookup 使用默認(rèn) DNS 名稱服務(wù)器。
如果需要查找多塊數(shù)據(jù),可以使用交互式模式。為第一個(gè)參數(shù)鍵入連字符 (-),為第二個(gè)參數(shù)鍵入 DNS 名稱服務(wù)器的名稱或 IP 地址;蛘撸÷詢蓚(gè)參數(shù),則 nslookup 使用默認(rèn) DNS 名稱服務(wù)器。下面是一些有關(guān)在交互式模式下工作的提示:
要隨時(shí)中斷交互式命令,請(qǐng)按 CTRL+B。 要退出,請(qǐng)鍵入 exit。 要將內(nèi)置命令當(dāng)作計(jì)算機(jī)名,請(qǐng)?jiān)谠撁钋懊娣胖棉D(zhuǎn)義字符 (\)。 將無法識(shí)別的命令解釋為計(jì)算機(jī)名。 如果查找請(qǐng)求失敗,nslookup 將打印錯(cuò)誤消息。下表列出可能的錯(cuò)誤消息。 錯(cuò)誤消息 說明 Timed out 重試一定時(shí)間和一定次數(shù)之后,服務(wù)器沒有響應(yīng)請(qǐng)求?梢酝ㄟ^ set timeout 子命令設(shè)置超時(shí)期。而利用 set retry 子命令設(shè)置重試次數(shù)。 No response from server 服務(wù)器上沒有運(yùn)行 DNS 名稱服務(wù)器。 No records 盡管計(jì)算機(jī)名有效,但是 DNS 名稱服務(wù)器沒有計(jì)算機(jī)當(dāng)前查詢類型的資源記錄。查詢類型使用 set querytype 命令指定。 Nonexistent domain 計(jì)算機(jī)或 DNS 域名不存在。 Connection refused or
Network is unreachable 無法與 DNS 名稱服務(wù)器或指針服務(wù)器建立連接。該錯(cuò)誤通常發(fā)生在 ls 和 finger 請(qǐng)求中。 Server failure DNS 名稱服務(wù)器發(fā)現(xiàn)在其數(shù)據(jù)庫(kù)中內(nèi)部不一致而無法返回有效應(yīng)答。 Refused DNS 名稱服務(wù)器拒絕為請(qǐng)求服務(wù)。 Format error DNS 名稱服務(wù)器發(fā)現(xiàn)請(qǐng)求數(shù)據(jù)包的格式不正確?赡鼙砻 nslookup 中存在錯(cuò)誤。
范例 每個(gè)命令行選項(xiàng)均由連字符 (-) 后緊跟命令名組成,有時(shí)是等號(hào) (=) 后跟一個(gè)數(shù)值。例如,要將默認(rèn)的查詢類型更改為主機(jī)(計(jì)算機(jī))信息,并將初始超時(shí)更改為 10 秒,請(qǐng)鍵入:
nslookup -querytype=hinfo -timeout=10
概要 Nslookup.exe 是命令行管理工具,用于測(cè)試或解決 DNS 服務(wù)器問題。此工具是通過“控制面板”與 TCP/IP 協(xié)議一起安裝的。本文包含使用 Nslookup.exe 的若干提示。
更多信息 要使用 Nslookup.exe,請(qǐng)注意以下方面: • TCP/IP 協(xié)議必須安裝在運(yùn)行 Nslookup.exe 的計(jì)算機(jī)上。 • 在 Microsoft TCP/IP 屬性頁的 DNS 選項(xiàng)卡的“DNS 服務(wù)搜索順序”字段中必須至少指定一個(gè) DNS 服務(wù)器。 • Nslookup 一直從當(dāng)前上下文中的名稱中抽去后綴。如果無法進(jìn)行完全合格的名稱查詢(即,使用尾隨點(diǎn)),那么查詢將被附加到當(dāng)前上下文中。例如,當(dāng)前 DNS 設(shè)置是 att.com,并且在 www.microsoft.com 中執(zhí)行查詢,那么第一個(gè)查詢將作為 www.microsoft.com.att.com 而失敗,因?yàn)椴樵兪遣缓细竦。這種方式與其他供應(yīng)商的 Nslookup 方式可能不一致,本文的目的在于闡明 Microsoft Windows NT Nslookup.exe 的處理方式。 • 如果已經(jīng)使用 Microsoft TCP/IP 屬性頁 DNS 選項(xiàng)卡上定義的“域后綴搜索順序”(Domain Suffix Search Order )中的搜索列表,將不會(huì)發(fā)生抽取操作。查詢將被附加到列表中指定的域后綴中。要避免使用搜索列表,請(qǐng)始終使用“完全合格的域名稱”(即,在名稱中添加尾隨點(diǎn))。
Nslookup.exe 可以在兩種模式下運(yùn)行:交互式和非交互式。當(dāng)需要返回單塊數(shù)據(jù)時(shí),請(qǐng)使用非交互式模式。非交互模式的語法如下:
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ù)器來解析它。要中斷交互命令,請(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
通過在命令提示符下運(yùn)行 set 命令,可以在 Nslookup.exe 中設(shè)置許多不同的選項(xiàng)。要得到這些選項(xiàng)的完整列表,只需輸入 set all。請(qǐng)參見以上內(nèi)容,在 set 命令下,得到可用選項(xiàng)的打印輸出。
查找不同的數(shù)據(jù)類型
要在域名空間中查找不同的數(shù)據(jù)類型,請(qǐng)?jiān)诿钐崾痉率褂?set type 或 set q[uerytype] 命令。例如,要查詢郵件交換器數(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 >
第一次查詢是查找遠(yuǎn)程名稱,答案是權(quán)威的,但隨后的查詢是非權(quán)威的。第一次查詢遠(yuǎn)程主機(jī)時(shí),本地 DNS 服務(wù)器與作為該域權(quán)威的 DNS 服務(wù)器取得聯(lián)系。然后,本地 DNS 服務(wù)器緩存該信息,以便從本地服務(wù)器緩存中非權(quán)威地回答隨后的查詢。
直接從另一個(gè)名稱服務(wù)器中進(jìn)行查詢
要直接查詢另一個(gè)名稱服務(wù)器,請(qǐng)使用 server 或 lserver 命令切換到該名稱服務(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 命令的語法如下:
ls [- a | d | t type] domain [> filename]
不帶參數(shù)使用 ls 命令將返回所有地址和名稱服務(wù)器數(shù)據(jù)的列表。-a 參數(shù)將返回別名和正式名稱,-d 將返回所有數(shù)據(jù),而 -t 將按類型進(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ù)沒有運(yùn)行。要解決此問題,啟動(dòng)該服務(wù)器上的 DNS 服務(wù),或檢查可能存在的連接問題。
第二個(gè)錯(cuò)誤指出在“DNS 服務(wù)搜索順序”列表中還沒有定義服務(wù)器。要解決此問題,請(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)沒有名稱服務(wù)器 IP 地址的 PTR 記錄時(shí),會(huì)出現(xiàn)此錯(cuò)誤。當(dāng) Nslookup.exe 啟動(dòng)時(shí),它執(zhí)行反向搜索,以得到默認(rèn)服務(wù)器的名稱。如果沒有 PTR 數(shù)據(jù),則返回此錯(cuò)誤消息。要解決此問題,請(qǐng)確保反向搜索區(qū)域存在,并包含名稱服務(wù)器的 PTR 記錄。
Nslookup 在子域上無法執(zhí)行
當(dāng)在子域上執(zhí)行查詢或進(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)行查詢或在該域進(jìn)行區(qū)域轉(zhuǎn)移時(shí)將會(huì)產(chǎn)生以上錯(cuò)誤。在父域上進(jìn)行區(qū)域轉(zhuǎn)移時(shí)將同時(shí)列出父域數(shù)據(jù)和子域數(shù)據(jù)。要解決此問題,請(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中卻沒有集成這一個(gè)工具。 Nslookup 必須要安裝了TCP/IP 協(xié)議的網(wǎng)絡(luò)環(huán)境之后才能使用。
現(xiàn)在網(wǎng)絡(luò)中已經(jīng)架設(shè)好了一臺(tái) DNS 服務(wù)器,主機(jī)名稱為 linlin ,它可以把域名 www.cnkuai.cn 解析為 192.168.0.1 的IP地址,這是我們平時(shí)用得比較多的正向解析功能。
檢測(cè)步驟如下:
在 Windows 2000 中單擊“開始”->“程序”->“附件”->“命令提示符”,在 C:\> 的后面鍵入 Nslookup www.cnkuai.cn ,“回車”之后即可看到如下結(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)正向解析的情況下,它的反向解析是否正常呢? 也就是說,能否把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 這說明,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
這種情況說明網(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í),說明測(cè)試主機(jī)在目前的網(wǎng)絡(luò)中,根本沒有找到可以使用的 DNS 服務(wù)器。此時(shí),我們要對(duì)整個(gè)網(wǎng)絡(luò)的連通性作全面的檢測(cè),并檢查DNS服務(wù)器是否處于正常工作狀態(tài),采用逐步排錯(cuò)的方法,找出 DNS 服務(wù)不能啟動(dòng)的根源。
|