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