Linux怎么监控系统流量使用情况 Linux网络抓包工具使用详解
Linux网络流量监控与抓包:工具定位与实战避坑指南

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
开门见山,先说结论:监控实时带宽用 iftop,排查具体进程占用用 nethogs,进行原始数据包深度分析则用 tcpdump。这三者各司其职,定位清晰,如果混用或者用错了场景,很容易得出错误的判断。
iftop:实时接口流量的观察者,但默认不关联进程
iftop 的核心原理是监听网卡的数据包,并通过 libpcap 库进行实时汇总统计。这意味着它能快速、直观地展示IP或端口级别的实时吞吐速率,但它天生就“看”不到背后的进程ID或进程名。这里有个常见的误解:以为加上 -p 参数就能看到进程。其实不然,那个 -p 指的是“混杂模式”,跟进程毫无关系。
- 权限是前提:运行必须加上
sudo,否则会遭遇socket: Operation not permitted错误。 - 关闭DNS解析:使用
-n参数,可以避免额外的DNS查询拖慢工具响应速度,甚至干扰流量统计的准确性。 - 显示端口号:使用
-P(大写)参数,会显示具体的端口号(如:443),而不是服务名称(如:https),信息更直接。 - 过滤技巧:如果想只监控特定网段,可以使用
-F 192.168.1.0/24。但要注意,iftop本身不支持按端口过滤,如果需要锁定某个端口的流量,通常需要先用tcpdump过滤抓包,再将文件交给iftop或其它工具分析。
nethogs:进程维度的流量追踪器,但视野限于本机
nethogs 的独特价值在于,它能将网络流量直接绑定到具体的 pid 和 command 上。这对于排查“哪个进程在偷偷上传/下载”这类问题非常高效。不过,它并不对所有网卡流量进行聚合统计,而是显示每个活跃进程的实时速率,也无法像 iftop 那样按照连接对流量进行排序。
- 权限问题再现:安装后首次运行如果提示
Unable to open /dev/tty,这通常是因为没用sudo,请直接使用sudo nethogs。 - 指定监控接口:默认监听第一个非回环接口,要指定具体网卡,命令如
sudo nethogs eth0。 - 交互操作:运行时,按
m键可以循环切换速率显示单位(KB/s, KB, B),按r键可以反向排序,按q键退出。 - 缺乏历史记录:它本身不记录历史数据,也不支持保存日志。如果需要留存记录,可以尝试通过重定向输出实现,例如:
sudo nethogs -t eth0 > /tmp/nethogs.log 2>&1。
tcpdump:原始数据包诊断专家,生产环境需慎用
必须明确,tcpdump 并非实时监控工具,而是一个强大的诊断工具。它直接输出原始字节流,不进行任何聚合或美化。如果无节制地抓包,很容易刷爆终端屏幕,甚至因为巨大的IO操作拖慢系统或撑满磁盘。因此,关键在于学会使用过滤器精准缩小范围,切忌“先抓了再说”。
- 经典组合命令:
sudo tcpdump -i eth0 -nn -c 100 port 443。这个命令只抓取100个发往或来自443端口(HTTPS)的包,-nn避免了域名和端口名解析,效率更高。 - 控制抓包体积:使用
-s 96参数可以截断数据包(只抓取每个包的前96字节),这对于分析TCP头部和HTTP头部信息通常已经足够,能显著减小文件大小。 - 保存与分析分离:使用
-w /tmp/out.pcap将抓取的包保存为文件,然后下载到本地用 Wireshark 等图形化工具进行深入分析。尽量避免在服务器上直接使用-A参数以ASCII形式打印包内容,这极易导致刷屏甚至失去连接。 - 精准诊断:如果目标是排查TCP连接问题(如丢包、重传),可以针对性抓取相关标志位的数据包,例如:
tcpdump -i eth0 'tcp[tcpflags] & (tcp-rst|tcp-syn) != 0',这比无差别全抓要高效得多。
别忘了底层:网卡状态与统计采样粒度
需要警惕的是,上述所有工具的数据都依赖于内核提供的统计信息。而底层网卡驱动的特性或卸载功能(如LRO/GRO)可能会影响统计结果的实时性和准确性。举个例子,iftop 显示接收流量突然飙升,但查看 /proc/net/dev 里对应接口的字节计数却变化不大,这很可能是GRO(通用接收卸载)合并了数据包,导致统计出现了延迟。
- 验证基准:要确认真实的吞吐量,最可靠的是查看
cat /proc/net/dev中的原始字节计数,这是内核最底层的计数器。 - 稳定与实时的权衡:像
vnstat这类工具,其数据库是基于对/proc/net/dev的定时采样生成的,因此它的数据比iftop更稳定,能反映趋势,但实时性就相对较弱。 - 容器环境差异:在容器环境中,
docker stats或podman top看到的网络数据来源于cgroup的net_cls控制器统计,这与宿主机上通过iftop看到的、经过完整网络栈的流量数值可能存在差异,因为统计的路径和节点不同。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
如何在 Win11 中修改系统默认的区域设置 解决软件乱码与日期错误
如何在 Win11 中修改系统默认的区域设置 解决软件乱码与日期错误 遇到软件中文显示乱码、日期格式不对,或者数字分隔符看着别扭?别急着怀疑软件本身,问题很可能出在系统“区域设置”这个底层配置上。尤其是那些非Unicode程序,或者一些老旧的财务、工业软件,对系统本地化环境特别敏感。下面这五个步骤,
如何在 Win11 中修改文件夹的默认保存图标 自定义桌面分类美化教程
Windows 11文件夹图标自定义:五种原生方法全解析 厌倦了千篇一律的黄色文件夹?无论是为了快速视觉识别、高效分类管理,还是单纯想让桌面赏心悦目,自定义文件夹图标都是个立竿见影的办法。好消息是,Windows 11本身就提供了多种无需第三方工具的“原生”实现路径。下面这五种方法,从最简单的单文件
如何彻底清除 Windows 系统的“活动历史痕迹” 保护电脑个人隐私教程
彻底清除Windows活动历史痕迹:一份不留死角的隐私清理指南 你的Windows电脑,可能比你想象中更“健谈”。每次使用时间线、浏览网页、打开文档,甚至只是点开某个应用,系统都在后台默默地记录着这些行为。这些活动历史痕迹,即便你没有选择同步到云端,也会完整地存储在本地设备上。如果不想让这些数字足迹
如何开启 Windows 11 的“窗口贴齐布局” 提升大屏多窗口排列效率方法
如何开启 Windows 11 的“窗口贴齐布局” 提升大屏多窗口排列效率方法 想在 Windows 11 里高效地排列多个窗口,用好“窗口贴齐布局”绝对是关键。这个功能的核心,在于激活系统内置的 Snap Layouts,再配合几种不同的触发方式,就能实现精准的分屏与协同填充。下面就来详细拆解一下
如何开启 Windows 11 的“极致性能”模式 释放电脑隐藏最高功耗限制
如何开启 Windows 11 的“极致性能”模式 释放电脑隐藏最高功耗限制 想让你的 Windows 11 火力全开吗?当进行视频渲染、实时音频处理或科学计算这类高负载任务时,系统默认的电源管理策略可能会成为瓶颈。为了释放 CPU、GPU 乃至系统总线的全部调度潜力,你需要启用一个系统预置但默认隐
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

