上行流量与下行流量区别
上行流量(Uplink Traffic)
从本地设备向网络发送数据的流量
对应网络接口的 发送流量(tx)
如:上传文件、发送邮件、提交表单数据
下行流量(Downlink Traffic)
从网络向本地设备接收数据的流量
对应网络接口的 接收流量(rx)
如:下载文件、浏览网页、观看视频
在 vnstat 统计中的体现

tx 列:显示发送的数据量(上行/发送流量)
rx 列:显示接收的数据量(下行流量)
两者共同构成网络接口的总流量统计
rx 列:显示接收的数据量
如 2025-12-19 的 2.57 GiB
接收流量实际场景分析:
Web 服务:客户端请求、API 调用产生的数据接收
文件下载:用户从服务器下载文件的流量
数据库查询:客户端查询请求返回的数据
监控数据:各种监控系统收集的指标数据
发送流量:
Web 服务:服务器响应客户端请求返回的网页内容
文件上传:用户向服务器上传文件的流量
API 响应:服务器返回给客户端的数据
数据库操作:服务器向数据库写入数据的流
1. 使用vnstat工具
`vnstat` 是专门用于网络流量统计的工具,支持按月统计:
# 安装vnstat
apt install vnstat # Ubuntu/Debian
yum install vnstat # CentOS/RHEL
如果安装失败,可以:
# 安装EPEL仓库
sudo yum install epel-release
# 然后安装vnstat
sudo yum install vnstat
# 新版本vnstat初始化方式
sudo systemctl start vnstatd
默认是用的eth0
# 添加要监控的网络接口
sudo vnstat -i eth0 --add
# 查看月度统计信息
vnstat -m
## 2. 使用iftop工具
`iftop` 可以实时监控网络流量:
```bash
# 安装iftop
sudo apt install iftop
# 实时监控流量
sudo iftop -i eth0
```
## 3. 通过系统文件统计
读取 `/proc/net/dev` 文件获取网络接口数据:
```bash
# 查看当前网络接口流量
cat /proc/net/dev
# 定期记录数据进行对比
cat /proc/net/dev > traffic_start.txt
# 一个月后再次执行
cat /proc/net/dev > traffic_end.txt
```
## 4. 使用nethogs工具
按进程监控网络流量:
```bash
# 安装nethogs
sudo apt install nethogs
# 监控特定接口
sudo nethogs eth0
```
## 5. 配置iptables统计
使用 `iptables` 规则统计流量:
```bash
# 添加统计规则
sudo iptables -A INPUT -i eth0
sudo iptables -A OUTPUT -o eth0
# 查看统计数据
sudo iptables -L -v -n
```
建议使用 `vnstat` 工具,因为它专为长期流量统计设计,能够自动记录和汇总月度数据。
欢迎来撩 : 汇总all
