如何确定哪个进程正在侦听Windows上的TCP或UDP端口?


当前回答

如果您想使用GUI工具来实现这一点,可以使用Sysinternals的TCPView。

其他回答

如果您想使用GUI工具来实现这一点,可以使用Sysinternals的TCPView。

要了解哪个特定进程(PID)正在使用哪个端口:

netstat -anon | findstr 1234

其中1234是流程的PID。[转到任务管理器→ “服务/流程”选项卡,以查找应用程序的PID。]

我推荐NirSoft的CurrPorts。

CurrPorts可以过滤显示的结果。TCPView没有此功能。

注意:您可以右键单击进程的套接字连接并选择“关闭选定的TCP连接”(您也可以在TCPView中执行此操作)。这通常会在我切换VPN后修复Outlook和Lync的连接问题。使用CurrPort,您还可以使用“/close”参数从命令行关闭连接。

如果有人像我一样需要macOS的等价物,下面是:

lsof-i tcp:8080

获取进程的PID后,可以使用以下命令终止该进程:

终止-9<PID>

使用Windows的默认shell(PowerShell),不使用外部应用程序

对于使用PowerShell的用户,请尝试Get NetworkStatistics:

> Get-NetworkStatistics | where Localport -eq 8000


ComputerName  : DESKTOP-JL59SC6
Protocol      : TCP
LocalAddress  : 0.0.0.0
LocalPort     : 8000
RemoteAddress : 0.0.0.0
RemotePort    : 0
State         : LISTENING
ProcessName   : node
PID           : 11552