我怎样才能看到在特定的时间段内,哪个应用程序已经在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防火墙来logging信息。 有关更多信息,请参阅TechNet 。
或者通过netsh: netsh firewall set logging droppedpackets=enable connection=enable