Windows

如何在 Windows 上查看一段時間內佔用特定埠的應用程序日誌?

  • June 2, 2014

如何查看特定時間段內哪個應用綁定了 Windows 中的某個特定埠?我正在使用 Windows 自動啟動我的應用程序,並且我將埠 1200 綁定為 UDP 數據包接收器,但有時我的應用程序報告該埠已被佔用。我可以在 Windows 事件查看器或其他地方查看哪個應用程序執行此操作嗎?因此,我無法使用 netstat 查看目前正在使用哪個應用程序,我需要歷史數據。

我認為您無法獲得歷史數據,並且有人可能會發布一些有關此的資訊。

您可以通過將應用程序包裝在 .bat/.cmd 文件中來更改啟動應用程序的方式。

然後,您可以使用Systernals Suite中的一些工具。

一個範例 bat 文件:

@echo off
REM Log TCP/UDP port information before starting
REM UNREM the best command for your environment
REM Systernals
tcpvcon.exe -a -n -c > X:\Drive\File.csv
REM Native
REM netstat -t -a | find "LISTENING" > X:\Drive\File.csv
myapplication.exe

這將編寫一個包含所有偵聽和連接套接字的 CSV 文件,然後您可以嘗試確定問題所在。

如果您需要僅在偵聽模式下顯示埠的標準本機 Windows 版本,我還包括 netstat 版本。

更新

您還可以在 vista 及更高版本中使用 windows 防火牆來記錄資訊。有關詳細資訊,請參閱TechNet

  1. 啟動控制面板
  2. 打開 Windows 防火牆
  3. 打開高級設置
  4. 在操作中選擇屬性
  5. 在日誌中點擊自定義
  6. 選擇啟用記錄丟棄/連接的數據包
  7. 點擊確定啟用/禁用

或通過 netsh:netsh firewall set logging droppedpackets=enable connection=enable

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