我遇到了一些我不明白的奇怪行为.我正在
Windows 2003 Server上安装软件.该软件需要绑定到特定的UDP端口和所有TCP地址以便侦听请求.我似乎能够绑定到我选择的几个端口而不是其他端口;特别是我无法绑定到我需要的一个端口,即5001.其他假定为5002,5010的空闲端口也会失败.我的第一个猜测是“它正在被另一个程序使用”,但它没有在netstat或TCPView(来自sysinternals)中显示,所以我不知道如何处理这个问题.程序收到套接字错误10048(地址已在使用中).
这些是我用来尝试查找“违规”程序的示例命令:
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)
我使用本地管理员帐户运行所有测试无济于事.我的程序是用C(Winsock 2)编写的,虽然我也用简单的VB6程序进行了快速测试,结果相同.没有安装DNS服务(已知保留UDP端口范围).
如何找到“违规”程序,即我需要使用UDP端口的程序?
Yahoo Messenger使用Ports 5000和5001.不知道你们netstat时是否都显示.
此外,5001是可疑的 – 我记得它被远程访问木马使用.对不起,我没有细节.
您是否尝试过telnet到您的服务器端口5001?它真的在倾听/使用吗?