linux如何查看网络流量

Linux中,可使用iftop、iptraf等命令行工具查看

使用 ifconfig 命令

ifconfig 是一个传统的网络配置命令,虽然已被 ip 命令取代,但仍广泛使用,它可以显示网络接口的基本信息,包括流量统计。

命令:

ifconfig

输出示例:

eth0      Link encap:Ethernet  HWaddr 00:0c:29:68:34:86  
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe68:3486/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:123456 bytes:12345678 (12.3 MB)
          TX packets:654321 bytes:67890123 (67.8 MB)

说明:

  • RX packets 和 RX bytes 表示接收的数据包数量和字节数。
  • TX packets 和 TX bytes 表示发送的数据包数量和字节数。

使用 ip 命令

ip 命令是 ifconfig 的现代替代品,功能更强大且支持更多选项。

命令:

ip -s link show

输出示例:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:68:34:86 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe68:3486/64 scope link 
       valid_lft forever preferred_lft forever
    RX: bytes  packets  errors  dropped  overrun  mcast
         12345678  123456    0       0        0      0
    TX: bytes  packets  errors  dropped  carrier  collsns
         67890123  654321    0       0        0      0

说明:

  • RX 和 TX 部分分别显示接收和发送的字节数、数据包数量以及错误信息。

使用 netstat 命令

netstat 是一个强大的网络统计工具,可以显示网络连接、路由表、接口统计等信息。

命令:

netstat -i

输出示例:

Kernel Interface table
Iface      MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0      1500   0  123456      0      0      0  654321      0      0      0 BMRU

说明:

  • RX-OK 和 TX-OK 分别表示成功接收和发送的数据包数量。
  • RX-ERR 和 TX-ERR 表示接收和发送的错误包数量。

使用 nload 工具

nload 是一个实时网络流量监控工具,可以以图形化方式显示网络流量。

安装:

sudo apt-get install nload

命令:

nload eth0

说明:

  • nload 会实时显示指定接口(如 eth0)的上传和下载速度。
  • 支持多种选项,如设置刷新间隔、显示单位等。

使用 iftop 工具

iftop 是一个实时网络流量监控工具,类似于 nload,但功能更强大,可以显示具体的连接信息。

安装:

sudo apt-get install iftop

命令:

sudo iftop

说明:

  • iftop 会实时显示网络接口的流量,并列出具体的连接信息,如源IP、目标IP、传输速率等。
  • 支持排序、过滤等功能,方便分析。

使用 vnstat 工具

vnstat 是一个网络流量监控工具,可以记录和统计网络流量的历史数据。

安装:

sudo apt-get install vnstat

命令:

vnstat -l

说明:

  • vnstat -l 会实时显示网络流量。
  • vnstat -m 可以查看月度统计,vnstat -d 可以查看每日统计。

使用 bmon 工具

bmon 是一个基于 nload 的网络流量监控工具,支持多接口监控和历史数据统计。

安装:

sudo apt-get install bmon

命令:

bmon

说明:

  • bmon 提供直观的图形界面,支持多接口监控。
  • 可以查看实时流量、历史数据以及流量峰值。

使用 sar 命令

sar 是 sysstat 包中的一个工具,可以用于系统性能监控,包括网络流量。

安装:

sudo apt-get install sysstat

命令:

sar -n DEV 1 1

输出示例:

Linux 5.4.0-42-generic (hostname)   10/31/2023  _x86_64_    (4 CPU)
12:00:01 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
12:00:01 AM      eth0      10.55      15.45       84.4       123.6        0.0       0.0        0.0      12.3%

说明:

  • sar 可以显示每秒的网络流量统计,包括数据包数量、字节数等。
  • 支持定时采样和历史数据查看。

使用 iptables 结合 awk 脚本

通过 iptables 的日志功能,可以记录详细的网络流量信息,并结合 awk 脚本进行分析。

