Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Windows 7 查看網路連接埠與連線狀態:netsh 與 netstat 雙工具實戰指南

編輯:Win7 常見問題解答

掌握本機開放連接埠、建立中連線、監聽狀態,是排查網路服務異常、驗證防火牆規則、發現異常進程的核心技能。Windows 7 提供 netstat(連線統計)與 netsh(網路殼層設定)兩大原生工具,本文詳細解析參數組合與實戰解讀技巧。

核心工具:netstat

常用參數組合

指令功能適用場景
netstat -an顯示所有連線與監聽埠,數位格式 (IP:Port),不解析主機名快速總覽、腳本解析
netstat -ano加上 PID (Process ID),可關聯進程定位佔用埠的程式
netstat -anb顯示建立連線的可執行檔名稱 (需管理員)直接看到程式名稱
netstat -anp TCP僅顯示 TCP 連線過濾 UDP 雜訊
netstat -r顯示路由表排查路由、多網卡優先序
netstat -s顯示協定統計 (TCP/UDP/ICMP/IPv4/IPv6)效能分析、封包丟失統計
netstat -an 5每 5 秒自動刷新一次即時監控連線變化

連線狀態碼解讀

狀態含義典型場景
LISTENING埠口正在監聽等待連線伺服器服務啟動正常 (HTTP:80, SSH:22, SQL:1433)
ESTABLISHED連線已建立,資料傳輸中正常瀏覽、資料庫連線、SSH 會話
TIME_WAIT主動關閉方等待 2MSL 確認對方收到 FIN大量出現可能為短連線風暴、需調整 TCP 參數
CLOSE_WAIT被動關閉方等待應用程式發出 close()大量出現表示應用程式未正確關閉 Socket (洩漏)
SYN_SENT已發送 SYN 等待 SYN+ACK客戶端發起連線中
SYN_RECEIVED已收到 SYN 已回覆 SYN+ACK 等待 ACK伺服端處理三向交握中
FIN_WAIT_1/2主動關閉流程中正常關閉過程

實戰範例:定位佔用 8080 埠的進程

C:\> netstat -ano | findstr :8080
  TCP    0.0.0.0:8080      0.0.0.0:0         LISTENING       4352
  TCP    [::]:8080         [::]:0             LISTENING       4352

C:\> tasklist /FI "PID eq 4352"
映像名稱                       PID 階段名              階段號    記憶體使用
java.exe                      4352 Console                    1    1,234,567 K

結論:PID 4352 為 java.exe 佔用 8080 埠。

進階工具:netsh

查看防火牆規則與埠口開放狀態

# 顯示所有防火牆規則
netsh advfirewall firewall show rule name=all

# 顯示特定埠規則
netsh advfirewall firewall show rule name=all | findstr "8080"

# 顯示目前設定檔狀態
netsh advfirewall show allprofiles

查看網路介面卡詳細配置

netsh interface ip show config
netsh interface ipv4 show addresses
netsh interface ipv4 show dnsservers

重置網路堆疊 (解決莫名連線異常)

netsh int ip reset
netsh winsock reset
# 重啟電腦

進階替代工具:Resource Monitor / PowerShell

  • 資源監視器:Win+R → resmon → 網路頁籤 → 聆聽埠/連線/傳輸活動 圖形化即時顯示
  • PowerShell:
    # 取得所有監聽埠及擁有進程
    Get-NetTCPConnection -State Listen | Select-Object LocalAddress,LocalPort,OwningProcess | Sort-Object LocalPort
    
    # 關聯進程名稱
    Get-Process -Id (Get-NetTCPConnection -State Listen).OwningProcess | Select-Object Id,ProcessName -Unique

常見排查場景速查

場景指令判斷邏輯
服務無法啟動「埠口被佔用」netstat -ano | findstr :埠號若有 LISTENING → 找出 PID → tasklist 定位程式 → 決定終止或改埠
網頁無法存取、懷疑防火牆攔截netsh advfirewall firewall show rule name=all確認有允許該埠的輸入規則、設定檔正確 (域/專用/公用)
大量 TIME_WAIT 導致新連線失敗netstat -an | find /c "TIME_WAIT"若 >數萬 → 調整註冊表 TcpTimedWaitDelay、啟用 TcpTwReuse
SSH/RDP 連線中斷頻繁netstat -an | findstr "ESTABLISHED.*:22|:3389"觀察連線建立後是否立即斷開、配合 KeepAlive 參數調整

熟練運用 netstat -ano 定位 PID、netsh advfirewall 驗證規則、resmon 圖形化監控,構成 Windows 網路診斷的鐵三角工具組,能在分鐘級時間內定位 90% 的連線與埠口問題。

Copyright © Windows教程網 All Rights Reserved