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


当前回答

Use:

netstat -a -o

这显示了在特定端口上运行的进程的PID。

记住进程ID,然后转到任务管理器和服务或详细信息选项卡,结束具有相同PID的进程。

因此,您可以在Windows中终止在特定端口上运行的进程。

其他回答

PowerShell(PowerShell)

TCP

Get-Process -Id (Get-NetTCPConnection -LocalPort YourPortNumberHere).OwningProcess

UDP

Get-Process -Id (Get-NetUDPEndpoint -LocalPort YourPortNumberHere).OwningProcess

cmd

 netstat -a -b

(添加-n以阻止它尝试解析主机名,这将使它更快。)

注意Dane对TCPView的建议。它看起来很有用!

-a显示所有连接和侦听端口。

-b显示创建每个连接或侦听端口所涉及的可执行文件。在某些情况下,众所周知的可执行程序包含多个独立组件,在这些情况下,将显示创建连接或侦听接口所涉及的组件序列。在这种情况下,可执行文件名位于底部的[]中,顶部是它调用的组件,依此类推,直到到达TCP/IP。请注意,此选项可能很耗时,除非您有足够的权限,否则将失败。

-n以数字形式显示地址和端口号。

-o显示与每个连接关联的所属进程ID。

对于Windows:

netstat -aon | find /i "listening"

网络统计:

-a显示所有连接和侦听端口-b显示可执行文件-n停止解析主机名(数字形式)-o拥有过程netstat-bano | findstr“7002”netstat-ano>ano.txt

Currports工具有助于搜索和筛选

大多数答案中提到的-b开关要求您具有计算机上的管理权限。您实际上不需要提升权限来获取进程名称!

查找端口号中运行的进程的pid(例如8080)

netstat -ano | findStr "8080"

通过pid查找进程名称

tasklist /fi "pid eq 2216"

Windows有一个本机GUI:

“开始”菜单→ 所有程序→ 配件→ 系统工具→ 资源监视器或运行resmon.exe,或来自TaskManager→ 性能选项卡。