nslookup

適用於:Windows Server 2022、Windows Server 2019、Windows Server 2016、Windows Server 2012 R2、Windows Server 2012

顯示可以用來診斷網域名稱服務 (DNS) 基礎結構的資訊。 使用此工具之前,您應該先熟悉 DNS 的運作方式。 只有在已安裝 TCP/IP 通訊協定時,才能使用 nslookup 命令列工具。

語法

nslookup [exit | finger | help | ls | lserver | root | server | set | view] [options]

參數

參數 描述
nslookup exit 結束 nslookup 命令列工具。
nslookup finger 與目前電腦上的 finger 伺服器連線。
nslookup help 顯示子命令的簡短摘要。
nslookup ls 列出 DNS 網域的資訊。
nslookup lserver 將預設伺服器變更為指定的 DNS 網域。
nslookup root 將預設伺服器變更為 DNS 功能變數名稱空間根目錄的伺服器。
nslookup server 將預設伺服器變更為指定的 DNS 網域。
nslookup set 變更會影響查詢運作方式的組態設定。
nslookup set all 列印組態設定的目前值。
nslookup set class 變更查詢類別。 類別會指定資訊的通訊協定群組。
nslookup set d2 開啟或關閉詳盡的偵錯模式。 會列印每個封包的所有欄位。
nslookup set debug 開啟或關閉偵錯模式。
nslookup set domain 將預設 DNS 網域變更為指定的名稱。
nslookup set port 將預設 TCP/UDP DNS 名稱伺服器連接埠變更為指定的值。
nslookup set querytype 變更查詢的資源記錄類型。
nslookup set recurse 如果 DNS 名稱伺服器沒有資訊,則告知 DNS 名稱伺服器查詢其他伺服器。
nslookup set retry 設定重試次數。
nslookup set root 變更用於查詢的根伺服器名稱。
nslookup set search 將 DNS 網域搜尋清單中的 DNS 網域名稱附加至要求,直到收到答案為止。 當集合和查詢要求包含至少一個句點但不隨後置句點結束時,就會套用此動作。
nslookup set srchlist 變更預設 DNS 網域名稱和搜尋清單。
nslookup set timeout 變更初始秒數,以等候回覆要求。
nslookup set type 變更查詢的資源記錄類型。
nslookup set vc 指定向伺服器傳送要求時使用或不使用虛擬線路。
nslookup view 排序並列出先前 ls 子命令或命令的輸出。

備註

  • nslookup 命令列工具有兩種模式:互動式和非互動式。

    • 如果只需要查詢單一資料片段,或在指令碼、命令列或 PowerShell 中使用 nslookup,請使用非互動模式。 在非互動模式 (也稱為命令模式) 中,第一個命令列參數是要查閱之電腦的名稱或 IP 位址。 第二個參數是 DNS 名稱伺服器的名稱或 IP 位址。 如果您省略第二個引數,nslookup 會使用預設的 DNS 名稱伺服器。

    • 如果需要查詢多個的資料片段或設定數位組態,可以使用互動式模式。 若要進入互動式模式,請輸入連字元 (-), 而不是 nslookup 命令行中的第一個參數。 輸入第二個參數是 DNS 名稱伺服器的名稱或 IP 位址。 如果您省略第二個引數,nslookup 會使用預設的 DNS 名稱伺服器。 您也可以在命令提示字元中輸入 nslookup,然後在互動式命令列中輸入要搜尋的名稱或 IP 位址來叫用互動式模式。

  • 單獨輸入 nslookup -nslookup 後,命令提示字元就會變更為互動式提示 >。 在互動式模式中,您可以:

    • 在個別行輸入名稱或 IP 位址、set 變數和其他選項。
    • 按下 CTRL+B 可隨時中斷互動式命令。
    • 輸入 exit 以結束。
    • 將內建命令視為電腦名稱,方法是其在前面加上逸出字元 (\)。 無法辨識的命令會解譯為電腦名稱。
  • 如果要尋找的電腦是 IP 位址,且查詢是 APTR 資源記錄類型,則會傳回電腦的名稱。

  • 如果要尋找的電腦是名稱,而且沒有尾端句點,則會將預設 DNS 網域名稱附加到該名稱中。 此行為取決於以下 set 子命令的狀態:domainsrchlistdefnamesearch

  • 如果查詢要求失敗,命令列工具會提供下列其中一個錯誤訊息:

    錯誤訊息 描述
    逾時 伺服器在特定時間和特定次數的重試之後未回應要求。 您可以使用 nslookup set timeout 命令來設定逾時期限。 您可以使用 nslookup set retry 命令來設定重試次數。
    沒有來自伺服器的回應 伺服器電腦上沒有執行 DNS 名稱伺服器。
    無任何記錄 雖然電腦名稱有效,但 DNS 名稱伺服器沒有電腦目前查詢類型的資源記錄。 查詢類型是使用 nslookup set querytype 命令來指定。
    不存在的網域 電腦或 DNS 網域名稱不存在。
    拒絕連線或網路無法連線 無法連線到 DNS 名稱伺服器或 finger 伺服器。 此錯誤通常會與 lsfinger 要求一起發生。
    伺服器失敗 DNS 名稱伺服器在其資料庫中發現內部不一致,且無法傳回有效的答案。
    拒絕 DNS 名稱伺服器拒絕服務要求。
    格式錯誤 DNS 名稱伺服器發現要求封包的格式不正確。 它可能會指出 nslookup 中的錯誤。

