如何使用 PortQry 針對 Active Directory 連線問題進行疑難解答
本文說明如何執行 PortQry,以在任何 Windows 版本上測試任何 Windows 元件或案例的網路連線能力。
原始 KB 編號: 816103
簡介
PortQry 是命令行公用程式,可用來針對 Windows 元件和功能所使用的 TCP/IP 連線進行疑難解答。 公用程式會報告遠端電腦上的轉換控制通訊協定 (TCP) 和使用者數據報通訊協定 (UDP) 埠的埠狀態。 您可以執行 PortQry 來測試任何 Windows 元件或任何 Windows 版本案例的網路連線能力。
本文說明如何使用 portqry 來驗證 Active Directory 和 Active Directory 相關元件的基本 TCP/IP 連線能力,包括:
- Active Directory 網域服務 (ADDS)
- 輕量型目錄存取通訊協定的 Active Directory (LDAP)
- 遠端程序呼叫 (RPC)
- 網域名稱服務 (DNS)
- 其他 ADDS 相關元件
- ADDS 相依的其他元件
驗證透過必要埠和通訊協定的網路連線,在域控制器部署於包括防火牆在內的中繼裝置時特別有用。
安裝 PortQry
下載Portqry.exe
PortQry .exe可從Microsoft下載中心下載。 若要下載 PortQry .exe,請流覽下列Microsoft網站:
如需如何下載 Microsoft 支援服務 檔案的詳細資訊,請參閱下列Microsoft知識庫:
119591如何從在線服務取得 Microsoft 支援服務 檔案
Microsoft 已對此檔案進行病毒掃描。 Microsoft 是利用發佈當日的最新病毒偵測軟體來掃描檔案。 檔案會儲存在安全性增強的伺服器上,以協助防止對檔案進行任何未經授權的變更。
稱為 PortQueryUI 的 PortQry 工具圖形化版本包含其他功能,可讓使用 PortQry 更容易使用。 若要下載 PortQueryUI 工具,請流覽下列Microsoft網站:
下載 PortQryUI - PortQry 命令行埠掃描器的使用者介面
其他相關資訊
PortQry 會以下列三種方式之一報告埠的狀態:
- 接聽:進程正在目標系統上的目標埠上接聽。 PortQry 收到來自埠的回應。
- 未接聽:沒有進程在目標系統上的目標埠上接聽。 PortQry 收到因特網控制訊息通訊協定 (ICMP)「目的地無法連線 - 埠無法連線」訊息從目標 UDP 連接埠傳回。 或者,如果目標埠是 TCP 連接埠,Portqry 會收到已設定重設旗標的 TCP 通知封包。
- 已篩選:正在篩選目標系統上的目標埠。 PortQry 未收到來自目標埠的回應。 進程可能或可能不會在埠上接聽。 根據預設,TCP 埠會查詢三次,而且在報告目標埠篩選之前,會先查詢 UDP 埠一次。
使用 PortQry,您也可以查詢 LDAP 服務。 它會使用 UDP 或 TCP 傳送 LDAP 查詢,並解譯 LDAP 伺服器的查詢回應。 LDAP 伺服器的回應會剖析、格式化,並傳回給使用者。
Active Directory 提供的 RPC 介面可以使用動態伺服器埠(大部分都可以設定)。用戶端會使用 RPC 端點對應程式來尋找特定 Active Directory 服務 RPC 介面的伺服器埠。
RPC 端點對應程式資料庫會接聽埠 135。 這表示 TCP 連接埠 135 是大部分部署所需的埠,超過基本 LDAP 查詢。 所有屬於網域成員的用戶端也需要它。
如需 PortQry 的詳細資訊,請參閱:
您可以在下列 知識庫 文章中找到 Windows 使用的埠和通訊協定清單,包括 Active Directory、DFS、DFSR、憑證服務和其他所有服務:
注意
使用暫時埠的 Active Directory 和其他使用暫時埠的服務必須能夠從埠 135 連線到 Windows 服務概觀和網路埠需求一文中所列的所有服務。
您也可以在文章中找到 AD 特有的連接埠和通訊協定:
PortQry 知道如何將查詢傳送至 RPC 端點對應程式(使用 UDP 和 TCP),並解譯回應。 此查詢會顯示向 RPC 端點對應程式註冊的所有端點。 端點對應工具的回應會剖析、格式化,並傳回給使用者。
如果 PortQry 無法使用,您可以使用 LDP.EXE 透過啟用 [無連線] 複選框,聯機到埠 389 上的域控制器。
PortQry 的另一個替代方案是 NLTEST,但它不適用於任意伺服器。 伺服器必須是與執行工具的電腦位於相同網域中的域控制器。 如果是這種情況,您可以使用 Nltest /sc_reset功能變數名稱 \ ><>,將安全性通道強制在特定域控制器上。< 如需詳細資訊,請參閱 網路連線能力。
使用 portqry
範例 1:使用 Portqry 使用 UDP 連接埠 389 來測試特定埠和通訊協議的連線能力
此範例示範如何使用 PortQry 來判斷 LDAP 服務是否回應。 藉由檢查回應,您可以判斷埠上正在接聽的LDAP服務,以及其設定的一些詳細數據。 這項資訊有助於針對各種問題進行疑難解答。
根據預設,LDAP 會設定為接聽埠 389。 此範例呼叫會指定要使用 UDP 通訊協定查詢的伺服器:
PortQry -n <fqdn> -p udp -e 389
PortQry 會使用 Windows Server 2003 和更新版本計算機中包含的 %SystemRoot%\System32\Drivers\...\Services 檔案,自動解析 UDP 連接埠 389。 在下列範例輸出中,埠會解析為作用中的LDAP服務,而 PortQry 會報告埠為 LISTENING 或 FILTERED。
PortQry 接著會傳送格式化 LDAP 查詢,以接收回應。 它會傳回使用者的完整回應,並報告埠正在接聽。 如果 PortQry 未收到查詢的回應,則會報告埠為 FILTERED。
範例輸出
C:\>portqry -n <fqdn> -e 389 -p udp
查詢以下名稱的目標系統:
<fqdn>
嘗試將名稱解析為 IP 位址...
解析為 169.254.0.14 的名稱
UDP 埠 389 (未知服務):接聽或篩選
將LDAP查詢傳送至UDP埠389...
LDAP 查詢回應:
currentdate: <DateTime> (未調整 GMT)
subschemaSubentry:
CN=Aggregate,CN=Schema,CN=Configuration,DC=reskit,DC=com
dsServiceName: CN=NTDS
Settings,CN=mydc,CN=Servers,CN=eu,CN=Sites,CN
=Configuration,DC=reskit,DC=com
namingContexts:DC=reskit,DC=com
defaultNamingContext: DC=reskit,DC=com
schemaNamingContext:
CN=Schema,CN=Configuration,DC=reskit,DC=com
configurationNamingContext:
CN=Configuration,DC=reskit,DC=com
rootDomainNamingContext: DC=reskit,DC=com
supportedControl:1.2.840.113556.1.4.319
supportedLDAPVersion:3
supportedLDAPPolicies:MaxPoolThreads
highestCommittedUSN:815431405
supportedSASLMechanisms:GSSAPI
dnsHostName: <HostName>
ldapServiceName: <ServiceName>
serverName:
CN=MYDC,CN=Servers,CN=EU,CN=Sites,CN=Configuration,DC=reskit,DC=com
supportedCapabilities:1.2.840.113556.1.4.800
isSynchronized:TRUE
isGlobalCatalogReady: TRUE======== LDAP 查詢回應結束========
UDP 埠 389 正在接聽
注意
透過 UDP 的 LDAP 測試可能無法針對執行 Windows Server 2008 和更新版本的域控制器運作。 其中一個原因是您已在域控制器上停用IPv6。 若要啟用 IPv6,請將下列文章中討論的值設定為預設值 0:
929852在 Windows 中為進階使用者設定 IPv6 的指導方針
範例 2:識別已向 RPC 端點對應程式註冊的服務
此範例示範如何使用 PortQry 來判斷哪些服務或應用程式已向目標伺服器的 RPC 端點對應程式資料庫註冊。 輸出包含每個應用程式的通用唯一標識碼(UUID)、批注名稱(如果有)、應用程式所使用的通訊協定、應用程式系結的網路位址,以及應用程式的端點(埠號碼,方括弧中的命名管道)。 這項資訊有助於針對各種問題進行疑難解答。
根據預設,RPC 端點對應程式資料庫會設定為接聽埠 135。 此範例呼叫會指定要使用 UDP 通訊協定查詢的伺服器:
portqry -n <fqdn> -p udp -e 135
範例輸出
查詢以下名稱的目標系統:
<fqdn>
嘗試將名稱解析為 IP 位址...
解析為 169.254.0.18 的名稱
UDP 埠 135 (epmap 服務):接聽或篩選
查詢端點對應工具資料庫...
伺服器的回應:UUID: ecec0d70-a603-11d0-96b1-00a0c91ece30 NTDS 備份介面
ncacn_np:\\\\MYDC[\PIPE\lsass]UUID: 16e0cf3a-a604-11d0-96b1-00a0c91ece30 NTDS 還原介面
ncacn_np:\\\\MYDC[\PIPE\lsass]UUID: e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS 介面
ncacn_ip_tcp:169.254.0.18[1027]UUID: f5cc59b4-4264-101a-8c59-08002b2f8426 NtFrs Service
ncacn_ip_tcp:169.254.0.18[1130]UUID: d049b186-814f-11d1-9a3c-00c04fc9b232 NtFrs API
ncacn_ip_tcp:169.254.0.18[1130]UUID: d049b186-814f-11d1-9a3c-00c04fc9b232 NtFrs API
ncacn_np:\\\\MYDC[\pipe\00000580.000]找到的端點總數:6
== RPC 端點對應程序查詢回應的結束 ==
UDP 埠 135 正在接聽
PortQry 可以傳送格式正確的 DNS 查詢(使用 UDP 或 TCP)。 公用程式會傳送 「portqry.microsoft.com
的 DNS 查詢」。PortQry 接著會等候來自目標 DNS 伺服器的回應。 查詢的 DNS 回應是負數還是正面無關,因為任何回應都表示埠正在接聽。