netstat Cheatsheet - Linux Network Troubleshooting Reference
网络排查必备的 netstat 命令都在这里了,从查看端口监听到分析连接状态,按场景分类整理,排障直接复制。
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 -tlnpss 替代 netstat -tlnp,速度更快
ss -tn state establishedss 按状态过滤已建立连接
ss -sss 查看连接统计摘要
ip addrip 替代 ifconfig/netstat -ie 查看接口
ip routeip 替代 netstat -r 查看路由表
💡 Tips
- netstat 已被 ss 命令逐步替代,新系统建议优先用 ss(更快更现代)。
- 查看进程需要 root 权限,否则 PID 列显示为 -。
- TIME_WAIT 过多可能是短连接频繁,考虑用长连接或连接池。
- netstat -an 速度最快,-p 会降低性能因为要查进程映射。
- ss 使用 netlink 接口直接读取内核数据,比 netstat 快一个数量级。
- 排查端口占用最常用的组合是 netstat -tlnp | grep <端口>。