如何檢查 Windows 伺服器上的開放端口

若要檢查 Windows 伺服器上的開放端口,請列出其本機監聽器,然後從另一台電腦進行測試,請查看客戶端是否可以存取這些連接埠。監聽埠並非可自動透過網路存取:服務綁定、Windows 防火牆、網路防火牆、路由和 NAT 都可能影響存取。請僅掃描您擁有或已獲得授權存取的系統。

使用 PowerShell 列出本機 TCP 監聽器

在伺服器上,開啟 PowerShell 並執行Get-NetTCPConnection命令Listen。按連接埠排序可以更方便地查看列表,而選定的列會顯示位址、連接埠和進程 ID。

Get-NetTCPConnection -State Listen | Sort-Object LocalPort | Select-Object LocalAddress,LocalPort,OwningProcess
PowerShell 輸出顯示 Windows TCP 偵聽器、本機連接埠和所屬進程 ID。
PowerShell 列出處於監聽狀態的 TCP 端點及其本機位址、連接埠和進程 ID。

每一行代表一個處於監聽狀態的 TCP 端點。位址為 `1234` 或 `1234`0.0.0.0分別::表示監聽器綁定到所有 IPv4 或 IPv6 介面。位址為 ` 1234`127.0.0.1或::1`1234` 的監聽器僅支援環回連接,因此遠端電腦無法透過網路介面連接到該監聽器。

若要檢查某個端口,請將其編號新增至查詢:

Get-NetTCPConnection -State Listen -LocalPort 443 | Select-Object LocalAddress,LocalPort,OwningProcess

使用傳回的進程 ID 來識別擁有者,例如Get-Process -Id 1234(將 `<pid>` 替換1234為輸出中的 PID)。 Microsoft 在其Get-NetTCPConnection 參考文件中記錄了該 cmdlet 的連線狀態、本機連接埠和擁有者進程欄位。

使用 netstat 查看監聽器和進程 ID

netstat這是一個內建的替代方案,可在命令提示字元或 PowerShell 中使用。此命令將輸出篩選為監聽的 TCP 連接埠:

netstat -ano -p tcp | findstr LISTENING
Windows PowerShell netstat 輸出列出監聽的 TCP 位址、連接埠和進程 ID。
netstat 輸出將每個監聽的 TCP 端點與一個程序 ID 配對。

這些開關的含義如下:-a包含監聽器、-n保持位址為數字、-o新增進程 ID (PID) 並將-p tcp檢視限制為 TCP。在工作管理員中比對 PID 或使用 `netstat` 指令Get-Process -Id 1234。對於 UDP 端點,請執行`netstat` netstat -ano -p udp;UDP 沒有 TCP 風格的LISTENING狀態。請參閱 Microsoft 的netstat 參考文件。

使用 Microsoft PortQry 檢查端口

PortQry 版本 2是微軟用來檢查 TCP 和 UDP 連接埠的獨立實用程式。下載並將其解壓縮到某個資料夾(例如 `/usr/local/bin`)C:\Tools\PortQryV2,然後在該資料夾中開啟 PowerShell。若要列出該計算機上的活動映射,請執行:

.\PortQry.exe -local

本機模式列出活動的 TCP 和 UDP 映射,並可包含進程 ID;它僅用於清點資源,不適用於遠端存取查詢。若要查詢其他伺服器,請指定其名稱或 IP 位址、協定和連接埠:

.\PortQry.exe -n server01.example.com -p tcp -e 443
PortQry 指令查詢遠端 Windows 伺服器上的 TCP 連接埠 443,並傳回 LISTENING 狀態。
此範例檢查另一台主機上的 TCP 連接埠 443;將主機名稱替換為您有權測試的伺服器。

對於遠端查詢,LISTENING表示 PortQry 收到了回應;NOT LISTENING表示收到了指示沒有監聽器的回應;FILTERED表示沒有回應,因此防火牆可能正在丟棄流量,並且可能存在也可能不存在監聽進程。 UDP 的可靠性較低,因為服務可能會忽略未格式化的偵測包。請參閱 Microsoft 的PortQry 指南。

從另一台計算機測試可及性

在伺服器上執行檢查無法證明另一個網路上的用戶端可以連線。請在要驗證的路徑上的 Windows 用戶端上執行以下命令:

Test-NetConnection -ComputerName server01.example.com -Port 443 -InformationLevel Detailed

請將主機名稱和連接埠替換為您自己的值。此TcpTestSucceeded : True命令會確認目前客戶端的 TCP 連線。False它會報告連線失敗,但不會指出失敗原因是缺少偵聽器、防火牆、路由、DNS 還是上游過濾器。請參閱 Microsoft 的Test-NetConnection 參考文件。