步骤:

  1. 启用 iptables 日志:
    sudo iptables -A INPUT -j LOG --log-prefix "INPUT packets: " --log-level 4
    sudo iptables -A FORWARD -j LOG --log-prefix "FORWARD packets: " --log-level 4
    sudo iptables -A OUTPUT -j LOG --log-prefix "OUTPUT packets: " --log-level 4
  2. 查看日志文件(通常在 /var/log/messages 或 /var/log/syslog):
    tail -f /var/log/syslog | grep "INPUT packets" | awk '{print $1, $2, $3, $4, $5, $6}'

说明:

  • iptables 日志可以记录每个数据包的详细信息,包括时间、协议、源IP、目标IP等。
  • 结合 awk 脚本可以提取和分析特定字段。

使用 collectl 工具

collectl 是一个系统性能监控工具,支持实时监控网络流量、CPU、内存等资源。

安装:

sudo apt-get install collectl

命令:

collectl -s X -i eth0

X 是采样间隔(秒)。

说明:

  • collectl 可以实时显示网络接口的流量,并支持保存历史数据。
  • 支持多种资源监控,适合全面系统性能分析。

相关问答FAQs

问题1:如何查看某个特定网络接口的流量?

解答:
可以使用 ifconfig、ip 或 nload 等工具指定接口。

  • ifconfig eth0:查看 eth0 接口的流量统计。
  • nload eth0:实时监控 eth0 接口的流量。
  • ip -s link show eth0:查看 eth0 接口的详细流量统计。

问题2:如何查看网络流量的历史数据?

解答:
可以使用 vnstat 或 collectl 等工具记录和查看历史数据。

  • vnstat -m:查看月度网络流量统计。
  • vnstat -d:查看每日网络流量统计。
  • `collectl -s X -i eth0 –output file.

以上就是关于“linux如何查看网络流量”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/11691.html

赞 (0)
酷番叔酷番叔
上一篇 2025年8月17日 06:35
下一篇 2025年8月17日 06:41

相关推荐

  • Linux如何通过U盘启动进入PE系统?

    在Linux系统中制作并从U盘启动PE系统,主要涉及准备工作、启动盘制作、BIOS设置及启动操作等步骤,以下是详细流程及注意事项,帮助用户顺利完成从U盘PE启动的操作,准备工作在开始操作前,需确保以下物品和条件准备就绪:PE镜像文件:下载主流PE工具的ISO镜像,如微PE(WePE)、WinPE Deepin等……

    2025年10月2日
    33800
  • Linux下如何安装Eclipse?

    在Linux系统中安装Eclipse集成开发环境(IDE)是Java开发者的常见需求,Eclipse作为开源且功能强大的IDE,支持多种编程语言和插件扩展,适用于开发、调试和项目管理等场景,本文将详细介绍在Linux下安装Eclipse的完整流程,包括环境准备、下载、安装、配置及常见问题处理,帮助用户顺利完成搭……

    2025年8月29日
    32500
  • 双系统如何彻底删除Linux系统?

    在双系统(Windows+Linux)环境中,若不再需要Linux系统,可通过删除Linux分区并修复Windows引导来彻底移除Linux,以下是详细操作步骤,涵盖准备工作、分区识别、删除操作及引导修复,确保过程安全且不影响Windows系统正常使用,操作前准备工作备份重要数据删除分区会清除该分区所有数据,若……

    2025年8月25日
    39100
  • 为什么Linux命令行是高效操作首选?

    打开终端(命令输入环境)在图形界面中,通过以下方式打开终端:Ubuntu/Debian:Ctrl+Alt+T 快捷键,或搜索”Terminal”CentOS/RHEL:应用菜单 → 系统工具 → 终端其他桌面环境:GNOME:按 Super (Win键) 搜索”Terminal”KDE:Alt+F2 输入 ko……

    2025年7月26日
    24900
  • linux如何查询硬件信息

    在Linux系统中,查询硬件信息是系统管理和故障排查的基础操作,通过命令行工具可以快速获取CPU、内存、存储、显卡等各类硬件的详细信息,以下将介绍常用命令及其使用方法,帮助用户全面掌握硬件信息查询技巧,CPU信息查询CPU作为系统的核心,其信息包括型号、核心数、线程数、架构等,可通过以下命令查看:lscpu:以……

    2025年9月21日
    23200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信