要确认Windows中监听端口及对应进程,可用五种方法:一、netstat -ano全量查看;二、netstat -aon | findstr筛选指定端口;三、tasklist查PID对应进程名;四、资源监视器图形化查看;五、PowerShell用Get-NetTCPConnection精准查询。

如果您需要确认 Windows 系统中哪些端口正处于监听状态,以排查服务未响应、端口冲突或潜在安全风险,则需识别本机正在接受网络连接请求的本地端口及其归属进程。以下是多种可直接执行的查询方法:
一、使用 netstat -ano 全量查看监听端口及关联进程
该命令一次性列出所有 TCP/UDP 连接与监听端口,并附带进程 ID(PID),是定位开放端口最基础且通用的操作,适用于 Win10 和 Win11 系统。
1、按下 Win + R 组合键,打开“运行”对话框。
2、输入 cmd 并按回车,启动命令提示符。
3、在命令提示符中输入以下命令并回车:netstat -ano。
4、观察输出结果中的 State 列,筛选出值为 LISTENING 的 TCP 行,以及 UDP 行中 Foreign Address 为空但 Local Address 含端口号的条目。
5、对应行最右侧的数字即为 PID,用于后续关联具体程序。
二、精准筛选指定端口并提取占用进程 PID
当已知目标端口号(如 80、3389、445)时,该方法可跳过全量输出,直接定位该端口是否被监听及由哪个进程控制,大幅缩短排查时间。
1、在已打开的命令提示符中输入命令:netstat -aon | findstr ":端口号",将“端口号”替换为实际数值(例如 :3389)。
2、若无返回结果,尝试去掉冒号再执行:netstat -aon | findstr "端口号"(部分系统版本对格式敏感)。
3、从匹配行中提取最右侧的数字,即为该端口对应的 PID(例如 1234)。
三、通过 tasklist 查询 PID 对应的进程名称
仅获知 PID 无法判断程序可信度,必须将其映射为可识别的进程名(如 svchost.exe、java.exe),以便进一步分析其行为或决定是否终止。
1、在命令提示符中输入:tasklist | findstr "PID数值",将“PID数值”替换为上一步获取的实际 PID(例如 tasklist | findstr "1234")。
2、输出结果第一列即为 映像名称(如 conhost.exe 或 lsass.exe)。
3、若输出为空,说明该 PID 进程已退出但端口状态尚未刷新,可等待数秒后重试或重启相关服务。
四、使用资源监视器图形化查看监听端口
资源监视器提供无需记忆命令的可视化界面,实时展示所有 LISTEN 状态端口及其绑定的进程名、PID、协议类型和完整路径,适合不熟悉命令行操作的用户快速验证。
1、按下 Win + R,输入 resmon 并回车,启动资源监视器。
2、点击顶部选项卡中的 网络。
3、向下滚动至 监听端口 区域,查看按端口号排序的所有监听条目。
4、每行包含 端口、协议、进程、PID 和 路径 等完整信息。
五、使用 PowerShell 获取监听 TCP 端口详情
PowerShell 提供比 netstat 更结构化的输出,支持原生对象过滤,可直接获取监听端口的 OwningProcess 属性,避免手动解析文本,适合自动化或精确检索场景。
1、在开始菜单搜索 PowerShell,右键选择 以管理员身份运行。
2、执行以下命令列出所有处于监听状态的 TCP 端口:Get-NetTCPConnection | Where-Object {$_.State -eq 'Listen'}。
3、如需查询特定端口(例如 3306),执行:Get-NetTCPConnection -LocalPort 3306。
4、输出中的 OwningProcess 值即为进程 ID,可用于 tasklist 查询或 taskkill 终止。










