Nslookup命令詳解 (域名DNS診斷)
Nslookup 顯示可用來診斷域名系統(tǒng) (DNS) 基礎(chǔ)結(jié)構(gòu)的信息。只有在已安裝 TCP/IP 協(xié)議的情況下才可以使用 Nslookup 命令行工具。語法nslookup [-option] [ho
Nslookup 顯示可用來診斷域名系統(tǒng) (DNS) 基礎(chǔ)結(jié)構(gòu)的信息。只有在已安裝 TCP/IP 協(xié)議的情況下才可以使用 Nslookup 命令行工具。
語法
nslookup [-option] [hostname] [server]
Nslookup 有兩種模式:交互式和非交互式。
要隨時(shí)中斷交互式命令,請(qǐng)按 CTRL C。
要退出,請(qǐng)鍵入 exit 。
要將內(nèi)置命令當(dāng)作計(jì)算機(jī)名,請(qǐng)?jiān)谠撁钋懊娣胖棉D(zhuǎn)義字符()
如果查找請(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ù)庫中內(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.c om 而失敗,因?yàn)椴樵兪遣缓细竦?。這種方式與其他供應(yīng)商的 Nslookup 方式可能不一致,本文的目的在于闡明 Microsoft Windows NT Nslookup.exe 的處理方式。
? 如果已經(jīng)使用 Microsoft TCP/IP 屬性頁 DNS 選項(xiàng)卡上定義的“域后綴搜索順序”(Doma in 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ù)器。lserv er 命令使用本地服務(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è)新主域。
語法
nslookup [-子命令...] [{要查找的計(jì)算機(jī) | -服務(wù)器}]
參數(shù)
-子命令...
將一個(gè)或多個(gè) nslookup 子命令指定為命令行選項(xiàng)。
☆Nslookup:exit
—— exit the program
☆Nslookup:finger
——與當(dāng)前計(jì)算機(jī)上的指針服務(wù)器連接。語法
finger [UserName] [{[>] FileName|[>>] FileName}]
參數(shù)
UserName 指定要查找的用戶名。
FileName 指定用于保存輸出的文件名??梢允褂么笥谔?hào) (>) 和兩個(gè)大于號(hào) (>>) 字符按普通方式重定向輸出。
☆ Nslookup:help (?)
——print info on common commands
☆Nslookup:ls
——列出域名系統(tǒng) (DNS) 域的信息。
ls [Option] DNSDomain [{[>] FileName|[>>] FileName}]
參數(shù)
-tQueryType 列出指定類型的所有記錄。有關(guān) QueryType 的說明,請(qǐng)參閱相關(guān)主題中的 s etquerytype 。
-a 列出該 DNS 域中計(jì)算機(jī)的別名。該參數(shù)是 -t CNAME 的同義詞。
-d 列出 DNS 域的所有記錄。該參數(shù)是 -t ANY 的同義詞。
-h 列出該 DNS 域的 CPU 和操作系統(tǒng)信息。該參數(shù)是 -t HINFO 的同義詞。 -s 列出該 DNS 域中計(jì)算機(jī)的知名服務(wù)。該參數(shù)是 -t WKS 的同義詞。
DNSDomain 指定需要其信息的 DNS 域。
,☆ Nslookup:lserver
——將默認(rèn)服務(wù)器更改到指定的域名系統(tǒng) (DNS) 域。
lserver DNSDomain
lserver 命令使用初始服務(wù)器搜索關(guān)于指定 DNS 域的信息。該命令與使用當(dāng)前默認(rèn)服務(wù)器的 server 命令相反。
☆Nslookup:root
——將默認(rèn)的服務(wù)器更改為域名系統(tǒng) (DNS) 域名空間的根服務(wù)器。
通常使用 ns.nic.ddn.mil 名稱服務(wù)器。該命令是 lserver ns.nic.ddn.mil 的同義詞??梢允褂?set root 命令更改根服務(wù)器的名稱。
☆Nslookup:服務(wù)器
——將默認(rèn)服務(wù)器更改到指定的域名系統(tǒng) (DNS) 域。
serverDNSDomain
☆ Nslookup:set
——更改影響查找工作方式的配置設(shè)置。
set KeyWord[=Value]
參數(shù)
KeyWord 識(shí)別從 set 子命令派生的子命令。例如,子命令 set d2 包含一個(gè) [no]d2 關(guān)鍵字。有關(guān)從 set 子命令派生的子命令列表,請(qǐng)參閱相關(guān)主題。使用 set all 查看當(dāng)前設(shè)置的列表。
Value 為每個(gè)子命令指定 nslookup 配置設(shè)置值。
☆ Nslookup:set all
——打印配置設(shè)置的當(dāng)前值。
☆ Nslookup:set class
——更改查詢類別。該類別指定信息的協(xié)議組。
set cl[ass]=Class
參數(shù)
Class 默認(rèn)類別為 IN 。下表列出了此命令的有效值。
IN 指定 Internet 類別。
CHAOS 指定 Chaos 類別。
HESIOD 指定 MIT Athena Hesiod 類別。
ANY 指定以前列出的任何通配符。
☆ Nslookup:set d2
——打開或關(guān)閉窮舉調(diào)試模式。每個(gè)數(shù)據(jù)包的所有字段均打印。
set [no]d2
參數(shù)
,nod2關(guān)閉窮舉調(diào)試模式。默認(rèn)語法為 nod2。
d2打開窮舉調(diào)試模式。
☆ Nslookup:set debug
——打開或關(guān)閉調(diào)試模式。
set [no]deb[ug]
☆ Nslookup:set defname
——將默認(rèn)的域名系統(tǒng) (DNS) 域名附加到單個(gè)組件查找請(qǐng)求。單個(gè)組件是指不包含任何復(fù)合的組件。
set [no]def[name]
☆ Nslookup:set domain
——將默認(rèn)的域名系統(tǒng) (DNS) 域名更改為指定名稱。
set do[main]=DomainName默認(rèn)域名為主機(jī)名。
☆ Nslookup:set ignore
——忽略數(shù)據(jù)包截?cái)噱e(cuò)誤。
set [no]ig[nore]
☆ Nslookup:set port
——將默認(rèn)的 TCP/UDP 域名系統(tǒng) (DNS) 名稱服務(wù)器端口更改為指定值。
setpo[rt]=Port
參數(shù)
端口 指定新的默認(rèn) TCP/UDP DNS 名稱服務(wù)器端口值。默認(rèn)端口為 53。
☆ Nslookup:set querytype
——更改用于查詢的資源記錄類型。
set q[uerytype]=ResourceRecordType
參數(shù)
ResourceRecordType 指定 DNS 資源記錄類型。默認(rèn)的資源記錄類型為 A 。下表列出此命令的有效值。
A 指定計(jì)算機(jī) IP 地址。
ANY 指定所有數(shù)據(jù)類型。
CNAME 指定用于別名的規(guī)范名稱。
GID 指定組名的組標(biāo)識(shí)符。
HINFO 指定計(jì)算機(jī) CPU 以及操作系統(tǒng)類型。
MB 指定郵箱域名。
MG 指定郵件組成員。
MINFO 指定郵箱或郵件列表信息。
MR 指定郵件重命名域名。
,MX 指定郵件交換器。
NS 指定用于命名區(qū)域的 DNS 名稱服務(wù)器。
PTR 如果查詢是 IP 地址,則指定計(jì)算機(jī)名;否則指定指向其他信息的指針。 SOA 指定用于 DNS 區(qū)域的“起始授權(quán)機(jī)構(gòu)”。
TXT 指定文本信息。
UID 指定用戶標(biāo)識(shí)符。
UINFO 指定用戶信息。
WKS 描述已知服務(wù)。
☆ Nslookup:set recurse
——如果沒有該信息,則告知域名系統(tǒng) (DNS) 名稱服務(wù)器查詢其他服務(wù)器。
set [no]rec[urse]
☆ Nslookup:set retry
——設(shè)置重試的次數(shù)。
set ret[ry]=Number
參數(shù)
Number 指定新的重試次數(shù)值。默認(rèn)重試次數(shù)為 4 次。
☆ Nslookup:set root
——更改用于查詢的根服務(wù)器的名稱。
setro[ot]=RootServer
參數(shù)
RootServer 為根服務(wù)器指定新名稱。默認(rèn)值為 ns.nic.ddn.mil 。
☆ Nslookup:set search
——向請(qǐng)求追加 DNS 域搜索列表中的域名系統(tǒng) (DNS) 域名,直到收到應(yīng)答為止。該命令應(yīng)用于如下情況:當(dāng)設(shè)置和查找請(qǐng)求包含至少一個(gè)時(shí)期,但不是以跟蹤期結(jié)束時(shí)。 set [no]sea[rch]
☆ Nslookup:set srchlist
——更改默認(rèn)的域名系統(tǒng) (DNS) 域名和搜索列表。
Set srchl[ist]=DomainName[/...]
☆ Nslookup:set timeout
——更改等待對(duì)請(qǐng)求答復(fù)的初始秒數(shù)。
set ti[meout]=Number
參數(shù)
Number 指定等待答復(fù)的秒數(shù)。默認(rèn)等待秒數(shù)為 5 秒。
,☆ Nslookup:set type
——更改用于查詢的資源記錄類型。
setty[pe]=ResourceRecordType
參數(shù)
ResourceRecordType 指定 DNS 資源記錄類型。默認(rèn)的資源記錄類型為 A 。
☆ Nslookup:set vc
——指明向服務(wù)器發(fā)送請(qǐng)求時(shí)使用或不使用虛電路。
set [no]v[c]
☆ Nslookup:查看
——排序和列出前一個(gè) ls 子命令或命令組的輸出。
view FileName
要查找的計(jì)算機(jī)
如果未指定其他服務(wù)器,請(qǐng)使用當(dāng)前默認(rèn) DNS 名稱服務(wù)器查找要查找的計(jì)算機(jī)的信息。要查找不在當(dāng)前 DNS 域的計(jì)算機(jī),請(qǐng)?jiān)诿Q上附加句點(diǎn)。
-服務(wù)器
指定將該服務(wù)器作為 DNS 名稱服務(wù)器使用。如果省略了 -服務(wù)器,將使用默認(rèn)的 DNS 名稱服務(wù)器。
{ help| ?}
顯示 nslookup 子命令的簡短摘要。
注釋
☆ 如果要查找的計(jì)算機(jī)是 IP 地址,并且查詢類型為 A 或 PTR 資源記錄類型,則返回計(jì)算機(jī)的名稱。如果要查找的計(jì)算機(jī)是一個(gè)名稱,并且沒有尾部句號(hào),則向該名稱添加默認(rèn) DNS 域名。該行為依賴于下列 set 子命令的狀態(tài):domain 、srchlist 、defname 和 search 。 ☆ 如果鍵入連字符 (-) 代替要查找的計(jì)算機(jī),則命令提示符更改為 nslookup 交互式模式。 ☆ 命令行長度必須少于 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ù)器。