linux如何查看网络流量

Linux中,可使用iftopiptraf等命令行工具查看

使用 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 packetsRX bytes 表示接收的数据包数量和字节数。
  • TX packetsTX 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

说明:

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

使用 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-OKTX-OK 分别表示成功接收和发送的数据包数量。
  • RX-ERRTX-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 命令

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

安装:

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:如何查看某个特定网络接口的流量?

解答:
可以使用 ifconfigipnload 等工具指定接口。

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

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

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

  • 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 C如何获取摄像头视频流?

    Linux系统下通过C语言访问摄像头通常依赖Video for Linux Two(V4L2)框架,这是Linux内核提供的视频设备接口标准,广泛应用于USB摄像头、内置摄像头等视频输入设备,V4L2通过设备文件(如/dev/video0)与用户程序交互,支持视频捕获、格式设置、帧缓冲管理等功能,本文将详细介绍……

    2025年10月2日
    8900
  • Debian还是Ubuntu更适合初学者?

    在Linux系统中正确显示中文字符需要确保系统具备完整的语言支持和字体配置,以下是详细操作指南:核心原理Linux默认不显示中文的原因:缺失中文字体:系统未安装中文字体包(如Noto Sans CJK、WenQuanYi)未配置Locale:语言环境未设置为支持UTF-8编码应用未启用中文渲染:部分应用需单独配……

    2025年7月30日
    9300
  • 如何清理arp linux

    Linux中,可使用ip -s neigh flush all命令来清理ARP缓存

    2025年8月13日
    11600
  • linux如何切换root用户

    Linux 中,切换 root 用户通常使用命令 su – 或 sudo -i。

    2025年8月16日
    12100
  • Linux文件同步有哪些方法?步骤和工具详解

    在Linux系统中,文件同步是数据备份、多设备协同和服务迁移等场景的核心需求,通过合理选择同步工具,可以高效实现本地或远程文件的实时、增量双向传输,以下是几种主流的Linux文件同步方法及其应用场景,rsync:增量同步的通用工具rsync(Remote Sync)是Linux下最常用的文件同步工具,支持本地……

    2025年10月2日
    8800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信