如何使用 PortQry 針對 Active Directory 連線問題進行疑難解答

本文說明如何執行 PortQry,以測試任何 Windows 元件或任何 Windows 版本上案例的網路連線能力。

適用:Windows Server 2012 R2
原始 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 網站:

下載 PortQry 命令行埠掃描器 2.0 版

如需如何下載 Microsoft 支援服務 檔案的詳細資訊,請參閱遵循 Microsoft 知識庫:

119591如何從在線服務取得 Microsoft 支援服務 檔案

Microsoft 已掃描此檔案是否有病毒。 Microsoft 使用了最新的病毒偵測軟體,該軟體可在檔案張貼的日期取得。 檔案會儲存在安全性增強的伺服器上,以協助防止對檔案進行任何未經授權的變更。

名為 PortQueryUI 的 PortQry 工具圖形化版本包含其他功能,可讓使用 PortQry 更容易使用。 若要下載 PortQueryUI 工具,請造訪下列 Microsoft 網站:

下載 PortQryUI - PortQry 命令行埠掃描器的使用者介面

其他相關資訊

PortQry 會以下列三種方式之一報告埠的狀態:

  • 接聽:進程正在目標系統上接聽目標埠。 PortQry 收到來自埠的回應。
  • 不接聽:目標系統上沒有進程正在接聽目標埠。 PortQry 從目標 UDP 連接埠收到因特網控制訊息通訊協定 (ICMP) 「無法連線目的地 - 無法連線的埠」訊息。 或者,如果目標埠是 TCP 連接埠,Portqry 會收到已設定 Reset 旗標的 TCP 通知封包。
  • 已篩選:正在篩選目標系統上的目標埠。 PortQry 未收到來自目標埠的回應。 進程不一定正在接聽埠。 根據預設,會查詢 TCP 連接埠三次,並在報告篩選目標埠之前查詢一次 UDP 埠。

使用 PortQry,您也可以查詢 LDAP 服務。 它會使用 UDP 或 TCP 傳送 LDAP 查詢,並解譯 LDAP 伺服器對查詢的回應。 來自LDAP伺服器的回應會進行剖析、格式化,並傳回給使用者。

Active Directory 提供的 RPC 介面可以使用動態伺服器埠 (大部分都是可設定的。) 用戶端會使用 RPC 端點對應程式來尋找特定 Active Directory 服務之 RPC 介面的伺服器埠。

RPC 端點對應程式資料庫會接聽埠 135。 這表示 TCP 連接埠 135 是大部分部署超越基本 LDAP 查詢的必要埠。 所有屬於網域成員的用戶端也都需要此功能。

如需 PortQry 的詳細資訊,請參閱:

310099 Portqry.exe 命令行公用程式的描述

您可以在下列 知識庫 文章中找到 Windows 使用的埠和通訊協定清單,包括 Active Directory、DFS、DFSR、憑證服務和所有其他服務:

832017 Windows 的服務概觀和網路埠需求

注意事項

使用暫時埠的 Active Directory 和其他服務,必須能夠從埠 135 連線到 Windows 服務概觀和網路埠需求一文中所列的所有服務。

您也可以在下列文章中找到 AD 特定的連接埠和通訊協定:

179442 如何設定網域和信任的防火牆

PortQry 知道如何使用 UDP 和 TCP) 將查詢傳送至 RPC 端點對應程式 (並解譯回應。 此查詢會顯示已向 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 未收到查詢的回應,則會報告埠已篩選。

範例輸出

C:\>portqry -n <fqdn> -e 389 -p udp

查詢目標系統,稱為:

<Fqdn>

試著將名稱解析為 IP 位址...

名稱解析為 169.254.0.14

UDP 埠 389 (未知的服務) :LISTENING 或 FILTERED

將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 服務) :LISTENING 或 FILTERED
正在查詢端點對應程式資料庫...
伺服器的回應:

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 可以使用 UDP 或 TCP) 傳送格式正確的 DNS 查詢 (。 公用程式會傳送 「portqry.microsoft.com.」 的 DNS 查詢。PortQry 接著會等候來自目標 DNS 伺服器的回應。 查詢的 DNS 回應是負數或正數都無關緊要,因為任何回應都表示埠正在接聽。