Windows 11中可用netstat命令查看端口占用:一、以管理员身份运行终端;二、执行netstat -ano列出所有监听端口及PID;三、用netstat -ano | findstr :端口号精准筛选;四、通过tasklist | findstr PID查询进程名;五、结合状态和地址列判断监听有效性。

如果您在 Windows 11 中需要确认某个端口是否被占用,或想了解当前系统中哪些程序正在监听网络端口,则可借助系统内置的 netstat 命令 进行快速查询。以下是基于 netstat 的端口查看操作流程:
一、以管理员权限启动终端
netstat 的完整端口信息(尤其是 PID)需管理员权限才能准确获取,普通用户模式可能无法显示所有进程标识符。
1、按下 Win + X 组合键;
2、在弹出菜单中选择 终端(管理员) 或 命令提示符(管理员);
3、若系统弹出用户账户控制(UAC)提示,点击“是”继续。
二、列出全部监听端口及对应 PID
该步骤用于获取系统当前所有 TCP/UDP 监听状态的端口清单,并附带每个连接所属进程的唯一标识符(PID),为后续定位提供基础数据。
1、在管理员终端中输入命令:netstat -ano,按回车执行;
2、观察输出列表中的“本地地址”列,识别形如 :80、:443、:3000 等冒号后跟数字的端口表示;
3、对应行末尾的数值即为该端口占用进程的 PID,例如 TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 12345 中的 12345;
4、如仅关注 TCP 协议,可改用:netstat -ano -p TCP。
三、精准筛选指定端口号的占用记录
当已知目标端口(如 8080、3306、5000)时,直接过滤可避免在大量输出中人工查找,提升效率并减少遗漏风险。
1、在管理员终端中输入命令:netstat -ano | findstr :8080,将 8080 替换为实际待查端口号;
2、若存在匹配项,输出格式通常为:TCP 127.0.0.1:8080 0.0.0.0:0 LISTENING 6789,其中末尾数字 6789 即为 PID;
3、若命令执行后无任何输出,说明该端口当前未被任何进程监听或绑定。
四、通过 PID 查询进程映像名称
仅获知 PID 无法判断其代表的实际程序,必须将其与可执行文件名关联,以区分浏览器、开发服务、数据库或系统关键进程。
1、在同终端中输入命令:tasklist | findstr 6789,将 6789 替换为上一步获得的 PID;
2、输出示例:node.exe 6789 Console 1 98,768 K,第二列为映像名称 node.exe;
3、若返回为空,可尝试使用:wmic process where "ProcessId=6789" get Name,ExecutablePath 获取更详细路径信息。
五、验证端口监听状态与协议类型
部分服务仅监听 IPv4 或 IPv6 地址,或处于 TIME_WAIT、ESTABLISHED 等非监听状态,需结合协议与状态字段综合判断是否构成“占用”。
1、执行 netstat -ano -p TCP -n(-n 参数禁用域名解析,加快输出);
2、检查“状态”列:仅 LISTENING 表示该端口正主动等待连接;
3、检查“本地地址”列:若显示 [::]:80,表示监听 IPv6 的 80 端口;若为 0.0.0.0:80,表示监听所有 IPv4 接口;
4、若需同时查看 UDP 监听端口,执行:netstat -ano -p UDP。

















