售前咨询400-838-0503

如何查看Linux服务器的网络流量?

发布:2025-03-31 20:21

搜索全部帮助分类的文档

Linux服务器网络流量监控终极指南:8种专业方法详解

最后更新时间:2023年10月15日 | 阅读时间:8分钟

作为Linux系统管理员,实时监控网络流量是必备技能。本文将深入探讨8种专业级监控方法,从基础命令到高级工具,助您全面掌握服务器网络状况。

一、基础命令行工具

1. iftop - 实时流量监控利器

sudo apt install iftop  # Debian/Ubuntu
sudo yum install iftop  # CentOS/RHEL
sudo iftop -n -i eth0

iftop以直观的ASCII界面显示实时流量,按带宽使用量排序连接。参数说明:

  • -n:禁用主机名解析
  • -i:指定监控网卡
  • -P:显示端口号

2. nload - 简洁的流量仪表盘

安装与使用:

sudo apt install nload
nload -u M eth0

特点:

  • 分上下行显示实时速率
  • -u参数指定单位(K/M/G)
  • 支持多网卡同时监控

二、高级监控方案

3. vnStat - 轻量级流量统计

配置步骤:

sudo apt install vnstat
sudo vnstat -u -i eth0
vnstat -l  # 实时监控
vnstat -d  # 每日统计
参数 功能
-q 简洁模式输出
-tr 流量预警功能

4. NetHogs - 进程级监控

特别适合排查异常进程:

sudo nethogs eth0 -d 5

每5秒刷新一次,按进程显示流量占用。

三、企业级解决方案

5. Cacti + RRDtool

安装配置流程:

  1. 安装LAMP环境
  2. 配置SNMP服务
  3. 导入流量监控模板

6. Zabbix监控方案

优势比较:

  • 支持分布式监控
  • 自定义报警阈值
  • 历史数据存储分析

四、实战技巧

7. 流量分析脚本示例

#!/bin/bash
INTERVAL=5
IFACE=eth0

while true; do
    RX1=$(cat /sys/class/net/$IFACE/statistics/rx_bytes)
    TX1=$(cat /sys/class/net/$IFACE/statistics/tx_bytes)
    sleep $INTERVAL
    RX2=$(cat /sys/class/net/$IFACE/statistics/rx_bytes)
    TX2=$(cat /sys/class/net/$IFACE/statistics/tx_bytes)
    
    RX=$(( ($RX2 - $RX1) / $INTERVAL ))
    TX=$(( ($TX2 - $TX1) / $INTERVAL ))
    
    echo "RX: $(($RX/1024)) KB/s | TX: $(($TX/1024)) KB/s"
done

8. 常见问题排查

Q:如何确认DDoS攻击?
A:结合iftop查看异常IP,配合conntrack统计连接数。

Q:带宽跑满如何定位?
A:使用nethogs定位进程,lsof查看相关文件。

总结建议

根据使用场景选择工具:

  • 快速诊断:iftop + nethogs
  • 长期统计:vnStat + Cacti
  • 企业环境:Zabbix全链路监控

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单