在 CentOS 上查看网络流量(也就是你说的“sniffer”用途),常见做法有 命令行工具 和 抓包分析工具 两类,下面按使用场景给你一个实用清单。
iftop(最常用)适合:看哪个 IP 占用流量最多
yum install -y epel-release
yum install -y iftop
iftop
常用操作:
h:帮助n:不解析主机名p:显示端口退出:q
nload(简单直观)适合:只看整体带宽
yum install -y nload
nload
上下行流量一目了然。
sar(系统级流量统计)适合:查看历史流量
yum install -y sysstat
sar -n DEV 1
输出示例:
IFACE rxpck/s txpck/s rxkB/s txkB/s
iptraf-ng适合:带菜单的流量分析
yum install -y iptraf-ng
iptraf-ng
tcpdump(最经典)适合:抓包、排查问题
yum install -y tcpdump
查看所有网卡流量:
tcpdump -i any
抓指定网卡:
tcpdump -i eth0
抓 HTTP(80端口):
tcpdump -i eth0 port 80
保存到文件:
tcpdump -i eth0 -w traffic.pcap
读取文件:
tcpdump -r traffic.pcap
只看 IP 和端口(不解析):
tcpdump -nn
tshark(命令行版 Wireshark)适合:像 Wireshark 一样分析
yum install -y wireshark-cli
tshark -i eth0
tcpdump -i eth0 -w file.pcap
| 需求 | 推荐 |
|---|---|
| 看哪个 IP 流量大 | iftop |
| 看整体带宽 | nload |
| 抓包分析 | tcpdump |
| 像 Wireshark | tshark |
| 历史流量 | sar |
⚠️ 生产环境抓包要谨慎
tcpdump -i any如果你能告诉我:
我可以给你一条最合适的具体命令。