UDP端口似乎正在使用,但不显示在netstat或TCPView中

我遇到了一些我不明白的奇怪行为。 我正在Windows 2003 Server上安装软件。 这个软件需要绑定到一个特定的UDP端口和所有的TCP地址才能听取请求。 我似乎可以绑定到我select的几个端口,但不能绑定到其他端口。 特别是我不能绑定到我需要的一个端口,这是5001。其他假设自由端口,如5002,5010也失败。 我的第一个猜测是“它正在使用另一个程序”,但它不显示在netstat或TCPView(从sysinternals),所以我不知道该怎么做。 该程序获取套接字错误10048(地址已被使用)。

这些是我用来尝试find“违规”程序的示例命令:

c:\>netstat -a -v -n -o -p udp Active Connections Proto Local Address Foreign Address State PID UDP 0.0.0.0:445 *:* 4 UDP 0.0.0.0:500 *:* 512 UDP 0.0.0.0:1434 *:* 1980 UDP 0.0.0.0:4500 *:* 512 UDP 0.0.0.0:5000 *:* 5920 UDP 0.0.0.0:5500 *:* 5288 UDP 127.0.0.1:123 *:* 856 UDP 127.0.0.1:1314 *:* 4376 UDP 172.20.1.10:123 *:* 856 UDP 172.20.1.10:137 *:* 4 UDP 172.20.1.10:138 *:* 4 (No UDP port 5001 is in use!) Or: C:\> netstat -an | findstr 5001 (no output) 

我使用本地pipe理员帐户运行所有testing无济于事。 我的程序是用C ++(Winsock 2)编写的,虽然我也用一个简单的VB6程序进行了快速testing,结果相同。 没有安装DNS服务(已知可以保留UDP端口范围)。

我怎样才能find“违规”程序,也就是说,我需要使用UDP端口的程序?

Yahoo Messenger使用端口5000和5001。 不知道当你netstat都显示。

此外,5001是可疑的 – 我记得它被远程访问木马使用。 对不起,我没有任何细节。

你有没有尝试telnet到您的服务器端口5001? 它真的在听/正在使用吗?

这看起来像一个操作系统错误给我。 这是非常非常古老的,谁知道? 在短期内,重新启动。 从长远来看,考虑升级到支持的操作系统; 服务器2003的支持截止2015年7月14日。