- 論壇徽章:
- 0
|
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 名稱服務(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è)名稱,并且沒(méi)有跟蹤期,則向該名稱添加默認(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)義字符 (\)。
將無(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 名稱服務(wù)器。
No records 盡管計(jì)算機(jī)名有效,但是 DNS 名稱服務(wù)器沒(méi)有計(jì)算機(jī)當(dāng)前查詢類型的資源記錄。查詢類型使用 set querytype 命令指定。
Nonexistent domain 計(jì)算機(jī)或 DNS 域名不存在。
Connection refused
or
Network is unreachable
無(wú)法與 DNS 名稱服務(wù)器或指針?lè)⻊?wù)器建立連接。該錯(cuò)誤通常發(fā)生在 ls 和 finger 請(qǐng)求中。
Server failure DNS 名稱服務(wù)器發(fā)現(xiàn)在其數(shù)據(jù)庫(kù)中內(nèi)部不一致而無(wú)法返回有效應(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ù)器問(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)前上下文中的名稱中抽去后綴。如果無(wú)法進(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 屬性頁(yè) DNS 選項(xiàng)卡上定義的“域后綴搜索順序”(Domain Suffix Search Order )中的搜索列表,將不會(huì)發(fā)生抽取操作。查詢將被附加到列表中指定的域后綴中。要避免使用搜索列表,請(qǐ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ù)類型
要在域名空間中查找不同的數(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 命令的語(yǔ)法如下:
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ù)沒(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)有名稱服務(wù)器 IP 地址的 PTR 記錄時(shí),會(huì)出現(xiàn)此錯(cuò)誤。當(dāng) Nslookup.exe 啟動(dòng)時(shí),它執(zhí)行反向搜索,以得到默認(rèn)服務(wù)器的名稱。如果沒(méi)有 PTR 數(shù)據(jù),則返回此錯(cuò)誤消息。要解決此問(wèn)題,請(qǐng)確保反向搜索區(qū)域存在,并包含名稱服務(wù)器的 PTR 記錄。
Nslookup 在子域上無(wú)法執(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ù)。要解決此問(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ī)名稱為 linlin ,它可以把域名
www.feitium.net
解析為 192.168.0.1 的IP地址,這是我們平時(shí)用得比較多的正向解析功能。
檢測(cè)步驟如下:
在 Windows 2000 中單擊“開(kāi)始”->“程序”->“附件”->“命令提示符”,在 C:\> 的后面鍵入 Nslookup
www.feitium.net
,“回車”之后即可看到如下結(jié)果:
Server: linlin
Address: 192.168.0.5
Name:
www.feitium.net
Address: 192.168.0.1
以上結(jié)果顯示,正在工作的 DNS 服務(wù)器的主機(jī)名為 linlin ,它的 IP 地址是192.168.0.5 ,而域名
www.feitium.net
所對(duì)應(yīng)的 IP 地址為 192.168.0.1 。那么,在檢測(cè)到 DNS 服務(wù)器 linlin 已經(jīng)能順利實(shí)現(xiàn)正向解析的情況下,它的反向解析是否正常呢? 也就是說(shuō),能否把IP地址192.168.0.1反向解析為域名
www.feitium.net
?我們?cè)诿钐崾痉鸆:\>的后面鍵入 Nslookup 192.168.0.1 ,得到結(jié)果如下:
Server: linlin
Address: 192.168.0.5
Name:
www.feitium.net
Address: 192.168.0.1
這說(shuō)明,DNS 服務(wù)器 linlin 的反向解析功能也正常。
然而,有的時(shí)候,我們鍵入Nslookup
www.feitium.net
,卻出現(xiàn)如下結(jié)果:
Server: linlin
Address: 192.168.0.5
*** linlin can't find
www.feitium.net:
Non-existent domain
這種情況說(shuō)明網(wǎng)絡(luò)中DNS服務(wù)器 linlin 在工作,卻不能實(shí)現(xiàn)域名
www.feitium.net
的正確解析。此時(shí),要分析DNS服務(wù)器的配置情況,看是否
www.feitium.net
這一條域名對(duì)應(yīng)的 IP 地址記錄已經(jīng)添加到了DNS的數(shù)據(jù)庫(kù)中。
還有的時(shí)候,我們鍵入Nslookup
www.feitium.net
,會(huì)出現(xiàn)如下結(jié)果:
*** Can't find server name for domain: No response from server
*** Can't find
www.feitium.net
: 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)的根源。
本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u1/44851/showart_409868.html |
|