怎么查看服务器的网络流量使用情况?

查看服务器网络流量的方法有多种,以下是常用的几种方式:


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 / ss

    netstat -i               # 查看网卡累计收发数据包
    ss -t -a                 # 查看TCP连接状态

2. 查看系统网络接口文件

cat /proc/net/dev

ifconfig eth0              # 旧版命令
ip -s link show eth0       # 新版命令

显示累计流量(RX接收/TX发送),可间隔计算差值得到速率。


3. 使用图形化工具(如有桌面环境)

  • nethogs:按进程查看流量
    sudo nethogs eth0
  • bmoncbm:彩色界面显示流量
  • 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,深度分析用抓包工具

云服务器