iftop可实时监控Linux网络流量,通过sudo iftop运行后查看各IP与端口的带宽占用情况,结合-i、-n、-F等参数可指定网卡、禁用DNS解析或过滤网段,界面中左侧为本机地址,右侧为远程地址,箭头=>表示本机发送数据。

监控Linux网络流量,关键在于选择合适的工具,不同的工具侧重点不同。有些看整体带宽,有些看具体进程,还有些用于长期统计或深度分析。直接上手操作,效果最直观。
iftop:实时查看谁在占用带宽
iftop是排查网络拥堵的利器,它像top命令一样实时刷新,能精确到每个IP和端口的流量情况,帮你快速定位是哪个外部地址消耗了大量带宽。
- 安装:在Debian/Ubuntu系统用sudo apt install iftop,在CentOS/RHEL系统用sudo yum install iftop或sudo dnf install iftop
- 运行:需要root权限,直接执行sudo iftop。默认监控第一块网卡
-
常用技巧:
- 指定网卡:sudo iftop -i eth0
- 显示IP不解析主机名:sudo iftop -n(减少DNS查询干扰)
- 只看特定网段:sudo iftop -F 192.168.1.0/24
- 界面解读:左侧是本机IP和端口,右侧是远程IP和端口。中间箭头=>表示本机发送(TX),表示本机接收(RX)。右边三列数字分别是最近2秒、10秒、40秒的平均速率
nethogs:按进程监控流量
如果你想知道是哪个程序在偷偷上传或下载数据,nethogs是最佳选择。它将流量直接关联到具体的进程和用户,特别适合找出“流量元凶”。
- 安装:Debian/Ubuntu执行sudo apt install nethogs,CentOS/RHEL执行sudo yum install nethogs
- 运行:sudo nethogs。界面会列出所有正在使用网络的进程
- 信息说明:主要看PROGRAM(进程名)、SENT(发送速度)和RECEIVED(接收速度)这三列。流量最大的进程一目了然
- 小技巧:可以加-d 5参数让刷新间隔为5秒,例如sudo nethogs -d 5
vnstat与Cacti:记录历史流量
iftop和nethogs都是实时工具,关掉就没了。如果想查看过去一天或一个月用了多少流量,就需要vnstat这样的统计工具,或者用Cacti搭建可视化监控平台。
- vnstat:这是一个后台服务,会持续记录网卡流量。安装后启动服务,之后就能用vnstat命令查看日、月汇总报告。特点是轻量,数据持久
- Cacti:一个强大的Web图形化监控系统。配置稍复杂,需要在被监控服务器上启用SNMP服务,然后在Cacti服务器添加设备。配置成功后,能在网页上看到漂亮的流量趋势图,适合监控多台服务器
tcpdump:深入分析网络包
当遇到复杂的网络故障,比如连接超时、丢包,或者怀疑有异常通信时,就需要用tcpdump抓包来分析了。它能捕获原始的数据包内容。
- 使用:sudo tcpdump -i any -c 10 表示监听所有网卡,抓取10个包后停止
-
过滤技巧:
- 只抓某个IP:sudo tcpdump host 192.168.1.100
- 只抓某个端口:sudo tcpdump port 80
- 保存到文件:sudo tcpdump -w capture.pcap port 80,之后可以用Wireshark等工具打开分析
- 注意:输出信息非常详细,新手容易看花眼。建议配合过滤条件使用,直击问题核心
基本上就这些。日常快速查看用iftop,查进程用nethogs,看历史用vnstat,排错深入分析用tcpdump。选对工具,网络监控就不复杂但容易忽略细节。










