本文目录导读:

iptraf-ng网络监控实战指南:从安装到深度流量分析
目录导读
什么是iptraf-ng与核心功能
iptraf-ng 是经典网络监控工具iptraf的现代化改进版本,专为Linux系统设计的基于终端的实时网络诊断工具,它无需图形界面,即可提供对网络流量的深度可视化和统计分析。
核心功能:
- 实时流量统计:按接口、协议、端口显示传入/传出速率
- 连接追踪:显示所有活跃TCP/UDP连接的源/目标IP与端口
- 包分析:识别二层帧、三层协议(ARP/IP/ICMP)及四层协议分布
- 硬件信息:检测网卡状态、错误包、碰撞次数等
- 日志记录:支持将监控数据写入文件供后续分析
与原始iptraf相比,iptraf-ng修复了大量BUG,支持现代Linux内核(如5.x/6.x系列),并增加了对IPv6、大型接口列表(如bonding)的兼容性。
安装与启动方法
安装(以CentOS/RHEL 8+/Ubuntu 20.04+为例):
# RHEL/CentOS/Fedora sudo dnf install iptraf-ng -y # Debian/Ubuntu sudo apt-get update && sudo apt-get install iptraf-ng -y
启动与权限:
# 普通启动 sudo iptraf-ng # 指定日志目录(默认/var/log/iptraf-ng) sudo iptraf-ng -B -i eth0 # -B后台模式,-i指定接口
重要提示:iptraf-ng需要超级用户权限以捕获原始网络包,建议使用sudo或在root账户下运行。
六大监控模块详解
1 通用接口统计(General Interface Statistics)
显示每个网络接口的实时流量概览:
- Incoming/Outgoing速率(Kbps/Mbps)
- 总包数、总字节数
- 错误包、丢包、碰撞数量
适合快速排查网卡是否工作异常。
2 详细接口统计(Detailed Interface Statistics)
按IP协议类型(TCP/UDP/ICMP/IGMP)细分流量:
- 每种协议的平均速率
- 传入/传出包字节占比
- 对定位某协议异常占用带宽尤为有用。
3 统计断点(Statistical Breakdowns)
按源/目标IP地址及端口统计流量排名。
操作指南:进入该模块后按s键可排序,按d切换显示详情,当怀疑某IP在下载大文件时,可在此模块找到其IP地址。
4 局域网统计(LAN Station Statistics)
专用于以太网二层环境,显示每个MAC地址的收发流量,在无线网络中效果不佳,建议在有线网络中排查ARP攻击或广播风暴。
5 TCP/UDP服务监控(TCP/UDP Service Monitor)
列出所有侦听和活跃的IPv4/IPv6端口,显示每个端口的流量,可快速识别:
- 哪台服务器端口正被大量连接
- 是否有陌生服务在监听(安全审计时常用)
6 包捕获(Packet Capture)
类似tcpdump的实时抓包功能,但更友好:
- 按协议(TCP/UDP/ICMP/ARP)过滤
- 捕获并显示包内容(ASCII + Hex)
- 适合深度调试应用层问题
实战:实时定位带宽占用者
场景:公司内网某台Linux服务器突然带宽占用100%,需要快速找到源头。
步骤:
-
进入监控:
sudo iptraf-ng
-
选择
Detailed Interface Statistics,选择接口(如eth0) -
查看
TCP流量比例是否异常高(比如90%),确认是应用层问题 -
退出并按
Ctrl+X返回主菜单,进入Statistical Breakdowns- 按
S键切换排序方式,等待10秒 - 观察
Highest Source IP列表中,若168.1.105的流量远高于其他,即为可疑IP
- 按
-
进一步分析该IP:
- 进入
TCP/UDP Service Monitor,查找168.1.105对应的连接 - 发现大量连接指向
远端IP:6881(BT下载端口) - 确认该IP正在使用torrent下载,联系管理员处理
- 进入
通过三层分析(接口→协议→IP→端口),5分钟内定位出具体行为,无需安装复杂图形工具。
问答:常见问题与解决方案
Q1:为什么启动后没有任何流量显示?
A:
- 确保以
sudo运行,普通用户无抓包权限 - 检查是否选择了正确的网络接口(用
ip link show或ifconfig确认) - 在虚拟机中可能需要开启混杂模式:
ip link set eth0 promisc on
Q2:iptraf-ng和nload、iftop有何区别?
A:
- nload:仅显示总流量图表,不区分协议或IP
- iftop:按连接显示流量(类似top命令),突出点对点通信
- iptraf-ng:提供最全面的分析,包括协议分布、二层统计、端口监控等,适合深入排障
Q3:如何将监控结果保存到文件?
A:
- 后台模式会自动写入日志:
sudo iptraf-ng -B -i eth0 - 日志默认位置:
/var/log/iptraf-ng/ - 也可手动导出当前屏幕数据:运行中按
Ctrl+E导出到CSV格式
Q4:为什么CPU占用率很高?
A:
- iptraf-ng在千兆网口满速抓包时可能消耗5-15% CPU(取决于机器性能)
- 解决方案:只用
Statistical Breakdowns(不做包捕获)降低开销;或后台运行于商业环境时使用-t <秒>参数限制监控时长
Q5:能否监控远程服务器的流量?
A:
- iptraf-ng是本地监控工具,无法直接抓取远程包
- 但可通过SSH登录远程服务器后运行,结合
tmux或screen保持会话 - 若需远程获取原始包,建议使用
tcpdump配合Wireshark或PCAP-over-IP方案
写在最后
iptraf-ng作为一款经典网络监控工具,其轻量、稳定、无依赖的优势至今无法被完全替代,无论是日常运维故障排查,还是对网络流量进行安全审计,掌握它的六大模块都能显著提升效率,若你是Linux网络管理员,建议将此工具加入你的工具箱——它不会替代Wireshark的深度分析,但在快速定位“谁在疯狂下载”“哪个端口受到攻击”等场景中,绝对是第一选择。