Windows

如何檢查 Windows 機器上的埠是否被阻塞?

  • June 16, 2020

在 Windows 平台上,我必須檢查本地電腦上的埠(例如 3306)(如localhost)是否被阻止?

由於您在 Windows 機器上,因此可以執行以下操作:

  • 執行以下命令並查找“:3306”偵聽器(您沒有提到 UDP/TCP)。這將確認埠上正在執行某些東西。

網路統計 -a -n

  • 在此之後,如果您期望此埠上的傳入連接並且覺得防火牆可能阻止它們,您可以使用啟動 windows 防火牆日誌記錄並檢查日誌以查找失去的連接

    • 轉到 Windows 防火牆,高級設置
    • 點擊“本地連接”旁邊的設置按鈕
    • 選擇“記錄丟棄的數據包”
    • 查看日誌文件位置(如果不存在,定義一個)
    • 點擊確定
    • 現在,當進行連接嘗試時(假設您知道何時完成),查看日誌文件以了解埠 3306 上的丟棄情況。
    • 如果看到這種情況,您將需要為此埠添加一個例外。
  • 還有一個檢查防火牆狀態的命令

(為 Windows 7 使用者更新 -Nick如下所述 - 使用netsh advfirewall firewall

netsh 防火牆顯示狀態

  • 這將列出被阻止的埠以及具有應用程序關聯的活動偵聽埠
  • 此命令將轉儲 Windows 防火牆配置詳細資訊

netsh 防火牆顯示配置


如果您在開始記錄後有一個活動塊(傳入連接被防火牆丟棄),您應該在日誌中看到它。

如果您正在執行正在偵聽 3306 的應用程序/服務,則防火牆配置應將其顯示為已啟用。如果沒有看到,您可能錯過了添加防火牆例外以允許此應用程序/服務。

最後,埠 3306 通常用於 MySQL。所以,我假設你在這台 Windows 機器上執行 MySQL 伺服器。因此,您應該看到 3306 的偵聽器接受傳入連接。如果您沒有看到,您需要先使用您的應用程序 (MySQL) 才能開始。

引用自:https://serverfault.com/questions/26564