要实时查看服务器的进出流量(即网络接口的入站/出站带宽使用情况),有多种命令行工具可选,适用于 Linux 服务器。以下是几种常用、高效且直观的方法,按推荐顺序排列:
✅ 1. iftop(最推荐:类似 top 的实时流量监控)
显示按连接(IP+端口)排序的实时流量,支持 DNS 解析、端口过滤等。
# 安装(Ubuntu/Debian)
sudo apt update && sudo apt install iftop
# CentOS/RHEL/Rocky/AlmaLinux
sudo yum install iftop # 或 dnf install iftop
# 基本使用(需 root 权限)
sudo iftop
# 常用选项:
sudo iftop -P # 显示端口(更详细)
sudo iftop -n # 不解析主机名(更快,避免 DNS 延迟)
sudo iftop -B # 以 Bytes/s 显示(而非默认的 KB/s)
sudo iftop -f "port 80 or port 443" # 过滤 HTTP/HTTPS 流量
🔹 优点:交互式、实时刷新、支持排序(按流量大小)、可看源/目标 IP 和端口。
⚠️ 注意:需 sudo(因需访问原始套接字)。
✅ 2. nethogs(按进程维度查看流量)
最适合定位哪个进程在“吃”带宽(如某个 Python 脚本、nginx、rsync 等)。
# 安装
# Ubuntu/Debian
sudo apt install nethogs
# CentOS/RHEL
sudo yum install nethogs # 或 dnf install nethogs
sudo nethogs
# 或指定网卡(如 eth0、ens33、enp0s3)
sudo nethogs eth0
# 按流量排序(默认已按发送/接收排序),支持键盘操作:
# m → 切换速率单位(KB/s, MB/s)
# r → 排序(按接收流量)
# s → 排序(按发送流量)
# q → 退出
🔹 核心价值:解决“谁在发包?”问题,运维排查必备。
✅ 3. bmon(图形化终端界面 + 统计图表)
提供带历史趋势图(ASCII 图形)的实时监控,支持多网卡、导出数据。
# 安装
sudo apt install bmon # Debian/Ubuntu
sudo dnf install bmon # RHEL/CentOS 8+
sudo bmon
# 或指定接口:sudo bmon -p eth0
# 键盘快捷键:
# 空格 → 暂停/继续
# n → 下一个接口
# p → 上一个接口
# g → 切换图表缩放
# q → 退出
✅ 支持滚动查看历史峰值(右下角显示 30s/2m/10m 平均值)。
✅ 4. iptraf-ng(功能丰富、老派但稳定)
轻量级、菜单驱动的 ncurses 工具(适合无 GUI 的服务器)。
sudo apt install iptraf-ng # Ubuntu/Debian(注意是-ng 版本)
sudo yum install iptraf-ng # CentOS Stream / Rocky
sudo iptraf-ng
# 启动后选择网卡 → 查看实时连接、协议统计、端口分布等
📌 支持 TCP/UDP/ICMP 协议分析、连接状态统计,适合深度排错。
🔍 补充:快速查看总吞吐量(无需安装)
如果无法安装额外工具,可用系统自带命令粗略观察:
# 实时查看 /proc/net/dev(每秒刷新,显示各网卡收发字节数)
watch -n1 'cat /proc/net/dev | grep -E "(eth|ens|enp|lo):"'
# 或用 awk 计算速率(KB/s):
watch -n1 'awk '/eth0:/ {print "IN:", $2/1024" KB/s | OUT:", $10/1024" KB/s"}' /proc/net/dev'
⚠️ 注意:
/proc/net/dev中第2列是接收字节数(RX),第10列是发送字节数(TX);需连续采样做差值计算速率。
📌 小贴士
- 所有工具均需
sudo(或 root)权限才能捕获原始网络包。 - 生产环境建议先用
nethogs快速定位异常进程,再用iftop分析具体连接。 - 如需长期监控与告警,建议搭配 Prometheus + Grafana +
node_exporter(其node_network_指标可采集流量)。 - 对于容器环境(Docker/K8s),可结合
cAdvisor或netstat -i+docker stats。
需要我为你:
- 写一个一键监控脚本(如每5秒输出 eth0 流量到日志)?
- 配置 Prometheus 自动采集并告警?
- 或针对特定场景(如排查 DDoS、分析某服务流量)给出诊断流程?
欢迎随时补充需求 👇
云小栈