上一篇                     
               
			  linux如何查看监控流量
- Linux
- 2025-07-26
- 2234
 nux查看监控流量可用工具包括iftop、nethogs、iptraf、vnstat、nload等,部分需sudo权限运行
 
是Linux系统中常用的查看和监控网络流量的方法及工具详解:
基础命令行工具
-  ifconfig/ip命令 - 功能:获取网络接口的基础统计信息(如收发数据包数量、字节数),执行ip link show可列出所有网卡及其状态,但此类命令仅提供静态快照,无法实现动态监控,若需定期刷新结果,可结合watch使用:watch -n 1 "ip -s link"(每秒更新一次)。
 
- 功能:获取网络接口的基础统计信息(如收发数据包数量、字节数),执行
-  netstat命令 - 用法:通过参数组合实现多维度分析。 
    - netstat -i→ 显示各接口的总吞吐量;
- netstat -tupan→ 查看TCP/UDP连接的具体状态及端口占用情况,此命令适合快速排查异常监听的服务或未关闭的连接。
 
 
- 用法:通过参数组合实现多维度分析。 
    
-  /proc/net/dev文件  - 路径:直接读取内核数据源cat /proc/net/dev,获取原始的网络接口计数器信息,该文件记录了自系统启动以来的所有流量数据,适合脚本化处理。
 
- 路径:直接读取内核数据源
实时交互式监控工具
| 工具名 | 特点 | 典型用法 | 
|---|---|---|
| iftop | 按IP/端口分级显示实时带宽使用,支持排序与过滤 | sudo iftop -i eth0 -p 80(监控指定接口的HTTP流量) | 
| nload | ASCII图形化界面呈现流量趋势,视觉直观 | nload eth0 -t 500(设置刷新间隔为500毫秒) | 
| ifstat | 轻量级文本模式监控,低资源消耗 | ifstat eth0(持续滚动更新收发速率) | 
| bmon | 多窗口布局展示多维度指标(协议分布、错误包统计等) | bmon(自动识别主网卡,支持快捷键切换视图) | 
| darkstat | 生成Web面板并支持远程访问,适合分布式环境 | sudo darkstat -i eth0(启动后通过浏览器登录管理) | 
进程级流量分析
-  nethogs - 此工具专门针对进程进行网络带宽监控,能够清晰识别出哪个进程正在大量占用网络资源,非常适合用来查找那些偷偷消耗带宽的程序,其使用方法为:sudo nethogs eth0,执行该命令后,会详细列出每个进程的流量占比情况,若发现某个未知进程占据较高带宽,则极有可能是异常行为的表现,此时应进一步深入排查。
 
- 此工具专门针对进程进行网络带宽监控,能够清晰识别出哪个进程正在大量占用网络资源,非常适合用来查找那些偷偷消耗带宽的程序,其使用方法为:
-  结合ps命令定位问题进程 - 当通过nethogs发现异常进程时,可以使用ps -aux | grep [PID]来查看该进程的详细信息,包括它的启动用户、执行路径以及启动参数等,这些信息有助于判断该进程是否合法,从而采取相应的措施,比如结束反面进程或者优化合法但低效的应用配置。
 
- 当通过nethogs发现异常进程时,可以使用
历史数据统计与趋势预测
-  vnstat  - 安装:大多数发行版可通过包管理器直接安装(如Debian系用apt install vnstat)。
- 实时模式:运行vnstat -l -i eth0可查看当前瞬时速率;更常用的是其日志回放功能——vnstat -r能解析历史记录并以图表形式展现每日/月均流量峰值。
- 自动化集成:配合Zabbix或Nagios等监控系统,可将流量数据存入数据库并生成可视化报表,便于容量规划。
 
- 安装:大多数发行版可通过包管理器直接安装(如Debian系用
-  sar命令(sysstat套件) - 高级用法:sar -n DEV 1 10表示每秒采集一次网络设备数据,共持续10次采样,输出结果包含错误包数量、丢包率等关键指标,对诊断网络质量非常有用。
 
- 高级用法:
深度包级分析
-  tcpdump/wireshark - 基础抓包:使用tcpdump -i eth0 tcp port 443可以捕获特定接口上的SSL通信数据包;而Wireshark则提供了图形化的界面,支持更复杂的过滤规则设置,二者均支持保存数据包以便后续离线深入分析,需要注意的是,这类工具可能会对系统性能产生影响,尤其是在高流量的生产环境中要谨慎使用。
- 解码还原:对于加密流量(如TLS),虽然无法直接查看明文内容,但仍可提取元数据特征(源IP、目的端口序列等),辅助安全审计。
 
- 基础抓包:使用
-  iptraf  - 作为一个综合性的分析器,不仅具备实时监控的功能,还能跟踪TCP会话的完整生命周期,通过sudo iptraf进入交互模式后,用户可以查看详细的统计数据,甚至模拟防火墙规则进行测试。
 
- 作为一个综合性的分析器,不仅具备实时监控的功能,还能跟踪TCP会话的完整生命周期,通过
场景化解决方案对比
| 需求类型 | 推荐方案 | 优势说明 | 
|---|---|---|
| 快速概览整体带宽 | nload | ASCII绘图直观易懂,资源开销极低 | 
| 定位具体应用瓶颈 | iftop + nethogs | 双层钻取:先识别主机IP,再关联到对应进程 | 
| 长期趋势预测 | vnstat + Zabbix | 历史归档与告警联动,实现主动运维 | 
| 故障排查 | tcpdump抓包分析 | 精确还原网络行为路径,验证协议合规性 | 
FAQs
Q1: iftop和nload有什么区别?如何配合使用?
A: iftop侧重连接级别的细节(如源/目的IP、端口号),适合深度排错;nload提供全局视角的流量曲线图,便于感知整体趋势,建议先用nload发现突增流量,再用iftop锁定具体连接,当nload显示出口带宽持续占满时,打开iftop按TX列排序,即可找到高外发流量的客户端。
Q2: 为什么用vnstat看不到实时数据?怎么解决?
A: 默认情况下vnstat只存储历史记录,需添加-l参数启用实时模式(如vnstat -l -i eth0),若仍无显示,检查是否已通过systemctl enable vnstat加入开机启动项,确保后台服务正常运行,部分新版本支持Web界面访问(默认端口8080),可通过浏览器实时查看更丰富的
 
  
			 
			 
			