文章編號: 321045 - 上次校閱: 2007年12月3日 - 版次: 11.3

說明 DNSLint 公用程式

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

結論

DNSLint 是 Microsoft Windows 公用程式,可以協助您診斷常見的 DNS 名稱解析問題。

您可以從「Microsoft 下載中心」下載下列檔案:
摺疊此圖像展開此圖像
下載
立即下載 Dnslint.exe 套件。 (http://download.microsoft.com/download/2/7/2/27252452-e530-4455-846a-dd68fc020e16/dnslint.v204.exe)
如需有關如何下載 Microsoft 技術支援檔案的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
119591? (http://support.microsoft.com/kb/119591/ ) 如何從線上服務取得 Microsoft 支援檔案
Microsoft 已對這個檔案做過病毒的掃描。Microsoft 是利用發佈當日的最新病毒偵測軟體來掃描檔案,看看有沒有病毒感染。檔案會儲存在安全的伺服器上,以避免任何未經授權的更改。

其他相關資訊

DNSLint 具有三種函式,可以用來驗證網域名稱系統 (DNS) 記錄,並產生 HTML 報告。三種函式為:
  • dnslint /d:此函式會診斷造成「無用委派」(Lame Delegation) 的可能原因,以及其他 DNS 相關問題。
  • dnslint /ql:此函式會驗證多重 DNS 伺服器上使用者所定義的 DNS 記錄集。
  • dnslint /ad:此函式會驗證特別用於 Active Directory 複寫的 DNS 記錄。
DNSLint 是命令列公用程式。語法為:
dnslint /d domain_name | /ad [LDAP_IP_address] | /ql input_file
[/c [smtp,pop,imap]] [/no_open] [/r report_name]
[/t] [/test_tcp] [/s DNS_IP_address] [/v] [/y]
當您執行 DNSLint,必須指定 /d/ad/ql,其他參數則可以選擇性地使用。

請使用 /d 參數,以要求測試網域名稱。在疑難排解無用委派問題時,這個參數會有很用。
  • 您必須指定網域名稱,才能進行測試。
  • 您不能將 /d 參數與 /ad 參數搭配使用。
請使用 /ad 參數,來要求 Active Directory 進行測試。
  • /ad 參數會解析 AD 樹系複寫所使用的 DNS 記錄。
  • 依預設會使用本機系統的 LDAP 服務。
  • 您可以指定遠端 LDAP 伺服器 IP 位址 (選用)。
  • 只接受有效的 IP 位址,不接受名稱。

    這通常是 Active Directory 網域控制站。
  • 您必須將 /ad 參數與 /s 選項搭配使用,其中 /s 會針對可以管理 AD 樹系根目錄中 _msdcs 區域的 DNS 伺服器指定 IP 位址。
  • 您不能將 /ad 參數與 /d/c 一起使用。
您可以使用 /ql 參數,以要求針對清單中的 DNS 查詢進行測試。
  • /ql 參數會將指定的 DNS 查詢傳送到文字輸入檔。
  • 您必須指定輸入檔的路徑和名稱。
  • /ql 參數支援 A、PTR、CNAME、SRV 和 MX 記錄查詢。
  • 您可以執行下列命令列,以建立範例輸入檔:
    dnslint /ql autocreate
  • 您不能將 /ql 參數與 /d/ad/c 搭配使用。
注意
  • 您不能將 /d/ad/ql 一起使用。
  • 您不能將 /c/ad/ql 搭配使用。
  • 使用 /ad 時,您也必須指定 /s

選用參數


/c 可以用來要求在電子郵件伺服器上進行連線能力測試。
  • /c 參數會測試在電子郵件伺服器上找到的 SMTP、POP 和 IMAP 連接埠。
  • 依預設,會測試所有三種連接埠 (SMTP、POP 和 IMAP 連接埠)。您可以指定只測試一種連接埠,或是搭配組合進行測試。如果要執行這項操作,請使用以逗號分隔的清單:/c pop,imap,smtp
如果不希望自動開啟報告,請使用 /no_open。在指令碼中使用 /no_open 參數是很有用的。

/r 參數可以用來指定所建立報告檔案的名稱。
  • 報告的名稱中會自動加入 .htm 的副檔名。
  • 報告是以 HTML 格式而建立的。預設的名稱是 Dnslint.htm。
  • 預設位置是在目前的目錄。
/s 參數可以用來略過 InterNIC Whois 查閱。
  • 您可以指定 DNS 伺服器 IP 位址,而不是查詢 InterNIC 以取得 IP 位址。
  • /s 參數會使用提供的 IP 位址來檢查 DNS 記錄。
  • 只接受有效的 IP 位址,不接受名稱。
  • 使用這個選項來檢查 InterNIC 不支援的網域名稱。
  • 使用 /ad 時,您必須使用 /s 來指定可以管理 AD 樹系根網域中 _msdcs 子網域的 DNS 伺服器。
  • 使用 /ad 時,您可以執行 /s localhost 來判斷本機系統是否可以解析在 AD 測試中找到的記錄。
/t 可以用來要求產生輸出文字檔。
  • 文字檔會共用與 .htm 報告相同的名稱,只是文字檔的副檔名是 .txt。
  • 在相同目錄中建立文字檔,做為 .htm 報告檔案。
/test_tcp 可以用來要求測試 TCP 連接埠 53。
  • 依預設,只會測試 UDP 連接埠 53。
  • /test_tcp 選項會檢查 TCP 連接埠 53 是否正在回應查詢。
  • /test_tcp 選項不能與 /ql 搭配使用。
/v 可以用來要求在畫面中顯示詳細資訊輸出。

/y 可以用來覆寫現有的報告檔案,不會出現提示。在指令碼中使用 /y 參數是很有用的。

必要的參數


如果要執行 DNSLint,您必須使用下列其中一個參數:
  1. 使用 /d,以測試網域名稱。
  2. 使用 /ad,以測試 Active Directory 複寫。
  3. 使用 /ql,以進行查詢清單中指定的測試。
使用 /d (網域名稱測試) 參數可以測試特定的 DNS 網域名稱。這個參數可以用來診斷「無用委派」問題和其他 DNS 相關問題。您要測試的網域名稱可以是登錄網際網路時所使用的名稱,或是私人名稱區中所使用的名稱。當您測試私人網路上的網域名稱,或是在具有兩層以上網域的網際網路上所登錄的網域名稱時,一定要使用 /s 選項。

使用 /ad (Active Directory 測試) 參數可以測試負責 Active Directory 樹系複寫的 DNS 記錄。在 /ad 參數之後,請指定此測試所要使用的 LDAP 伺服器的 IP 位址。這通常是 Active Directory 網域控制站。如果您在網域控制站上執行 DNSLint,就不需指定 IP 位址,因為此參數的預設值是 127.0.0.1。

使用 /ql (查詢清單測試) 參數可以測試文字輸入檔中所指定的 DNS 記錄。為文字輸入檔指定完整的路徑和名稱,並且緊接在參數的後面。執行 dnslint /ql autocreate 會產生名為 In-dnslint.txt 的範例文字輸入檔。這個檔案中包含了有關必要格式的詳細說明。您可以將這個檔案當做範本,以建立其他輸入檔案。

更多選用參數



/v (詳細資訊) 參數會開啟「詳細資訊模式」。開啟之後,DNSLint 就在畫面上顯示收集資料的步驟。您可以將此輸出儲存成檔案。例如,dnslint /v /d msn.com
DNSLint 所產生的報告名稱預設是 Dnslint.htm。使用 /r (報告) 參數,您就可以指定 DNSLint 產生的報告檔案的名稱和位置。您可以將報告檔案命名為與先前所測試的網域名稱或 DNS 伺服器相同的名稱。由於報告是 HTML 的格式,因此 .htm 副檔名會自動附加在報告名稱中。

依預設,DNSLint 在產生報告檔案之後,就會嘗試使用與報告檔案的 .htm 檔相關的程式來自動開啟報告檔案。通常會使用 Microsoft Internet Explorer,因為 IE 具有 .htm 副檔名。使用 DNSLint 無法將報告格式變更為 HTML 以外的格式。

如果要定義報告所撰寫的位置,請為報告檔案指定完整的路徑和名稱。DNSLint 支援本機磁碟機和通用命名慣例 (UNC) 路徑。例如,dnslint /d msn.com /r c:\reports\reskit 命令會在 C:\Reports 資料夾中建立名為 Reskit.htm 的報告。dnslint /d mydom.local /r \\server1\reports\mydom 命令會在遠端系統 (在報告共用中,稱為 server1) 上建立報告,名稱為 Mydom.htm。


如果您指定 /t (文字) 參數,DNSLint 就會產生文字報告和 HTML 報告。文字報告的名稱會與 .htm 報告的名稱相同,只是文字報告的副檔名是 .txt。檔案及 .htm 檔會建立在相同的資料夾中。例如,dnslint /d msn.com /r c:\reports\reskit /t 命令會在 C:\Reports 資料夾中建立兩份報告。其中一份報告名為 Reskit.htm,另一份是 Reskit.txt。

依照預設,當 DNSLint 偵測出目標資料夾中已經存有的報告檔案的名稱,與將要產生的報告檔案的名稱相同時,就會提示您是否要覆寫檔案。如果使用 /y 選項,DNSLint 就會直接覆寫現有的報告檔案,而不會顯示提示,以得到您的許可。當您使用這個選項時,.htm 檔和選用的 .txt 檔都會被覆寫。

dnslint /y /d msn.com /r c:\reports\reskit /t 命令會在 C:\Reports 資料夾中建立兩份報告。其中一份報告名為 Reskit.htm,另一份是 Reskit.txt。現有的報告檔案會直接被覆寫,不會提示您。

/no_open 參數會使 DNSLint 在產生報告之後,無法自動開啟報告。當您在指令碼中使用 DNSLint,但是不想立即檢閱報告,或是從執行 DNSLint 的系統檢閱報告時,這個選項會很有幫助。例如,dnslint /y /d msn.com /no_open 命令會產生名為 Dnslint.htm 的報告,而此報告會覆寫具有相同名稱的現有檔案,且不會提示使用者。DNSLint 產生報告之後,無法自動開啟報告。

使用 /test_tcp (測試 TCP 連接埠 53) 選項可以要求在使用 /d 時,測試 TCP 連接埠 53。現今網際網路上的許多 DNS 伺服器並不接受 TCP 連接埠 53 上的 DNS 查詢,以避免遭受該連接埠上的可能攻擊。依預設,執行 DNSLint 時,只會測試 UDP 連接埠 53。指定 /test_tcp 選項會使 DNSLint 傳送 TCP 所發出的單一 DNS 查詢,並報告是否收到回應。

您可以將 /test_tcp 選項與 /d/ad 搭配使用。然而,您不能將 /test_tcp 選項與 /ql/ad /s localhost 組合搭配使用。使用 /ql 函式時,就可以直接從輸入檔案測試 TCP 連接埠 53。/ad /s localhost 函式會測試在本機設定的 DNS 伺服器是否可以解析 Active Directory 樹系複寫所使用的 DNS 記錄。您可以使用 /ad /sip_addr 來測試 TCP 連接埠 53 的連線能力,其中 ip_addr 是可以管理 Active Directory 網域根目錄中 _msdcs 區域的 DNS 伺服器的 IP 位址。

例如:
dnslint /d microsoft.com /v /test_tcp
/c (連線能力測試) 參數會要求 DNSLint 在檢查 DNS 伺服器的指定網域名稱時,測試找到的所有電子郵件伺服器上已知的電子郵件連接埠。簡易郵件傳送通訊協定 (SMTP)、郵局通訊協定,第 3 版 (POP3) 和網際網路訊息存取通訊協定 (IMAP4) 均受到支援。依預設,指定 /c 參數時,DNSLint 會嘗試連接至所找到的每部電子郵件伺服器上的所有三個連接埠,也就是 SMTP 的 TCP 連接埠 25、POP 的 TCP 連接埠 110 以及 IMAP 的 TCP 連接埠 143。

DNSLint 會報告每個連接埠的狀態:「聽候」、「不在聽候」或「沒有回應」。如果 DNSLint 發現連接埠正在聽候,就會傳回連接埠的回應 (如果有)。例如,如果 SMTP 連接埠正在聽候,通常會傳回符合 SMTP 通訊協定規格的回應,如下所示:

220 mailsrv.reskit.com Microsoft ESMTP MAIL Service, Version:5.0.2195.3705 ready at Mon, 13 May 2002 17:08:36 -0700

當連接埠是「不在聽候」狀態時,這表示正在查詢的電子郵件伺服器已經以具有「重設」旗標的 TCP 封包發出回應,並且連接埠上並未聽候任何服務或程式。

當目標電子郵件伺服器沒有回應連線嘗試時,就會報告「沒有回應」。假設目標伺服器可以正常運作並執行,這表示目標伺服器上或執行 DNSLint 和目標伺服器的用戶端之間某個地方正在篩選連接埠。

dnslint /y /v /c /d msn.com 命令會產生名為 Dnslint.htm 的報告,而此報告會覆寫具有相同名稱的現有檔案,且不會提示使用者。由於指定了 /c 選項,因此,多餘的區段就會附加到標準 DNSLint 報告的底部:
Network Connectivity Tests
E-mail server:smtp-gw-4.msn.com
IP address: 207.46.181.13

SMTP response:
220 cpimssmtpa18.msn.com Microsoft ESMTP MAIL Service, Version:
5.0.2195.4905 ready at Tue, 14 May 2002 09:26:06 -0700

POP response:NO RESPONSE (possibly filtered)

IMAP response:NO RESPONSE (possibly filtered)
注意

一或多個 POP 伺服器沒有回應。
一或多個 IMAP 伺服器沒有回應。

當目標電子郵件伺服器沒有回應其中一個電子郵件連接埠上的連線嘗試時,DNSLint 會再嘗試連線三次。這是 TCP 用戶端中的標準情形。在 DNSLint 指出連接埠是「沒有回應」的狀態之前,會等待三次個別 TCP 連線嘗試出現逾時,因此,此程序可能會拖慢報告的完成速度。如果要將 DNSLint 操作最佳化,您可以指定想要檢查的電子郵件連接埠,而不要每次都檢查全部三個連接埠。

依預設,指定使用 /c 選項時,就會檢查全部三個 TCP 連接埠 (25、110 和 143)。但是,您可以在 /c 選項後面指定想要檢查哪個連接埠。在 /c 選項後面直接加上以逗號分隔的清單。只能指定有效的連接埠:smtp,pop,imap。這三個連接埠可以任意地組合。例如,dnslint /d reskit.com /c smtp 命令會指定只檢查 SMTP 連接埠 (TCP 連接埠 25)。


dnslint /d reskit.com /c pop,smtp 命令會指定只檢查 SMTP 連接埠 (TCP 連接埠 25) 和 POP 連接埠 (TCP 連接埠 110)。

dnslint /d reskit.com /c imap,pop 命令會指定只檢查 IMAP 連接埠 (TCP 連接埠 143) 和 POP 連接埠 (TCP 連接埠 110)。


您可以將 /s (伺服器) 參數與 /d/ad 函式搭配使用。/s 參數具有數種用途,但是此參數只能採用一種資料類型、DNS 伺服器的有效 IP 位址 (有一個例外)。

當您指定 /d 時,/s 選項會略過 DNSLint 預設要執行的 InterNIC Whois 查閱。因此,DNSLint 可以在私人網路及網域名稱 (包含網際網路上具有兩層以上網域的名稱) 上執行測試。DNSLint 也可以測試 InterNIC 不支援的網域名稱。撰寫本文時,InterNIC 支援針對下列網域進行 Whois 查閱:.biz, .com, .coop, .edu, .info, .int, .museum, .net, 和 .org。

當您使用 /ad 時,就可以使用 /s 參數來指定 DNS 伺服器的 IP 位址,其中此 DNS 伺服器可以管理已登錄 Active Directory 樹系複寫所使用的 DNS 記錄所在的子網域。通常,這是指 Active Directory 樹系根目錄下的 _msdcs 子網域。例如,如果 Active Directory 樹系的根目錄名為 myad.reskit.com,那麼主控此網域的 DNS 伺服器就可以管理 _msdcs.myad.reskit.com 區域,也就是已經登錄 Active Directory 複寫所使用的 DNS 記錄的區域。此外,_msdcs.myad.reskit.com 區域可能會委派給不同的 DNS 伺服器。然而,將 DNS 基礎結構加以設計之後,/s 選項可以用來指定能夠管理 _msdcs.myad.reskit.com 區域的 DNS 伺服器。

/s 選項必須指定有效的 IP 位址。下列組合是此規則的唯一例外:
dnslint /ad /s localhost
"localhost" 不是有效的 IP 位址。當您指定此參數與 /ad /s 搭配組合時,DNSLint 會測試本機系統 (執行 DNSLint 的系統) 的能力,看看本機系統是否可以解析 Active Directory 樹系複寫所使用的 DNS 記錄。遞迴 DNS 查詢會傳送到本機系統所設定的 DNS 伺服器,以確認本機系統可以解析 Active Directory 樹系複寫所使用的 DNS 記錄。當您在特定網域控制站上疑難排解 Active Directory 複寫問題時,這個組合會很有幫助。

在此程序中,通常不會查詢所有本機系統所設定的 DNS 伺服器。您可以觀察到預設 DNS 用戶端解析程式的運作情形,所以,如果本機系統 DNS 伺服器清單中第一個 DNS 伺服器沒有回應,就會使用清單中下一個伺服器。

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
261968? (http://support.microsoft.com/kb/261968/ ) Explanation of the Server List Management feature in the domain name resolver client

這篇文章中的資訊適用於:
  • Microsoft Windows 2000 Server
  • Microsoft Windows XP Home Edition (家用版)
  • Microsoft Windows XP Professional
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, 64-Bit Datacenter Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Small Business Server 2003 Premium Edition
  • Microsoft Windows Small Business Server 2003 Standard Edition
關鍵字:?
kbinfo kbdownload KB321045
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。