查看服务器流量使用详情的方法取决于服务器类型(Linux/Windows)、权限级别(root/普通用户)、监控需求(实时/历史/按进程/按接口/按协议)以及是否已部署监控工具。以下是常用且实用的方法,按推荐顺序和场景分类整理:
✅ 一、基础命令行工具(Linux 服务器,无需安装)
-
iftop(实时按连接/进程查看流量)- 类似
top的实时网络监控工具,显示当前活跃连接的带宽占用(源/目标IP、端口、速率)。 - 安装:
sudo apt install iftop(Debian/Ubuntu)或sudo yum install iftop(CentOS/RHEL) - 使用:
sudo iftop(需 root 权限),支持-P(显示端口)、-f "port 80"(过滤)等选项。
- 类似
-
nethogs(按进程实时监控流量)- 按进程(PID + 进程名)分组显示实时上下行带宽,精准定位“谁在吃带宽”。
- 安装:
sudo apt install nethogs或sudo yum install nethogs - 使用:
sudo nethogs eth0(指定网卡,如ens33、enp0s3)
-
iptraf-ng(交互式网络监控,含历史统计)- 提供接口统计、TCP/UDP 连接、端口分布等,支持日志导出。
- 安装:
sudo apt install iptraf-ng(较新版本替代旧iptraf)
-
系统级基础命令(无需额外安装)
- 查看网卡总流量(自启动以来):
cat /proc/net/dev # 或更清晰格式: watch -n 1 'cat /proc/net/dev | grep -E "(eth|ens|enp|lo)"' - 计算实时速率(每秒增量):
# 示例:1秒间隔读取两次,计算差值(单位:字节) awk '/eth0/{print $2,$10}' /proc/net/dev; sleep 1; awk '/eth0/{print $2,$10}' /proc/net/dev
- 查看网卡总流量(自启动以来):
✅ 二、长期监控与历史分析(需配置)
-
vnstat(轻量级、低开销、支持历史统计)- 后台守护进程持续记录流量,不依赖实时抓包,资源占用极小。
- 安装:
sudo apt install vnstat - 初始化数据库:
sudo vnstat -u -i eth0 - 查看:
vnstat # 今日/昨日/本月汇总 vnstat -d # 每日详细统计 vnstat -h # 最近24小时(小时级) vnstat -m # 每月统计 vnstat --oneline # 简洁输出(适合脚本调用) - ✅ 推荐用于 VPS/云服务器日常流量审计(如判断是否超月度配额)。
-
sar(来自sysstat包,系统性能全维度监控)- 需启用
sysstat服务(默认可能未开启):sudo systemctl enable sysstat && sudo systemctl start sysstat - 查看网络接口流量(每10秒1次,共5次):
sar -n DEV 10 5 # 输出字段:rxkB/s(接收 KB/s),txkB/s(发送 KB/s) - 历史数据存于
/var/log/sysstat/(如saXX文件),可查过往日期:sar -n DEV -f /var/log/sysstat/sa15 # 查15日数据
- 需启用
✅ 三、高级/生产环境方案
| 工具 | 特点 | 适用场景 |
|---|---|---|
| NetFlow/sFlow + ntopng / PMM / Grafana+Prometheus | 采集流数据,可视化仪表盘,支持告警、Top N 分析、地理IP映射 | 企业级网络监控、IDC、多服务器集群 |
eBPF 工具(如 bpftrace/bcc) |
内核级无侵入监控,可按进程/容器/服务标签深度追踪 | Kubernetes、微服务架构、调试异常流量 |
| 云平台控制台(AWS CloudWatch、阿里云云监控、腾讯云监控) | 自动采集公网/内网流量,图形化展示,支持阈值告警 | 云服务器(ECS/EC2),无需手动部署 |
✅ 四、Windows 服务器
- 资源监视器(resmon) → “网络”选项卡:实时查看各进程网络活动。
- PowerShell 命令:
# 查看适配器统计(累计值) Get-NetAdapterStatistics # 实时监控(需循环,示例每2秒刷新) while($true) { Get-Counter 'Network Interface(*)Bytes Total/sec'; Start-Sleep 2 } - 第三方工具:PRTG Network Monitor、SolarWinds、Wireshark(抓包分析)。
⚠️ 注意事项:
- 所有实时抓包类工具(
iftop,nethogs)需root权限,生产环境慎用(避免性能影响)。 /proc/net/dev和vnstat数据最可靠;iftop等是采样估算,非绝对精确。- 若使用 Docker/K8s,需额外检查容器网络(如
docker stats、kubectl top pods)及 CNI 插件指标。 - 防火墙(如
iptables/nftables)日志也可辅助分析(需开启计数器)。
🔧 快速诊断建议:
- 怀疑突发流量?→
sudo nethogs定位进程 - 查本月用了多少流量?→
vnstat -m - 需要绘图/告警?→ 部署
Prometheus + node_exporter + Grafana(网络指标node_network_receive_bytes_total) - 云服务器?→ 直接看云厂商控制台「云监控」→「网络监控」图表(最权威,含出/入方向分离)
需要我为你提供某一种方法的详细配置步骤(如 vnstat 自动初始化+每日邮件报告),或针对特定环境(如 Docker 环境、OpenWrt 路由器、阿里云 ECS)的实操指南,请告诉我 😊
云小栈