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

Gui*_*ndi 6 networking windows netstat udp

我遇到了一些我不明白的奇怪行为。我正在 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)
Run Code Online (Sandbox Code Playgroud)

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

如何找到“违规”程序,即占用我需要使用的 UDP 端口的程序?

小智 1

端口 5000 和 5001 由 Yahoo Messenger 使用。不知道当你netstat 时是否两者都显示。

另外,5001 也很可疑——我记得它是被远程访问木马使用的。抱歉我没有详细信息。

您是否尝试过通过 telnet 连接到服务器的端口 5001?它真的在听/在使用吗?

  • 他说的是 UDP 端口。您不需要“telnet 到”UDP 端口。 (5认同)