查看服务器网络流量的方法有多种,以下是常用的几种方式:
1. 使用命令行工具(实时/历史监控)
a. 实时流量监控
-
iftop(需安装)sudo apt install iftop # Debian/Ubuntu sudo yum install iftop # CentOS/RHEL sudo iftop -i eth0 # 指定网卡(如 eth0、ens33)显示实时流量,按带宽使用排序,可看到具体IP连接。
-
nload(需安装)sudo apt install nload # Debian/Ubuntu sudo yum install nload # CentOS/RHEL nload eth0 # 分上下行显示实时速率图表 -
iptraf-ng/bmon
更详细的交互式监控工具,可查看协议、端口等。
b. 查看历史/累计流量
-
vnstat(需安装并后台运行)sudo apt install vnstat # 安装 sudo systemctl enable --now vnstat # 启动服务 vnstat -d # 查看每日统计 vnstat -m # 查看月度统计 vnstat -l # 实时监控模式优点:轻量级,自动记录历史数据。
-
sar(sysstat包)sudo apt install sysstat sar -n DEV 1 3 # 每1秒刷新,共3次 sar -n DEV -f /var/log/sa/saXX # 查看历史数据(XX为日期) -
netstat/ssnetstat -i # 查看网卡累计收发数据包 ss -t -a # 查看TCP连接状态
2. 查看系统网络接口文件
cat /proc/net/dev
或
ifconfig eth0 # 旧版命令
ip -s link show eth0 # 新版命令
显示累计流量(RX接收/TX发送),可间隔计算差值得到速率。
3. 使用图形化工具(如有桌面环境)
nethogs:按进程查看流量sudo nethogs eth0bmon、cbm:彩色界面显示流量wireshark/tshark:深度抓包分析
4. 云服务商自带监控
- AWS CloudWatch、阿里云监控、腾讯云监控等控制台提供网络流量图表。
5. 配置流量告警
- 使用
vnstat+ 脚本 设置阈值告警。 - 云平台设置带宽告警策略。
快速诊断示例
# 1. 安装常用工具(Ubuntu/Debian)
sudo apt update
sudo apt install iftop nload vnstat
# 2. 查看实时流量(按 q 退出)
sudo iftop -i eth0
# 3. 查看今日总流量
vnstat -d
# 4. 检查哪个进程占用带宽(安装 nethogs)
sudo nethogs eth0
注意事项
- 确保工具监控的网卡名称正确(使用
ip a查看)。 - 如需长期统计,建议使用
vnstat或云监控。 - 高流量时可用
tcpdump抓包分析:sudo tcpdump -i eth0 -w traffic.pcap
根据需求选择合适的方法:实时排查用 iftop/nload,长期统计用 vnstat,深度分析用抓包工具。
CLOUD技术笔记