当前位置: 首页 > news >正文

iftop、nethogs 和 nload:Linux 服务器网络流量实时监控工具介绍

iftop、nethogs 和 nload:Linux 服务器网络流量实时监控工具介绍

在管理 Linux 服务器时,网络流量异常是最常见的问题之一。带宽被耗尽、某个进程疯狂上传、服务器响应变慢——这些情况都需要快速定位根源。本文介绍四款互补的网络监控工具:iftopnethogsnloadvnstat,覆盖从实时连接级别到历史统计的全方位监控需求。


服务器配置

网络监控工具本身对硬件要求极低,任意 Linux 服务器即可运行。如果你还没有服务器,推荐使用雨云服务器 rainyun-com,1 核 1GB 机型完全够用。注册填优惠码2026off领 5 折。


四款工具概览

工具监控维度核心用途
iftop按连接(src/dst IP 对)查看哪个远端 IP 占用带宽
nethogs按进程(PID)查看哪个程序在消耗流量
nload按网卡总量简洁的实时吞吐量显示
vnstat历史统计每日/月度流量汇总

实战思路:带宽告急 → 先用nload确认总量 → 再用iftop找出占用带宽的远端 IP → 最后用nethogs锁定是哪个进程在发包。


一键安装

aptupdateaptinstalliftop nethogs nload vnstat-y

安装完毕后,各工具均可直接通过命令行调用。


iftop:连接级带宽监控

基础用法

# 监控指定网卡iftop-ieth0# 只统计特定子网的流量iftop-ieth0-F192.168.1.0/24# 不做 DNS 反解(避免因 DNS 查询导致界面卡顿)iftop-ieth0-n

解读输出界面

iftop 的主界面分三列:

12.5Kb 25.0Kb 37.5Kb 50.0Kb 62.5Kb └──────────────────────────────────────────────────────────────────────────┘ 203.0.113.5:443 => 1.23Mb 987Kb 876Kb your-server:45678 <= 456Kb 234Kb 189Kb
  • 右侧三列数字分别是2 秒均值、10 秒均值、40 秒均值(峰值到稳定值的过渡)
  • =>表示发送(upload),<=表示接收(download)
  • 底部 TX / RX / TOTAL 汇总全部连接

常用快捷键

按键功能
t切换显示模式:仅发送 / 仅接收 / 合计
s按源地址过滤
d按目的地址过滤
p切换显示端口号
n切换 DNS 解析开关
P暂停/继续刷新
q退出

实战场景:找出外联的大流量 IP

iftop-ieth0-n-p

打开端口显示后,可以立刻看到哪个远端 IP 的哪个端口在大量传输数据,结合业务判断是否正常。


nethogs:进程级带宽监控

iftop 告诉你"哪个 IP",nethogs 告诉你"哪个程序"。

基础用法

# 监控 eth0 上各进程的流量nethogs eth0# 同时监控多块网卡nethogs eth0 eth1# 设置刷新间隔为 2 秒(默认 1 秒)nethogs-d2eth0

输出解读

NetHogs version 0.8.7 PID USER PROGRAM DEV SENT RECEIVED 23451 www-data /usr/sbin/nginx eth0 1.234 MB/s 0.023 MB/s 18932 root /usr/bin/rsync eth0 0.000 MB/s 4.567 MB/s 1 root /sbin/init eth0 0.000 MB/s 0.000 MB/s
  • SENT是该进程的上传速率
  • RECEIVED是该进程的下载速率

非交互模式(适合脚本)

# -t 参数输出纯文本,适合 grep 和日志记录nethogs-t-d5eth02>/dev/null|grep-v"^$"

快捷键

按键功能
m切换单位(KB/s ↔ MB/s ↔ B/s ↔ 总量)
r按接收量排序
s按发送量排序
q退出

实战:找出疯狂上传的进程

nethogs-d2eth0

s按发送量排序,如果某个你不认识的进程排在第一位,立即用ps aux | grep PID查看详情,必要时kill掉。


nload:网卡级吞吐量可视化

nload 是最直观的工具,用 ASCII 柱状图展示当前网卡的进出流量,适合快速确认"现在带宽用到多少了"。

基础用法

# 监控默认网卡nload# 指定网卡nload eth0# 同时显示多块网卡(用空格分隔)nload eth0 lo

界面说明

Device eth0 [192.168.1.100] (1/2): ================================================================================ Incoming: Outgoing: #### #### ######## ########## ############## ############## #################### #################### ########################## Curr: 2.34 MBit/s Curr: 156.23 KBit/s Avg: 1.89 MBit/s Avg: 143.12 KBit/s Min: 0.12 MBit/s Min: 12.34 KBit/s Max: 5.67 MBit/s Max: 234.56 KBit/s Ttl: 1.23 GByte Ttl: 234.56 MByte

快捷键

按键功能
/切换网卡
F2打开设置(调整显示单位等)
q退出

调整显示单位

F2设置页面,可以将纵轴单位切换为 Kbit/s、Mbit/s 或 Gbit/s,方便对照服务器的带宽上限(例如 100Mbps 带宽的服务器,Mbit/s 是最直观的单位)。


vnstat:历史流量统计

前三款工具都是"实时"的,vnstat 则专注于历史统计,记录每小时、每天、每月的流量总量,非常适合:

  • 按月统计用量,避免超出流量包
  • 对比不同时段的流量基线
  • 生成流量报告

初始化与启动

# 为网卡创建数据库vnstat-ieth0# 启动 vnstat 守护进程(开机自启)systemctlenablevnstat systemctl start vnstat

常用查询命令