範例

在 nslookup 非互動式模式中,您可以在 Windows 命令列或指令碼中指定參數和選項。 在互動模式中,您可以在互動式命令提示字元中指定不同行的引數和選項。

非互動模式

在 nslookup 非互動式模式中,第一個參數是要尋找的電腦,而第二個參數是要使用的 DNS 名稱伺服器。 如果您未指定第二個參數,nslookup 會使用預設的 DNS 名稱伺服器。 下列範例會在非互動模式中使用 nslookup

  • 下列範例會在 1.1.1.1 的 DNS 名稱伺服器上查詢功能變數名稱 mydomain.com 的 IP 位址:

    nslookup mydomain.com 1.1.1.1
    
  • 下列範例在預設 DNS 名稱伺服器上查詢 IP 位址 4.4.4.4 的網域名稱:

    nslookup 4.4.4.4
    
  • 若要指定選項,您可以使用 nslookup -<option>。 例如,以下命令開啟 nslookup debug 選項,以取得已傳送封包的詳細資訊。

    nslookup -debug mydomain.com
    
  • 若要傳回特定類型的記錄或資訊,請使用 -type=<resourcerecordtype> 選項。 例如,下列命令只會傳回 IPv6 記錄類型:

    nslookup -type=AAAA mydomain.com
    
  • 您可以在命令列中結合選項和資源記錄類型查詢。 下列範例會啟用偵錯輸出、擷取 IPv6 和 IPv4 位址、不嘗試使用搜尋網域、使用遞迴查詢,以及使用 1.1.1.1.1 DNS 查詢伺服器:

    nslookup -debug -type=A+AAAA -nosearch -recurse mydomain.com 1.1.1.1
    

互動模式

若要使用互動模式,請輸入 -,而不是 nslookup 命令列的第一個參數,或直接輸入 nslookup。 命令提示字元接著會變更為互動式提示 >。 下列範例顯示互動模式命令。

  • 下列命令會將 nslookup 置於互動模式中,並將 1.1.1.1 設定為預設 DNS 查詢伺服器:

    nslookup - 1.1.1.1
    
  • 在互動式提示中的下列命令會傳回目前伺服器的 nslookup 選項和參數設定:

    set all
    
  • 在互動式提示中的下列命令會傳回 mydomain.com 的 IP 位址:

    mydomain.com
    
  • 互動式提示中的下列命令會將預設 DNS 名稱伺服器變更為 4.4.4.4

    server 4.4.4.4
    
  • 在互動式提示中的下列命令會將查詢資源記錄類型設定為 HINFO

    set type=HINFO
    
  • 在互動式提示中的下列命令會結束互動模式,並返回 Windows 命令提示字元:

    exit