首页/系统/Linux 运维命令速查/netstat 传统连接查看
网络命令82 条

netstat 传统连接查看

老牌网络状态命令:-tulnp 看监听、-an 看连接、-s 看协议统计;新系统建议换 ss,但维护老脚本时仍常遇到。

Linux 运维命令速查系统更新于 2026-10-13

netstat 的现状

netstat 属于 net-tools 套件,是老一代 Linux 网络状态查看工具,能看连接、监听端口、路由表与协议统计。新发行版已不再默认安装它,推荐使用 ss、ip 等新工具,它们直接读取内核接口,连接量大时明显更快。但大量既有脚本与文档仍以 netstat 写成,读懂并把它们迁移到新工具是维护老系统时的常见需求。

基本信息

适用平台老 Linux 系统自带;新发行版需额外安装 net-tools
语法netstat [选项]
现代替代ss 看连接、ip route 看路由、ip 命令看接口
性能差异连接数大时需要遍历大量信息,明显慢于 ss

典型使用场景

  • 在当前系统没有安装新工具时做基础排查
  • 阅读与迁移既有运维脚本中的命令
  • 确认某端口是否处于监听状态以及由哪个进程占用
  • 统计已建立连接数量做粗略巡检
  • 查看协议层统计中的重传与错误计数

常用示例

常用示例
netstat -tlnp                         # 监听端口与进程(同 ss -tlnp)
netstat -an | grep ESTAB | wc -l      # 粗略统计已建立连接数
netstat -s | head -20                 # 协议统计:重传、错误、丢弃
netstat -rn                           # 路由表(同 ip route)
netstat -i                            # 接口收发统计
ss -tlnp                              # 新系统的推荐替代
ip route show                         # 路由的新写法

新旧命令对照

用途netstat 写法现代写法
监听端口netstat -tlnpss -tlnp
全部连接netstat -anss -an
协议统计netstat -sss -s 与 nstat
路由表netstat -rnip route show
接口信息netstat -iip -s link
新旧工具的统计口径不完全一致:协议计数器通常是累计值,判断「是不是最近在恶化」要看两次采样的差值,而不是绝对数字。

迁移建议

  • 先把脚本里的调用逐个替换成新工具,并在输出格式上做适配
  • 新工具的输出列更规整,更适合用字段解析而不是按位截取
  • 保留一段时间的双跑校验,确认新写法得到的信息与旧写法一致
  • 在文档与手册里同步更新命令示例,避免新人继续复制旧写法
  • 确实需要旧工具时再安装,别在新系统上默认依赖它
解析输出时避免按固定列宽裁剪,不同版本的列间距会变;优先按关键字过滤,或直接改用结构化输出更可靠的工具。

易错点

  • 现代发行版可能没有装该工具,脚本里默认依赖会直接失败,迁移前先确认目标环境
  • 连接量大时它比新工具慢很多,高并发机器上拿它做巡检本身可能拖慢系统
  • 输出列宽随版本变化,靠固定位置截取字段的解析脚本容易突然失效
  • 把监听端口与已建立连接混为一谈,排查时方向就错了

数据来源与参考

  • man 8 netstat(net-tools 手册)

相关工具

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