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

Linux命令:iftop

iftop 命令

基本介绍

iftop(Interface Top)是 Linux 系统中用于实时监控网络带宽使用情况的工具,类似于top命令但专门用于网络监控。它可以显示每个连接的网络流量,按带宽使用量排序,帮助系统管理员定位网络带宽消耗大户和网络瓶颈。

资料合集:https://pan.quark.cn/s/6fe3007c3e95https://pan.quark.cn/s/561de99256a5https://pan.quark.cn/s/985f55b13d94https://pan.quark.cn/s/d0fb20abd19a

语法

iftop [OPTIONS] [INTERFACE]

常用选项

基本选项

  • -i, --interface=INTERFACE:指定要监控的网络接口
  • -f, --filter=FILTER:使用 BPF 过滤器过滤流量
  • -p, --promiscuous:将接口设置为混杂模式
  • -B, --bytes:以字节为单位显示带宽
  • -K, --kilobits:以千比特为单位显示带宽(默认)
  • -m, --max-bandwidth=BW:设置显示的最大带宽

输出选项

  • -n, --no-dns:不解析主机名
  • -N, --numeric:不解析端口号为服务名
  • -P, --show-ports:显示端口号
  • -b, --no-bar:不显示条形图
  • -t, --text:文本模式,非交互式输出
  • -s, --print=NUM:输出 NUM 次后退出

其他选项

  • -h, --help:显示帮助信息
  • -v, --version:显示版本信息

使用示例

1. 基本使用

iftop

输出示例:

Interface: eth0 IP address is: 192.168.1.100 MAC address is: 00:11:22:33:44:55 # Host name (port/service if enabled) last 2s last 10s last 40s cumulative -------------------------------------------------------------------------------------------- 1 192.168.1.200:80 100Kb/s 95Kb/s 90Kb/s 1.2MB => 192.168.1.100:45678 100Kb/s 95Kb/s 90Kb/s 1.2MB 2 192.168.1.1:53 50Kb/s 48Kb/s 45Kb/s 600KB => 192.168.1.100:5353 50Kb/s 48Kb/s 45Kb/s 600KB -------------------------------------------------------------------------------------------- Total send rate: 150Kb/s Total receive rate: 0b/s Total send and receive rate: 150Kb/s

2. 指定网络接口

iftop-ieth0 iftop-iwlan0

3. 不解析主机名

iftop-n

4. 显示端口号

iftop-P

5. 以字节为单位显示

iftop-B

6. 使用过滤器

# 只显示 HTTP 流量iftop-f"tcp and port 80"# 只显示特定 IP 的流量iftop-f"host 192.168.1.200"# 只显示出站流量iftop-f"src host 192.168.1.100"

7. 文本模式输出

iftop-tiftop-t-s5

8. 设置最大带宽显示

iftop-m100M

输出格式说明

主要字段说明

字段说明
#排名
Host name主机名或 IP 地址
port/service端口号或服务名
last 2s过去 2 秒的平均带宽
last 10s过去 10 秒的平均带宽
last 40s过去 40 秒的平均带宽
cumulative累积流量

箭头含义

符号含义
=>出站流量(发送)
<=入站流量(接收)

交互命令

iftop运行时,可以使用以下交互命令:

命令说明
h显示帮助信息
n切换主机名解析
s切换端口号显示
d切换端口号解析
t切换显示格式(文本/条形图)
p暂停/继续更新
q退出 iftop
1-9按相应数字排序
+增加过滤
-减少过滤

实用技巧

监控网络带宽瓶颈

# 实时监控所有网络活动iftop-nP# 监控特定接口iftop-ieth0-n

定位高带宽连接

# 查看带宽使用最高的连接iftop-t-s1|head-20# 只显示出站流量iftop-f"src net 192.168.1.0/24"

分析特定协议流量

# 监控 HTTP 流量iftop-f"tcp and port 80"# 监控 HTTPS 流量iftop-f"tcp and port 443"# 监控 DNS 流量iftop-f"udp and port 53"

脚本中使用

# 获取总带宽使用total_bandwidth=$(iftop-t-s1|grep"Total send and receive"|awk'{print $6}')echo"Total Bandwidth:$total_bandwidth"

