做什么
显示网络连接 / 路由表 / 接口统计——老牌网络工具,被 ss 取代。但老服务器很多还在用。
sudo apt install net-tools # 多数 Ubuntu 现在不默认装
经典姿势
sudo netstat -tlnp # ★ 最常用:TCP 监听 + 进程
sudo netstat -tnp # 已建立 TCP 连接
sudo netstat -ulnp # UDP 监听
sudo netstat -anp # 所有连接
sudo netstat -r # 路由表(等同 ip route)
sudo netstat -i # 接口统计
sudo netstat -s # 协议级统计
参数
| 参数 | 含义 |
|---|---|
-t |
TCP |
-u |
UDP |
-l |
监听 |
-n |
不解析端口 / IP |
-p |
显示进程(要 root) |
-a |
所有 |
-r |
路由表 |
-i |
接口统计 |
-s |
协议统计 |
-c |
持续刷新 |
netstat → ss 翻译表
| netstat | ss |
|---|---|
netstat -tlnp |
ss -tlnp |
netstat -tnp |
ss -tnp |
netstat -ulnp |
ss -ulnp |
netstat -anp |
ss -tunap |
netstat -r |
ip route |
netstat -i |
ip -s link |
为什么还学
- 老服务器(CentOS 6/7 / Ubuntu 14.04 等)默认装 netstat 不装 ss
- 老脚本 / 老文档大量用 netstat
- 个别 BSD / macOS 没有 ss
速度对比
time netstat -anp > /dev/null # 大连接量服务器可能 5+ 秒
time ss -anp > /dev/null # 通常 < 0.5 秒
新系统直接用 ss。
坑
- 现代 Ubuntu 默认不装 netstat——
apt install net-tools - netstat 解析
/proc/net/*全部内容——大连接量时慢 - 路由相关功能用
ip route替代更好