如何查看 Windows 上一段时间内占用特定端口的应用程序日志?

如何查看 Windows 上一段时间内占用特定端口的应用程序日志?

如何查看特定时间段内哪个应用程序绑定了 Windows 中的某个特定端口?我正在使用 Windows 自动启动我的应用程序,并将端口 1200 绑定为 UDP 数据包接收器,但有时我的应用程序报告该端口已被占用。我可以在 Windows 事件查看器或其他地方查看哪个应用程序执行了此操作吗?因此,我无法使用 netstat 查看哪个应用程序当前正在使用它,我需要历史数据。

答案1

我认为您无法获得历史数据,并且有人可能会发布有关此的一些信息。

您可以通过将其包装在 .bat/.cmd 文件中来改变启动应用程序的方式。

然后您可以使用系统套件

示例 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 防火墙来记录信息。请参阅科技网了解更多信息。

  1. 启动控制面板
  2. 打开Windows防火墙
  3. 打开高级设置
  4. 在操作中选择属性
  5. 单击日志中的自定义
  6. 选择启用记录丢弃/连接的数据包
  7. 单击“确定”以启用/禁用

或者通过 netsh:netsh firewall set logging droppedpackets=enable connection=enable

相关内容