netstat Cheatsheet - Linux Network Troubleshooting Reference

网络排查必备的 netstat 命令都在这里了,从查看端口监听到分析连接状态,按场景分类整理,排障直接复制。

SysOps·39 commands·Last updated 2026-07-21
Back to SysOps

查看连接 6

netstat
查看所有活跃连接
netstat -a
查看所有监听和非监听端口
netstat -at
只查看 TCP 连接
netstat -au
只查看 UDP 连接
netstat -an
不解析域名和端口名(更快)
netstat -anp
显示 PID 和进程名(需 root)

监听端口 6

netstat -l
查看所有监听端口
netstat -lt
查看 TCP 监听端口
netstat -lu
查看 UDP 监听端口
netstat -lx
查看 Unix 域套接字监听
netstat -lntp
查看 TCP 监听及进程(需 root),最常用
netstat -lnup
查看 UDP 监听及进程

路由表与接口统计 5

netstat -r
查看路由表,等价于 route
netstat -rn
查看路由表不解析主机名(更快)
netstat -i
查看网络接口统计(收发包)
netstat -ie
查看接口详情,等价于 ifconfig
netstat -rn | grep UG
只看默认网关路由

协议统计信息 5

netstat -s
查看所有协议统计信息
netstat -st
查看 TCP 协议统计
netstat -su
查看 UDP 协议统计
netstat -s | grep -i error
查看网络错误统计
netstat -s | grep -i retrans
查看 TCP 重传统计

按状态筛选与排障 6

netstat -an | grep ESTABLISHED
查看已建立的连接
netstat -an | grep TIME_WAIT
查看 TIME_WAIT 连接
netstat -an | grep :80
查看 80 端口相关连接
netstat -lntp | grep :80
查看 80 端口被哪个进程监听
netstat -an | awk '{print $6}' | sort | uniq -c
统计各连接状态分布
netstat -an | grep ESTABLISHED | wc -l
统计当前活跃连接数

高级选项 6

-n
不解析 IP 和端口为名称,显示更快
-p
显示占用端口的进程 PID 和名称(需 root)
-c 1
每秒持续输出,实时监控连接变化
-o
显示连接计时器信息
-e
显示详细信息,附加用户和 inode 列
-v
详细模式,显示未配置的接口

替代工具(ss / ip) 5

ss -tlnp
ss 替代 netstat -tlnp,速度更快
ss -tn state established
ss 按状态过滤已建立连接
ss -s
ss 查看连接统计摘要
ip addr
ip 替代 ifconfig/netstat -ie 查看接口
ip route
ip 替代 netstat -r 查看路由表

💡 Tips

  • netstat 已被 ss 命令逐步替代,新系统建议优先用 ss(更快更现代)。
  • 查看进程需要 root 权限,否则 PID 列显示为 -。
  • TIME_WAIT 过多可能是短连接频繁,考虑用长连接或连接池。
  • netstat -an 速度最快,-p 会降低性能因为要查进程映射。
  • ss 使用 netlink 接口直接读取内核数据,比 netstat 快一个数量级。
  • 排查端口占用最常用的组合是 netstat -tlnp | grep <端口>。