# 查看概览(默认显示)vnstat# 按小时统计(今天)vnstat-h# 按天统计(最近30天)vnstat-d# 按月统计vnstat-m# 实时流量(类似 nload)vnstat-l-ieth0# 导出为 JSON(适合脚本处理)vnstat--json

输出示例

eth0 / monthly month rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- 2026-03 23.45 GiB | 12.34 GiB | 35.79 GiB | 114.52 kbit/s 2026-04 31.20 GiB | 15.67 GiB | 46.87 GiB | 147.89 kbit/s 2026-05 18.90 GiB | 9.45 GiB | 28.35 GiB | 132.14 kbit/s ------------------------+-------------+-------------+--------------- estimated 35.12 GiB | 17.56 GiB | 52.68 GiB |

综合实战:带宽问题排查流程

假设你的服务器突然变慢,SSH 连接也有些卡顿,按以下步骤排查:

第一步:确认带宽使用总量

nload eth0

如果接近或达到带宽上限(比如 100Mbps 的服务器显示 Curr: 95 MBit/s),说明确实存在带宽瓶颈。

第二步:找出高流量的远端 IP

iftop-ieth0-n-p

观察哪些远端 IP 占用最多带宽,判断是否是正常业务(如 CDN 回源、备份传输)。

第三步:锁定是哪个进程

nethogs eth0

s排序,找出发包最多的进程,记录 PID。

第四步:查看进程详情

psaux|grep<PID>ls-l/proc/<PID>/exe

第五步:查看历史趋势

vnstat-h

对比今天各小时的流量,判断异常是否持续。


总结

这四款工具构成了一套完整的网络流量监控体系:

  • nload— 快速感知整体带宽压力
  • iftop— 精确到连接粒度,找出"谁在占带宽"
  • nethogs— 精确到进程粒度,找出"什么程序在占带宽"
  • vnstat— 历史流量统计,掌握长期趋势

如果你正在寻找一台用于运维实验的云服务器,雨云服务器 rainyun-com的 1 核 1GB 机型即可流畅运行所有上述工具,注册填优惠码2026off领 5 折,非常适合学习和测试使用。

http://www.zskr.cn/news/1438138.html

相关文章:

  • Rime小狼毫LaTeX方案深度调优:从能用,到好用,再到顺手(附完整配置文件)
  • 别再问我H5怎么调用摄像头了!一个Vue3组件搞定拍照上传(附完整代码)
  • 保姆级教程:在Ubuntu 22.04上为KVM配置AMD SEV机密虚拟机(附完整命令)
  • 从论文到产品:MiniCPM-V-4_5-GPTQ背后的混合思维模式与RLAIF-V技术
  • 别再只盯着升力了!聊聊固定翼无人机设计中那些容易被忽略的‘阻力’细节与优化实战
  • 附论:自感、痕迹与自由——对若干关键质疑的系统回应
  • Flutter Riverpod 状态管理详解:下一代状态管理方案
  • Yuzu模拟器版本选择终极指南:5分钟找到最适合你的完美版本
  • 手把手复现NLP期末「综合题」:用Python+最大熵/BERT实战命名实体识别(NER)
  • 如何10分钟上手Nanobrowser:免费AI浏览器自动化终极指南
  • HY-Embodied-0.5-X与开源模型的对比分析:性能优势与适用场景
  • 几字形支架技术选型与落地交付全流程深度解析:数据库瓦楞板、数据枢纽瓦楞板、几字型支座、几字型檩条、几字型钢厂家选择指南 - 优质品牌商家
  • 2026年5月短视频剪辑培训机构排行:外贸电商设计培训/影视特效剪辑培训/电商设计就业培训/电商设计线下培训/短剧视频剪辑培训/选择指南 - 优质品牌商家
  • 123云盘VIP解锁脚本:三步实现免费高速下载体验
  • Cadence Virtuoso新手避坑:手把手教你画反相器原理图(附3.3V工艺库设置)
  • 告别串口线!手把手教你用ESP32-S3内置USB搞定下载、调试和打印日志(PlatformIO版)
  • 你的数字记忆正在消失吗?3个步骤让微信对话永久留存
  • OpCore Simplify:三步完成OpenCore EFI配置的黑苹果终极指南
  • ComfyUI-TeaCache 技术验证:基于时间步嵌入感知的扩散模型推理加速方案
  • 3个步骤完成黑苹果配置:OpCore-Simplify终极自动化工具指南
  • 5分钟搞定!用AutoDL云GPU零成本克隆你的声音,让RVC模型开口唱歌(保姆级教程)
  • Consul vs Nacos vs Eureka:SpringCloud 2023版服务发现选型实战对比(含避坑指南)
  • 如何永久保存微信聊天记录?WeChatMsg聊天数据分析工具完整指南
  • 小米手机解锁BL保姆级教程:无需社区5级,用这个GitHub脚本绕过HyperOS限制
  • YOLOv8推理速度拆解:一张图在n和m模型上,preprocess、inference、postprocess各花多少毫秒?
  • 2026年4月真空计供应商找哪家,氦质谱检漏仪/真空计/真空泵,真空计服务商推荐 - 品牌推荐师
  • 从BibTeX到完美排版:手把手教你为Mendeley制作专属CSL格式文件
  • 2026年柔性软连接评测:定制软铜排、定制铜排、柔性软连接、浸漆铜排、浸粉铜排、软连接定制、软铜排定制、铜排浸漆选择指南 - 优质品牌商家
  • Mirror实战:用ClientRpc和Command做一个简单的联机射击Demo(含源码)
  • 深入Linux内核:fixed-link如何用软件‘伪造’一个PHY设备来驱动MAC直连?