在Windows 11中可通过五种方法定位占用端口的进程:一、netstat -ano | findstr :端口号;二、PowerShell的Get-NetTCPConnection -LocalPort 端口号;三、资源监视器“监听端口”界面;四、任务管理器“详细信息”中启用“端口”列;五、netstat -ano全量导出后搜索。

如果您在 Windows 11 中需要确认某个网络端口是否被应用程序占用,以便排查服务启动失败、连接拒绝或端口冲突等问题,则可通过系统内置工具快速定位监听该端口的进程。以下是多种可靠且可立即执行的检测方法:
一、使用 netstat 命令查看指定端口占用及对应 PID
netstat 是 Windows 原生网络诊断命令,配合 -ano 参数可显示所有监听端口及其归属进程 ID(PID),再通过 findstr 筛选目标端口,能精准定位占用者。
1、按下 Win + X 组合键,选择“终端(管理员)”或“命令提示符(管理员)”。
2、在管理员权限窗口中输入:netstat -ano | findstr :端口号,将“端口号”替换为实际数值,例如查询 3306 端口则输入 netstat -ano | findstr :3306。
3、若端口被占用,输出行中最后一列即为该进程的 PID;若无任何输出,则说明该端口当前未被监听。
二、使用 PowerShell 的 Get-NetTCPConnection 查看端口监听进程
PowerShell 提供更现代、语义清晰的网络 cmdlet,Get-NetTCPConnection 可直接返回本地监听端口与所属进程的映射关系,无需解析文本流,结果结构化程度高。
1、按下 Win + X,选择“Windows PowerShell(管理员)”或“终端(管理员)”。
2、输入命令:Get-NetTCPConnection -LocalPort 端口号 | Select-Object OwningProcess, LocalAddress, State,将“端口号”替换为实际值,例如 Get-NetTCPConnection -LocalPort 8080 | Select-Object OwningProcess, LocalAddress, State。
3、输出中 OwningProcess 列即为占用该端口的进程 PID。
三、使用资源监视器图形化查看所有监听端口
资源监视器(resmon)提供直观的图形界面,其“网络”选项卡下的“监听端口”区域完整列出所有正在监听的端口、协议类型、进程名称及 PID,适合不熟悉命令行的用户快速识别。
1、按下 Win + R 打开“运行”对话框,输入 resmon 并回车。
2、点击顶部菜单栏的 网络 选项卡。
3、向下滚动至 监听端口 区域,查看列表中的“端口”、“协议”、“进程”和“PID”列。
4、可点击列标题排序,例如点击“端口”列使端口号升序排列,便于查找目标端口。
四、通过任务管理器启用“端口”列并筛选进程
任务管理器默认不显示各进程打开的端口,但可在“详细信息”选项卡中手动启用“端口”列,从而直接观察哪些进程绑定了特定端口,无需额外查 PID 映射。
1、按下 Ctrl + Shift + Esc 直接打开任务管理器。
2、切换到 详细信息 选项卡。
3、在任意列标题上右键单击,在弹出菜单中勾选 端口,此时新增一列显示每个进程打开的本地端口号。
4、点击“端口”列标题排序,查找包含目标端口号的行,对应进程即为占用者。
五、使用 netstat -ano 全量导出后人工筛查
当需全面掌握系统端口使用全景,或怀疑存在非常规端口(如高位随机端口)被异常进程监听时,可先导出全部监听状态,再逐行比对,避免漏检。
1、以管理员身份运行终端,执行:netstat -ano > port_all.txt,该命令将所有连接信息保存至当前目录下的 port_all.txt 文件。
2、在文件资源管理器中打开该文件,使用 Ctrl + F 搜索目标端口号,例如 :8000 或 :5000。
3、找到匹配行后,记录其末尾的 PID,用于后续进程识别或终止操作。










