本文介绍如何在 Linux 系统中监控网络流量,包括实时带宽、历史统计、按进程分析等方法。 适用于 Ubuntu、Debian 等主流发行版。
本文内容
在 Linux 系统下进行网络流量监控有多种方式,从轻量级命令行工具到图形化可视化分析平台。 常见需求包括:
vnstat  :vnStat - a network traffic monitor for Linux and BSD
vnStat 是一个轻量级的命令行网络流量统计工具,可长期记录每日、每月带宽使用情况。
sudo apt install vnstat
sudo vim /etc/vnstat.conf
修改以下内容以指定网卡(示例为无线网卡):
Interface "wlp3s0"
启用服务并启动:
sudo systemctl enable vnstat
sudo systemctl start vnstat
vnstat -h     # 按小时显示流量
vnstat -d     # 显示每日流量
vnstat -m     # 显示每月流量
vnstat -l     # 实时监控模式
nload 提供简单直观的终端界面,显示上传和下载的实时速率。
sudo apt install nload
nload
特点:
bmon(Bandwidth Monitor)类似于 nload,但可显示多接口数据和详细统计。
sudo apt install bmon
bmon
可通过方向键切换不同接口或详情视图。
nethogs  :Linux ‘net top’ tool
nethogs 是最常用的 按进程流量监控工具,能实时显示每个程序的网络使用情况。
sudo apt install nethogs
sudo nethogs
交互说明:
适用于排查哪个程序在“偷跑流量”。
iftop 可显示每个远程连接的带宽使用(类似于 “top” 命令监控 CPU)。
sudo apt install iftop
sudo iftop -i wlp3s0
界面说明:
sniffnet  :Comfortably monitor your Internet traffic
Sniffnet 是一款现代化的跨平台图形化网络分析工具,支持 Linux,Windows 和 MacOS。
安装示例(Debian/Ubuntu):
sudo apt install ./Sniffnet_LinuxDEB_amd64.deb
sniffnet
特点:
GNOME 桌面自带系统监视器,可在“资源”选项卡中查看网络使用情况。
启动方式:
gnome-system-monitor
或在应用菜单中搜索“系统监视器”。
可用于:
ntopng  : Web-based Traffic and Security Network Traffic Monitoring
ntopng 是企业级网络流量分析工具,提供 Web 图形界面和丰富的统计信息。
sudo apt install ntopng
sudo systemctl enable --now ntopng
浏览器访问:
主要特性:
| 工具 | 界面类型 | 按进程统计 | 历史记录 | 备注 | 
|---|---|---|---|---|
| vnStat | CLI | ❌ | ✅ | 长期统计轻量工具 | 
| nload | CLI | ❌ | ❌ | 实时总带宽图形 | 
| bmon | CLI | ❌ | ⚙️ | 多接口支持 | 
| nethogs | CLI | ✅ | ⚙️ | 实时进程带宽 | 
| iftop | CLI | 部分 | ❌ | 查看连接明细 | 
| Sniffnet | GUI | ✅ | ✅ | 图形化 + 分类视图 | 
| ntopng | Web GUI | ✅ | ✅ | 专业网络分析平台 | 
| System Monitor | GUI | 部分 | ❌ | 桌面内置工具 | 
💡 建议:
- 日常使用
vnstat + nethogs即可满足大多数监控需求;- 若需图形化与报告,可搭配
Sniffnet;- 企业或高流量环境推荐使用
ntopng。