首页/系统/Windows 运维速查/netstat 网络连接与端口
CMD 常用命令74 条

netstat 网络连接与端口

查看活动连接、监听端口与协议统计:-ano 组合是端口占用排查的标准起点。

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

netstat 是什么

netstat 是 Windows 自带的网络状态与统计工具,输出本机协议栈的实时视图:正在监听的端口、已建立的连接、等待回收的连接,以及按协议统计的数据包与错误计数。它不依赖任何额外组件,在任何 Windows 环境里都能直接运行,因此常被用作网络类排障的起点。输出是纯文本表格,列含义固定,配合 findstr 过滤就能快速定位端口、状态与进程编号。

基本信息

适用平台Windows CMD / PowerShell(系统自带 netstat.exe)
语法netstat [-a] [-n] [-o] [-b] [-e] [-r] [-s] [-p 协议] [间隔秒数]
排障标配netstat -ano,输出快且带进程编号
其它视角-r 显示路由表、-e 显示接口统计、-s 显示协议统计、-b 显示程序名
权限查看连接无需提升,显示程序名需要管理员
提示在 PowerShell 会话中应写 netstat.exe 以确保调用系统程序

典型使用场景

  • 确认业务端口是否处于监听状态,判断服务是否真的启动成功
  • 按状态过滤已建立连接,查看有哪些客户端正在访问
  • 用协议统计观察重传与错误计数是否异常增长
  • 查看路由表(-r)确认默认网关与明细路由是否符合预期
  • 以固定间隔重复输出,观察连接数量随时间的变化趋势
  • 配合进程查询命令定位占用端口的程序

常用示例

常用示例
:: 全部连接与监听,数字显示并附带进程编号
netstat -ano
:: 只看某端口的条目
netstat -ano | findstr :3306
:: 只看监听状态
netstat -ano | findstr LISTENING
:: 只看已建立的连接
netstat -ano | findstr ESTABLISHED
:: 协议统计
netstat -s -p tcp
:: 查看路由表
netstat -rn
:: 每 5 秒重复输出一次,观察趋势
netstat -ano 5

状态字段速查

状态含义处理方向
LISTENING本机在该端口等待连接服务已启动,可继续排查五层以上问题
ESTABLISHED双向连接已建立按外部地址核实来源是否可信
TIME_WAIT主动关闭后等待超时回收短时大量出现属正常,无需处理
CLOSE_WAIT对端已关闭,本机程序尚未释放连接堆积说明程序未正确关闭连接
SYN_SENT握手请求已发出未见应答对端不可达或被策略拦截
绑定失败提示端口被占用或权限不足先定位占用进程再决定处置方式
拿到进程编号后可以用进程查询命令反查程序身份,再结合服务查询判断它是不是由系统服务承载,从而决定是停服务还是调整配置。
需要长时间观察时直接给命令加间隔秒数,让它在原窗口按周期刷新,比手工反复执行更省事;结束按 Ctrl+C 即可。

易错点

  • 不加 -n 就执行:会对每个地址做反向解析,地址多时输出明显变慢,排障先加 -n
  • 忽略绑定地址:服务只监听环回地址时本机自测能通、外部访问不通,容易被误判为防火墙问题
  • 把 TIME_WAIT 当成故障:它是主动关闭后的正常回收状态,真正需要关注的是长期堆积的 CLOSE_WAIT
  • 在 PowerShell 里直接写 netstat:可能命中同名别名而非系统程序,脚本中应写全名
  • 只看某一时刻的结果就下结论:连接数具有波动性,涉及趋势判断应加间隔重复观察

数据来源与参考

  • Microsoft Learn:netstat 命令

相关工具

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