首页/系统/Windows 运维速查/netstat 查看监听与活动连接

netstat 查看监听与活动连接

列出本机所有监听端口与活动连接:确认服务是否在听、谁在连接、连接数是否异常。

Windows 运维速查系统更新于 2026-10-13

netstat 看监听与连接

netstat 是 Windows 自带的网络状态查看工具,列出本机所有监听端口、已建立的连接以及协议统计。排查「服务起没起来」「谁连着本机」「连接数是不是异常」都从它开始。实战里最常用的是 -ano 三个参数的组合:-a 显示全部连接与监听,-n 直接输出数字地址和端口不做名称反解析,-o 附带占用该连接的进程编号。输出稳定、字段固定,适合用 findstr 过滤或写进脚本采集。

基本信息

适用平台Windows CMD / PowerShell,netstat.exe 系统自带
语法netstat [-a] [-n] [-o] [-b] [-p 协议] [-r] [-e] [-s] [间隔秒数]
关键参数-a 全部、-n 数字显示、-o 显示 PID、-b 显示可执行程序(需管理员)、-p 限定协议、-s 协议统计
常用组合netstat -ano 排障标准起点,输出快且含进程编号
权限普通用户可查看连接;-b 显示程序名需要管理员权限
别名提示PowerShell 里应写 netstat.exe,直接写 netstat 会命中同名别名

典型使用场景

  • 确认服务是否在监听:程序启动失败时先看端口有没有进入监听状态
  • 排查端口冲突:多个进程争抢同一端口时比对本地地址与进程编号
  • 查看谁在连接本机:按状态过滤已建立连接,判断是否有人异常访问
  • 统计连接规模:连接数远超预期时判断是否存在连接泄漏或异常客户端
  • 结合协议统计观察重传与错误计数(-s -p tcp)
  • 排查端口耗尽类问题:观察大量处于回收状态的连接是否集中在同一进程

常用示例

常用示例
:: 全部连接与监听,数字显示并带进程编号
netstat -ano
:: 只看 80 端口相关的行
netstat -ano | findstr :80
:: 只看监听状态的行,判断服务有没有起来
netstat -ano | findstr LISTENING
:: 只看已建立的连接
netstat -ano | findstr ESTABLISHED
:: 限定协议并输出统计信息
netstat -s -p tcp
:: 只统计监听条目数量
netstat -ano | findstr LISTENING | find /c /v ""
:: 拿到 PID 后定位进程
tasklist /FI "PID eq 4321"

连接状态含义

状态含义是否正常
LISTENING本机在该端口等待连接服务正常启动的标志
ESTABLISHED双向连接已建立,数据可传输数量异常增多需查来源
TIME_WAIT本地已主动关闭,等待超时回收短时间大量出现属于正常现象
CLOSE_WAIT对端已关闭,本机程序尚未释放长时间堆积说明程序没正确关闭连接
SYN_SENT已发出握手请求等待应答持续停留在该状态说明对端或链路不通
FIN_WAIT_1 与 FIN_WAIT_2本地发起关闭后的中间状态短时出现正常,长期滞留需查程序

输出逐列读法

列含义异常信号
协议TCP 或 UDPUDP 不显示连接状态
本地地址本机地址与端口,0.0.0.0 表示监听所有网卡只绑 127.0.0.1 时外部无法访问
外部地址对端地址与端口出现陌生公网地址需要核实
状态连接所处的生命周期阶段大量 CLOSE_WAIT 或 SYN_SENT 是典型异常
PID占用该连接的进程编号与任务管理器或进程查询命令比对即可定位程序
不加 -n 时 netstat 会对每个地址做反向解析,地址一多输出会明显变慢甚至长时间卡住,排障时养成先加 -n 的习惯。
本地地址里的 0.0.0.0 表示监听所有网卡,127.0.0.1 表示只允许本机访问。服务只监听环回地址时,本机测试能通、外部访问不通,这是很常见的误导点。
想看监听状态同时确认可执行文件名,用管理员会话执行带 -b 的组合;普通权限下该列会提示信息不足,容易误判成没有进程占用。

易错点

  • 不加 -n 就执行:反向解析会让输出变慢甚至看起来卡死,排障时先加 -n 再谈其它参数
  • 把 TIME_WAIT 当成故障:这是主动关闭后的正常回收状态,与端口泄漏无关,真正的隐患是长期堆积的 CLOSE_WAIT
  • 在 PowerShell 里直接敲 netstat:命中的可能是同名别名,脚本里应写成 netstat.exe 以确保调用系统程序
  • 只看本地端口不看绑定地址:服务绑在环回地址上时外部无法访问,此时追加防火墙排查都是徒劳
  • 把 UDP 行也按连接状态解读:UDP 无连接语义,状态列不适用,统计口径要与 TCP 分开

数据来源与参考

  • Microsoft Learn:netstat 命令

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