netstat -st 能精准显示 TCP 协议详细统计信息,因 -s 表示按协议汇总统计,-t 限定仅 TCP;合用后排除 UDP/ICMP 干扰,聚焦连接建立、重传、错误等关键指标。

用 netstat -st 就能显示详细的 TCP 协议统计信息。
为什么是 -st 而不是其他组合
-s 表示显示各协议的统计摘要,-t 表示限定只输出 TCP 协议部分。两者合用,就精准聚焦在 TCP 的收发包、连接建立/关闭、重传、错误等底层指标上。单独用 -s 会混入 UDP、ICMP 等内容,干扰判断。
输出里关键字段怎么看
- active connections openings:本机主动发起的 TCP 连接次数(比如 curl、wget、程序主动 connect)
- passive connection openings:被远程连接进来的次数(即服务端 accept 的次数,反映服务负载)
- failed connection attempts:连接失败数(SYN 发出但没收到 SYN-ACK,可能目标不可达或端口关闭)
- retransmitted segments:重传的数据段数量(持续升高说明网络丢包或延迟大)
- connections established:成功完成三次握手的总次数
- segments received / sent:收发的总 TCP 段数(含 ACK、控制报文等)
日常排查小技巧
- 对比两次输出差值:先运行 netstat -st 记下关键数字,等几十秒再跑一次,看 retransmitted 或 failed 是否明显增长
- 结合 -n 使用更清晰:netstat -stn 不解析端口名,避免 DNS 查询延迟,数值更稳定
- 权限不影响 -s:普通用户也能执行,无需 sudo
注意 netstat 已逐步被 ss 替代
现代系统(如 CentOS 8+/Ubuntu 20.04+)推荐用 ss -s 查 TCP 统计,速度更快、输出更精简。但 netstat -st 输出更详细,尤其适合深度分析或兼容老脚本场景。


















