当前位置:首页 > Linux > 正文

Linux查看网卡流量命令

使用 ip -s link show 网卡名查看收发流量统计,实时监控推荐安装 nload、 iftop或 sar工具,或使用 watch -n 1 ifconfig 网卡名定时刷新流量数据。

Linux查看网卡流量的详细指南

在Linux系统中,监控网卡流量是网络管理、故障排查和性能优化的重要环节,本文详细介绍7种常用方法,涵盖命令行工具、实时监控工具及底层文件读取,满足不同场景需求。


基础命令工具

  1. ifconfig(传统工具)

    Linux查看网卡流量命令 第1张

    ifconfig eth0
    • 输出解读
      • RX packets:接收数据包数量(RX bytes为接收总字节)。
      • TX packets:发送数据包数量(TX bytes为发送总字节)。
    • 注意:部分新系统默认未安装,可通过 sudo apt install net-tools(Debian/Ubuntu)或 sudo yum install net-tools(CentOS/RHEL)安装。
  2. ip(现代替代工具)

    ip -s link show eth0
    • 优势:显示更详细的统计信息,包括错误包和丢包计数(errors, dropped)。
    • 输出示例: RX: bytes packets errors dropped missed mcast 2.1 MB 1500 0 0 0 0 TX: bytes packets errors dropped carrier collsns 1.8 MB 1200 0 0 0 0


实时流量监控工具

  1. nload(直观可视化)

    Linux查看网卡流量命令 第2张

    • 安装: sudo apt install nload # Debian/Ubuntu sudo yum install nload # CentOS/RHEL
    • 使用: nload eth0
    • 功能
      • 实时显示上下行速率(单位自动换算:KB/s、MB/s)。
      • 支持方向键切换网卡或退出(按 Q)。

  2. iftop(按连接监控)

    • 安装: sudo apt install iftop # Debian/Ubuntu sudo yum install iftop # CentOS/RHEL
    • 使用: sudo iftop -i eth0
    • 功能
      • 实时显示每个连接的流量(源IP→目标IP)。
      • 按流量排序,支持 B(切換显示字节/位)、T(关闭显示)。


流量统计与分析工具

  1. vnstat(长期趋势统计)

    • 安装与初始化: sudo apt install vnstat # Debian/Ubuntu sudo vnstat -u -i eth0 # 初始化数据库
    • 常用命令: vnstat -l # 实时监控 vnstat -d # 查看日流量 vnstat -m # 查看月流量
    • 输出示例: eth0 / monthly Month RX TX Total Avg. Rate 2025-06 5.2 GB 3.1 GB 8.3 GB 2.15 Mbit/s
  2. sar(历史数据分析)

    • 安装: sudo apt install sysstat # Debian/Ubuntu sudo systemctl enable sysstat
    • 查看历史流量: sar -n DEV 1 3 # 每秒1次,共3次采样 sar -n DEV -f /var/log/sa/sa01 # 查看指定日期日志(如1号)
    • 关键列
      • rxkB/s:接收速率(KB/s)。
      • txkB/s:发送速率(KB/s)。


底层文件读取

  1. 直接读取 /proc/net/dev cat /proc/net/dev
    • 输出字段

      | 网卡名 | 接收字节 | 接收包 | 错误 | 丢包 | … | 发送字节 | 发送包 | … |

    • 实时计算流量: watch -n 1 "cat /proc/net/dev | grep eth0"

      手动计算差值可获知每秒流量(单位:字节)。


方法对比与适用场景

工具 实时性 易读性 长期统计 适用场景
ifconfig 静态快照 中等 快速检查当前流量
ip -s link 静态快照 检查详细错误和丢包
nload 实时 直观监控实时速率
iftop 实时 分析具体连接的流量
vnstat 长期流量趋势报告
sar 可选 中等 结合系统性能的历史分析
/proc/net/dev 静态快照 脚本调用或开发场景


最佳实践建议

  • 快速检查:ip -s link show eth0
  • 实时监控:nload(简单)或 iftop(详细连接)。
  • 月度报告:vnstat -m
  • 性能分析:sar 结合CPU/内存数据。
  • 自动化脚本:解析 /proc/net/dev 或 ip 命令输出。

重要提示

  • 部分工具需root权限(如 iftop)。
  • 虚拟化环境(如Docker、KVM)需检查虚拟网卡(如 vethXXX、br-XXX)。
  • 若网卡流量异常飙升,可用 iftop 定位恶意连接。


引用说明

本文参考了Linux官方文档(kernel.org)、Ubuntu Manpages以及开源工具手册(如vnstat、iftop),数据采集原理基于Linux内核网络子系统(/proc 文件系统与Netlink API)。

Linux查看网卡流量命令 第3张

0