视频加载失败

Ubuntu 流量监控工具 vnStat:手机热点流量统计与使用教程

1245 字
6 分钟
Ubuntu 流量监控工具 vnStat:手机热点流量统计与使用教程
Ubuntu 流量监控工具 vnStat:手机热点流量统计与使用教程

为什么需要 vnStat#

如果电脑经常连接手机热点,系统下载更新、浏览器后台标签页、云盘同步和容器服务都可能持续消耗移动流量。只看当前网速很难判断一个月到底用了多少流量,因此需要一个能够长期记录网络接口流量的工具。

vnStat 是 Ubuntu 上一个轻量的命令行流量统计工具。它由后台服务持续读取网络接口的收发字节数,并提供小时、每天、每月和每年的统计结果。它适合用来观察手机热点的总流量,但不负责显示具体是哪一个应用产生了流量。

安装 vnStat#

在 Ubuntu 终端中执行:

Terminal window
sudo apt update
sudo apt install -y vnstat

安装后启动后台服务,并设置为开机自动启动:

Terminal window
sudo systemctl enable --now vnstat

检查安装和服务状态:

Terminal window
vnstat --version
systemctl is-active vnstat
systemctl is-enabled vnstat

如果最后两条命令分别输出 active 和 enabled,说明服务正在运行,并且重启电脑后会自动启动。

找到手机热点对应的网络接口#

vnStat 统计的是网络接口,而不是“手机热点”这个连接名称。因此,使用前需要先确认 Ubuntu 当前访问互联网时使用的接口。

Terminal window
ip route get 1.1.1.1

在输出中找到 dev 后面的名称。例如:

1.1.1.1 via 192.168.210.14 dev wlp108s0 src 192.168.210.159

这里的接口就是 wlp108s0。不同电脑的名称可能不同:

  • 无线网卡通常类似 wlp...;
  • 有线网卡通常类似 enp...;
  • USB 网络共享可能类似 enx... 或 usb0。

也可以列出 vnStat 已经发现的接口:

Terminal window
vnstat --iflist

手机热点使用 Wi-Fi 连接时,应优先统计实际无线网卡,而不是 docker0、br-...、veth... 等容器虚拟接口。

查看流量统计#

下面假设手机热点接口是 wlp108s0。如果你的接口名称不同,请替换命令中的 wlp108s0。

查看每天的流量#

Terminal window
vnstat -i wlp108s0 -d

输出中的 rx 表示接收流量,也就是下载;tx 表示发送流量,也就是上传;total 是两者之和。

查看每月的流量#

Terminal window
vnstat -i wlp108s0 -m

这个视图最适合和手机套餐的月度流量进行对照。

查看最近 24 小时的流量#

Terminal window
vnstat -i wlp108s0 -h

如果想定位“今天哪段时间突然消耗了很多流量”,可以先查看这个统计。

查看实时网速#

Terminal window
vnstat -i wlp108s0 -l

实时视图会持续显示当前的接收和发送速率。按 Ctrl+C 退出。

查看最近五分钟的统计#

Terminal window
vnstat -i wlp108s0 -5

这个视图适合在下载文件、同步云盘或播放视频时观察流量变化。

一个适合日常使用的检查流程#

手机热点开启后,可以按下面的顺序检查:

Terminal window
# 确认当前使用的接口
ip route get 1.1.1.1
# 查看本月累计流量
vnstat -i wlp108s0 -m
# 观察当前是否有持续流量
vnstat -i wlp108s0 -l

如果发现流量增长异常,再使用 -h 或 -5 查看具体时间段。

刚安装后看不到数据怎么办#

vnStat 不能补回安装之前产生的流量。刚安装完成时,查询结果可能显示 No data,这是正常现象。保持 vnstat 服务运行并产生一些网络活动,等待一段时间后再查询即可。

如果较长时间后仍然没有数据,可以检查服务日志:

Terminal window
systemctl status vnstat
journalctl -u vnstat --no-pager -n 50

同时确认查询的接口就是当前默认路由使用的接口:

Terminal window
ip route get 1.1.1.1
vnstat --iflist

使用时的注意事项#

  1. 手机端的套餐统计是最终依据。电脑端统计的是网络接口收发的字节数,可能因为协议开销、计费规则和统计时间不同而存在少量差异。
  2. 如果手机热点同时连接了其他设备,电脑上的 vnStat 只能看到这台电脑的流量,不能代表整个手机热点的总用量。
  3. 如果开启了 VPN,tun0 或类似虚拟接口可能显示的是 VPN 内部流量。要估算手机实际消耗的流量,应重点观察承载 VPN 数据的 Wi-Fi 或 USB 物理接口。
  4. vnStat 统计的是接口总流量,不能区分浏览器、下载器或云盘等具体程序。需要按进程排查时,可以另行安装并使用 nethogs。

总结#

对于长期使用手机热点的 Ubuntu 电脑,vnStat 的基本使用方式可以概括为:

Terminal window
sudo systemctl enable --now vnstat
ip route get 1.1.1.1
vnstat -i <热点接口> -m
vnstat -i <热点接口> -l

先确认正确的热点接口,再使用月度统计控制套餐用量,使用实时视图定位当前的流量变化。这样既能长期记录总流量,也能在发现异常时快速进行检查。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Ubuntu 流量监控工具 vnStat:手机热点流量统计与使用教程
https://chachaprj.top/posts/ubuntu-流量监控-vnstat/
作者
ChaCha
发布于
2026-10-08
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
ChaCha
Pain Equals Gain
公告
欢迎来到我的博客!
分类
标签
最新动态
站点统计
文章
15
分类
7
标签
19
总字数
21,598
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录