文章編號: 200525 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

Nslookup.exe 是用來疑難排解並測試 DNS 伺服器的命令列系統管理工具。此項工具是經由 [控制台] 與 TCP/IP 通訊協定一併安裝。本文包含使用 Nslookup.exe 的幾個秘訣。

其他相關資訊

如要使用 Nslookup.exe,請注意下列事項:
  • TCP/IP 通訊協定必須安裝在執行 Nslookup.exe 的電腦上
  • 從命令提示字元執行 IPCONFIG /ALL 命令時,至少必須指定一個 DNS 伺服器。
  • Nslookup 必定會轉移目前內容的名稱。如果您沒有完整的名稱查詢 (也就是以點結束),該查詢將會被附加到目前的內容。例如,目前的 DNS 設定是 att.com,而查詢是在 www.microsoft.com 上執行,則第一個查詢會因為不合格而顯示為 www.microsoft.com.att.com。此項行為可能與 Nslookup 其他的廠商版本不一致,而本文的用意是要浧清 Microsoft Windows NT Nslookup.exe 的行為
  • 如果您已經實作使用了由 Microsoft TCP/IP 內容 頁面上的 DNS 索引標籤定義的網域尾碼搜尋順序中的搜尋清單,將不會發生轉移。查詢將附加至清單中所指定的網域尾碼。為了避免使用搜尋清單,務必使用完整格式網域名稱 (也就是在名稱最後加上一點)。

Nslookup.exe 可以兩種模式執行:互動式與非互動式。非互動模式在僅有一項資料需要回傳時會很有用。非互動模式的語法如下:

   nslookup [-option] [hostname] [server]
				

如果要在互動模式下啟動 Nslookup.exe,只需在命令提示字元中輸入 "nslookup":

   C:\> nslookup
   Default Server:  nameserver1.domain.com
   Address:  10.0.0.1
   >
				

在命令提示字元中輸入 "help" 或 "?" 會產生可用的命令列清單。在命令提示字元中輸入的內容若不被辨識為有效命令,將視為主機名稱且會嘗試使用預設伺服器來解決它。若要中斷互動指令,請按下 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 中設定許多不同的選項。輸入 set all 便能取得完整的選項清單。在 set 命令下可列印可用清單。


查閱不同資料類型

要在網域名稱區查閱不同的資料類型,請在命令提示字元中使用 set typeset q[uerytype] 命令。例如,要查詢郵件交換程式資料,請輸入:
   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
   >
				

第一次查詢遠端名稱,將獲得授權解答,但後續的查詢就不需授權。第一次查詢遠端主機,本機 DNS 伺服器將連絡授權給該網域的 DNS 伺服器。本機 DNS 伺服器將快取該資訊,以便後續的查詢可以在本機伺服器的快取外,不需授權就可回答。


從另一個名稱伺服器直接查詢

要直接查詢另一個名稱伺服器,請使用 serverlserver 命令以切換到該名稱伺服器。lserver 命令可以使用本機伺服器來取得要切換過去的伺服器位址,而 server 命令則可以使用目前的預設伺服器來取得位址。

範例:
   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 傳送 Entire Zone

Nslookup 可用 ls 命令來傳送整個區域。這有助於在遠端網域中看見所有的主機。ls 命令的語法:

   ls [- a | d | t type] domain [> filename]
				

使用沒有引數的 ls 將傳回所有位址與名稱伺服器資料的清單。-a 參數將傳回別名和正式名稱,-d 將傳回所有資料,而 -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 伺服器可能會封鎖區域轉送,所以此項功能僅供授權的位址或網路使用。如果已設定區域安全性,則將傳回下列的錯誤:
*** 無法列出網域 example.com:查詢被拒

如需其他資訊,請參閱下列「Microsoft 知識庫」中的文件:
193837 Windows NT 4.0 DNS 伺服器預設區域安全性設定

疑難排解 Nslookup.exe

預設伺服器逾時

啟動 Nslookup.exe 公用程式時,可能產生下列錯誤:
*** 無法找到 w.x.y.z 位址的伺服器名稱:逾時

注意w.x.y.z 是 DNS 服務搜尋順序清單上的第一項 DNS 服務。

*** 無法找到 127.0.0.1 位址的伺服器名稱:逾時

第一個錯誤顯示無法聯繫 DNS 伺服器,或是伺服器並未在該電腦上執行。要改正這個問題,可以在該伺服器上開始 DNS 服務,或者檢查是否有連線問題。

第二個錯誤顯示在 DNS 服務搜尋順序清單中,並未定義任何伺服器。要改正這個問題,請在此清單中新增有效的 DNS 伺服器的 IP 位址。

如需其他資訊,請參閱下列「Microsoft 知識庫」中的文件:
172060 NSLOOKUP:找不到位址 127.0.0.1 的伺服器名稱 (機器翻譯)

在開啟 Nslookup.exe 時找不到伺服器名稱

開啟 Nslookup.exe 公用程式時,可能發生下列的錯誤:

*** 無法找到 w.x.y.z 位址的伺服器名稱:不存在的網域


名稱伺服器的 IP 位址沒有 PTR 記錄時,就會發生這個錯誤。啟動 Nslookup.exe 時,反向對應會取得預設伺服器的名稱。如果沒有 PTR 資料,就會傳回這個錯誤訊息。要更新的話,請確認反向對應區域存在,並且包含名稱伺服器的 PTR 記錄。

如需其他資訊,請參閱下列「Microsoft 知識庫」中的文章:
172953 如何安裝及設定 Microsoft DNS 伺服器

子網域的 Nslookup 失敗

在子網域上進行查詢或區域轉送時,Nslookup 可能傳回下列錯誤:

*** ns.domain.com 找不到 child.domain.com.:不存在的網域
*** 無法列出網域 child.domain.com.:不存在的網域


在「DNS 管理員」中,可以在主要區域下面新增新網域,如此一來就建立了子網域。以這種方式建立子網域,就不會在網域中建立個別的 db 檔案,因此查詢該網域或在其上執行區域轉送就會產生上述的錯誤。在父系網域執行區域轉送,資料會同時列在父系和子網域中。要解決這個問題,請在子網域的 DNS 伺服器上建立新的主要區域。
注意 :本文屬於「快速發佈」文章,係由 Microsoft 技術支援或組織內部直接建立。 本文所包含的資訊是為了回應新問題而依現況提供。 因此為了迅速對外發佈,文章內容可能含有印刷錯誤,而且可能會在不另行通知的情況下進行修改。 如需其他考量事項,請參閱使用規定

屬性

文章編號: 200525 - 上次校閱: 2013年12月6日 - 版次: 2.0
這篇文章中的資訊適用於:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows NT Server 4.0 Standard Edition
關鍵字:?
kbinfo KB200525
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com