Linux如何查看网络流量?

Linux 系统中的网络流量通过网络接口进出,比如常见的 eth0(以太网接口)或 wlan0(无线接口)。

Linux如何查看网络流量?

想知道你的系统有哪些接口?试试下面这两个命令:

  • 查看网络接口列表:
ip link show

这个命令会列出所有网络接口的状态,比如是否启用(UP)。输出可能长这样:

Linux如何查看网络流量?

  • 经典方法:
ifconfig -a

如果你的系统安装了 net-tools,这个命令会显示更详细的信息,包括 IP 地址和基本流量统计:

Linux如何查看网络流量?

这些接口是你监控流量的“入口”和“出口”,记住它们的名称(如 eth0),后续操作会用到。

Linux 内核默默地为每个网络接口记录着流量数据,这些信息藏在 /proc/net/dev 文件中。运行以下命令查看:

cat /proc/net/dev

输出示例:

Linux如何查看网络流量?

这里展示了接收(Receive)和发送(Transmit)的字节数和数据包数。虽然这个文件提供的是静态快照,但它是你理解流量基础的起点。


实时监控工具大揭秘

有了基础知识,我们进入正题:如何用命令行工具实时监控网络流量?以下是七款神器,每一款都有独特的魅力和适用场景。

iftop

iftop 就像一个实时“流量雷达”,能显示每个连接的源 IP、目标 IP 和流量速率,特别适合排查谁在占用带宽。

  • 安装:
sudo apt-get install iftop  # Debian/Ubuntu
sudo yum install iftop      # CentOS/RHEL
Linux如何查看网络流量?

  • 基本使用:
sudo iftop
Linux如何查看网络流量?

默认监控第一个活动接口,界面一目了然:

  • 上部:总流量速率。
  • 中部:每个连接的流量详情。
  • 下部:累计统计。
  • 指定接口:
sudo iftop -i eth0
Linux如何查看网络流量?

  • 高级玩法:
  • 按 h 查看帮助。
  • 按 n 切换 IP/主机名显示。
  • 按 p 显示端口号。
  • 用 -f 过滤流量,比如只看 HTTP:
sudo iftop -i eth0 -f "port 80"
Linux如何查看网络流量?

场景: 当你怀疑某个应用偷偷上传数据,用 iftop 能迅速锁定“嫌疑人”。

nload

nload 以直观的图表展示流量速率,适合快速查看接口的总体使用情况。

  • 安装:
sudo apt-get install nload
sudo yum install nload
Linux如何查看网络流量?

  • 基本使用:
nload
Linux如何查看网络流量?

显示所有接口的实时流量,图表清晰可见。

  • 指定接口:
nload eth0
Linux如何查看网络流量?

  • 操作技巧:
  • 按 > 或 < 切换接口。
  • 按 q 退出。

场景: 想快速了解带宽是否超载?nload 是你的最佳助手。

vnstat

vnstat 不仅能实时监控,还能记录历史数据,适合需要统计分析的场景。

  • 安装:
sudo apt-get install vnstat
sudo yum install vnstat
Linux如何查看网络流量?

  • 初始化:
sudo systemctl start vnstatsudo systemctl enable vnstat
Linux如何查看网络流量?

  • 查看统计:
vnstat -i eth0

显示日、月、总流量统计。

  • 实时监控:
vnstat -l -i eth0

每秒更新流量速率。

场景: 需要长期追踪带宽使用趋势时,vnstat 是理想选择。

bmon

bmon 提供多种显示模式,既能看总体流量,也能深入细节。

  • 安装:
sudo apt-get install bmon
sudo yum install bmon
  • 基本使用:
bmon
Linux如何查看网络流量?

  • 指定接口:
bmon -p eth0
Linux如何查看网络流量?

  • 操作技巧:
  • 按 d 查看详细统计。
Linux如何查看网络流量?

  • 按 g 切换图形模式。
  • 按 q 退出。

场景: 想要个性化监控体验?bmon 的灵活性不会让你失望。

iptraf

iptraf 提供交互式界面,能按协议、连接等分类展示流量。

  • 安装:
sudo apt-get install iptraf
sudo yum install iptraf
Linux如何查看网络流量?

  • 使用:
iptraf-ng
Linux如何查看网络流量?

进入菜单,选择“IP traffic monitor”,挑选接口开始监控。

Linux如何查看网络流量?

Linux如何查看网络流量?

  • 功能亮点:
  • 查看协议分布。
  • 分析活跃连接。

场景: 需要深入分析流量类型时,iptraf 是你的得力助手。

tcpdump

tcpdump 是一个抓包神器,虽然不是专为流量监控设计,但通过分析数据包能间接了解流量。

  • 安装:
sudo apt-get install tcpdump
sudo yum install tcpdump
Linux如何查看网络流量?

  • 基本使用:
sudo tcpdump -i eth0
Linux如何查看网络流量?

  • 过滤流量:
  • 只抓 HTTP:
sudo tcpdump -i eth0 port 80
Linux如何查看网络流量?

  • 保存到文件:
sudo tcpdump -i eth0 -w capture.pcap
Linux如何查看网络流量?

  • 实时分析:

结合管道工具:

sudo tcpdump -i eth0 | grep "80"
Linux如何查看网络流量?

场景: 想深入研究数据包内容?tcpdump 是必备工具。

sar

sar(System Activity Reporter)来自 sysstat 包,能监控网络流量和其他系统指标。

  • 安装:
sudo apt-get install sysstat
sudo yum install sysstat
Linux如何查看网络流量?

  • 实时监控:
sar -n DEV 1
Linux如何查看网络流量?

每秒显示接口流量。

  • 历史数据:
sar -n DEV -f /var/log/sysstat/sa$(date +%d)

场景: 需要同时监控流量和系统性能时,sar 是全能选手。

推荐搭建使用堡塔面板,里面就有可视化监控,可以设置天数来进行监控。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至2705686032@qq.com 举报,一经查实,本站将立刻删除。原文转载: 原文出处:

(0)
云计算的头像云计算
上一篇 2天前
下一篇 2天前

相关推荐

发表回复

登录后才能评论

联系我们

400-900-3935

在线咨询: QQ交谈

邮件:cong@zun.com

工作时间:365天无休服务 24小时在线

添加微信