若要進行視覺化掃描,請從 Nmap官方下載頁面安裝;Windows 安裝程式包含 Zenmap。若要檢查選定的端口,請執行:

nmap -p 80,443 server01.example.com

在 Zenmap 中,輸入已授權的目標,選擇設定文件,執行掃描並查看結果Ports / Hosts。 Nmap 的基本目標掃描會檢查 1000 個最常用的 TCP 連接埠;可以使用-p參數縮小範圍。狀態描述了 Nmap 從該客戶端檢測到的情況:open表示應用程式正在接受連接,closed表示沒有應用程式正在監聽,filtered表示存在障礙物阻止 Nmap 確定狀態。請參閱Zenmap 指南。

Zenmap 目標欄位和快速掃描設定檔上方是連接埠/主機結果表的範例。
Zenmap 將目標、掃描設定檔和範例連接埠結果顯示在一個視窗中。

如何處理結果

如果 PowerShell 顯示存在偵聽器但用戶端測試失敗,請檢查服務的綁定位址、匹配的入站規則及其網路設定文件,以及任何上游防火牆、安全群組、路由器或 NAT。允許規則不會建立偵聽器;服務必須綁定到連接埠。

對於不熟悉的監聽器,請使用其進程 ID (PID) 來識別應用程序,並在更改之前確認是否需要它。透過正常的變更流程限製或移除未使用的服務或入站規則,然後從相關的用戶端路徑重新測試。一次掃描僅顯示從該角度的可及性。

留下評論

使用 FotoSketcher 將照片轉換為繪畫、素描和卡通

使用 FotoSketcher 將照片轉換為繪畫、素描和卡通

使用 FotoSketcher Studio 將照片轉換成繪畫、鉛筆素描或卡通。學習如何選擇效果、調整預覽、保存作品。

使用音訊標識符詳細分析和識別音訊文件

使用音訊標識符詳細分析和識別音訊文件

了解音訊標識符揭示的位元率、編碼器和標籤訊息,其傳統工作流程如何運作,以及當前哪些工具可以檢查文件或識別歌曲。

我的照片索引:一款適用於 Windows 的開源照片管理器。

我的照片索引:一款適用於 Windows 的開源照片管理器。

My Photo Index 是一款舊版 Windows 相片目錄管理工具,用於標記、評分和瀏覽本機影像。請查看其文件功能、相容性限制以及一個維護良好的替代方案。

使用屬性變更器變更檔案和資料夾屬性、日期和時間

使用屬性變更器變更檔案和資料夾屬性、日期和時間

學習如何使用屬性變更器安全地編輯 Windows 檔案屬性和時間戳記、更新 JPEG EXIF 照片日期以及預覽批次變更。

如何在 Windows 10 中為每個顯示器設定不同的桌布

如何在 Windows 10 中為每個顯示器設定不同的桌布

為每個 Windows 10 顯示器設定單獨的壁紙,識別顯示器,調整影像適應度,並解決缺少顯示器選擇的問題。

pViewer:一款極簡圖像檢視器和漫畫閱讀器

pViewer:一款極簡圖像檢視器和漫畫閱讀器

了解 pViewer 的功能、照片和漫畫模式的工作原理、應該下載哪個 Windows 版本,以及舊版和重寫版之間的差異。

如何在 Windows 7 和 8 中使用快速鍵切換到下一個桌面背景

如何在 Windows 7 和 8 中使用快速鍵切換到下一個桌面背景

設定 Windows 7 或 8 投影片放映,建立一個小型 VBScript 快捷方式,並指派鍵盤熱鍵來切換到下一張桌布。

NeoDownloader:設定參數並從網站批量下載圖片

NeoDownloader:設定參數並從網站批量下載圖片

學習如何建立 NeoDownloader 專案、選擇爬取範圍、設定映像過濾器和目標位置,以及查看批次下載。

XnConvert:批次應用特效和轉換影像格式

XnConvert:批次應用特效和轉換影像格式

使用 XnConvert 可以批次套用特效、調整照片大小和轉換影像格式。選擇輸出設定、預覽編輯效果並保護您的原始文件。

使用 ManicTime 追蹤工作時間和電腦使用情況

使用 ManicTime 追蹤工作時間和電腦使用情況

了解 ManicTime 如何追蹤應用程式使用情況、活躍時間和空閒時間以及文檔,然後將您的活動歷史記錄轉換為專案標籤和時間表。