要查看Windows中监听端口对应的程序及完整路径,需按“端口→PID→进程名→可执行路径”四步排查:用netstat -ano | findstr :端口得PID;tasklist | findstr PID得进程名;wmic process where "ProcessId=PID" get ExecutablePath得完整路径;PowerShell中Get-NetTCPConnection -LocalPort 端口 -State Listen | ForEach-Object { $_; Get-Process -Id $_.OwningProcess | Select-Object ProcessName, Path }可一键输出;资源监视器(resmon)网络选项卡下“监听端口”区域直接显示映像名称与映像路径。
要查看 windows 中哪些端口正在监听,并准确知道是哪个程序、甚至具体到哪个可执行文件在用,关键在于把“端口 → pid → 进程名 → 程序路径”这四步串起来。下面几种方法都能做到,按操作习惯和需求选一种即可。
用 netstat + tasklist + wmic 查完整路径(命令行通用法)
这是最稳妥、兼容性最强的方式,不需要管理员权限也能查大部分信息,适合快速定位:
- 先打开命令提示符(Win+R → 输入 cmd → 回车)
- 查指定端口(比如 8080):输入 netstat -ano | findstr ":8080",找到末尾的 PID(如 12345)
- 查进程名:输入 tasklist | findstr "12345",得到映像名称(如 node.exe)
- 查完整路径:输入 wmic process where "ProcessId=12345" get Name,ExecutablePath,CommandLine,就能看到程序安装位置和启动参数
用 PowerShell 一键获取进程名与路径(推荐进阶用户)
PowerShell 能一步到位,尤其适合查开发常用端口(如 3000、8080、5000),输出更清晰:
- 右键开始菜单 → 选择 Windows Terminal(管理员) 或 PowerShell(管理员)
- 运行命令(以端口 8080 为例):
Get-NetTCPConnection -LocalPort 8080 -State Listen | ForEach-Object { $_; Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue | Select-Object ProcessName, Id, Path } - 如果端口被监听,会直接显示进程名、PID 和可执行文件的完整路径(如 C:\Program Files\nodejs\node.exe)
- 注意:若提示权限不足或无结果,说明该端口未监听,或需确认是否绑定了 IPv6(可加 -AddressFamily IPv4 过滤)
用资源监视器图形化查看(适合不熟悉命令行)
不用记命令,点几下就能看到所有监听端口及其程序路径,界面直观且实时更新:
- Win+R → 输入 resmon → 回车,打开资源监视器
- 切换到顶部的 网络 选项卡
- 向下滚动到底部,展开 监听端口(Listening Ports) 区域
- 点击“端口”列排序,或在右上角搜索框里输入目标端口号(如 3306)
- 找到对应条目后,直接看“映像”列(进程名)和“映像路径”列(完整路径),还能看到所属用户、CPU/内存占用等辅助信息
补充说明:遇到 svchost.exe 或 wininit.exe 怎么办?
这类系统宿主进程常托管多个服务,只看进程名不够,需进一步拆解:
- 如果 tasklist 或 PowerShell 显示占用端口的是 svchost.exe,记下它的 PID(如 9876)
- 再运行:tasklist /svc /fi "pid eq 9876",就能列出它内部加载的具体服务名(如 Dnscache、W32Time)
- 如果是 wininit.exe 或 lsass.exe 占用高危端口(如 445、135),建议用杀毒软件全盘扫描,这类情况较异常


