生成流量报告

# 生成 1 分钟的流量报告iftop-t-s60>network_report.txt# 分析报告catnetwork_report.txt|grep-E"^[ 0-9]"|sort-k5-r|head-10

相关命令

  • top:实时系统监控
  • htop:增强版 top
  • netstat:网络连接统计
  • ss:套接字统计工具
  • tcpdump:网络流量捕获
  • nload:网络带宽监控
  • vnstat:网络流量统计
  • bmon:带宽监控工具

注意事项

  1. 权限要求iftop需要 root 权限才能正常运行
  2. 安装方法
    • Debian/Ubuntu:apt-get install iftop
    • CentOS/RHEL:yum install iftop
  3. 性能影响iftop本身会产生一定的系统开销
  4. 混杂模式:使用-p选项会将接口设置为混杂模式
  5. BPF 过滤器:可以使用 tcpdump 风格的过滤器语法

总结

iftop是 Linux 系统中用于实时监控网络带宽使用情况的强大工具。它可以帮助系统管理员快速定位网络带宽消耗大户和网络瓶颈,是网络性能监控和故障诊断的必备工具。通过结合其他工具(如 tcpdump、netstat、ss),可以全面了解系统的网络状态。

http://www.jsqmd.com/news/898397/

相关文章:

  • DS4手柄固件升级:从警告到完美兼容的实用指南
  • 告别玄学调试!用这5个关键测试点,快速定位开关电源故障(附波形分析)
  • 保姆级教程:QGC地面站二次开发中,如何为你的无人机配置TCP、串口和UDP通信(附实战避坑点)
  • 告别原生弹窗!Avalonia 11.0.0实战:用FluentAvalonia和DialogHost打造现代化对话框(附完整源码)
  • 解密跨平台资源下载:res-downloader如何重塑我们的内容获取体验
  • 企业人力资源管理数字化转型:OrangeHRM开源系统完整部署指南
  • NISQ时代QAOA实战:噪声环境下的误差缓解策略与分阶段部署指南
  • 对比直接购买与通过Taotoken使用大模型API的优劣
  • 保姆级教程:用OrCAD Capture搞定层次化电路‘展开’,再也不怕改一个坏一片
  • 牛客网上点赞最高的Java后端面试题(含答案)
  • 跨境电商的VAT申报,为何让卖家心力交瘁?2026合规高压下的Agent自动化破局方案
  • 智芯车规MCU开发踩坑记:Keil添加芯片包、JLink识别不到设备的那些坑,我都帮你填平了
  • NetBox Docker企业级部署与架构解析:构建生产就绪的IPAM/DCIM系统
  • Git 创建仓库
  • 网络流常用示意图及基本概念
  • 【白盒测试辅助】丢给AI一段核心算法代码,自动输出完整的单元测试(Mocks)
  • agent-skills 一键落地实操指南-运行指南-周红伟
  • COM3D2 MaidFiddler:打造你的专属女仆管家,实时编辑让游戏体验更自由
  • c#基础6
  • 为什么你的ChatGPT面试题总被候选人反向“考倒”?——4大认知偏差陷阱与动态校准公式
  • Outfit字体:9种字重免费开源字体,为你的设计注入品牌灵魂
  • 大型光学红外望远镜拼接镜面主动光学技术【附代码】
  • 保姆级教程:在ArmSoM-W3(RK3588)上配置UART7,让40PIN引脚变身串口调试利器
  • 解锁AI图像新维度:用语言指令实现智能镜头控制
  • 字库芯片驱动与SPI通信实战:在STM32上实现GB18030编码汉字显示
  • Awesome RSS Feeds高级技巧:with_category与without_category文件的区别与应用
  • 【数据校验实战】用 AI 对比源数据库与目标数仓的数据一致性脚本编写
  • Simulink FFT分析:从模型搭建到谐波解读实战指南
  • 探索OpCore Simplify:自动化OpenCore EFI配置的艺术
  • Vue实战(幺捌零):基于 @fullcalendar/vue 打造企业级日程管理系统