Linux 命令:iftop
1. 写在前面
本文主要介绍 Linux iftop(Interface TOP) 命令:iftop 是一款小巧、免费且功能强大的网卡实时流量监控工具。监控指定网卡的实时流量、端口连接信息、反向解析 IP 等,还可以精确显示本机网络流量及网络内各主机和本机相互通信的流量集合,非常适合于监控代理服务器或路由器的网络流量。缺点:就是无报表功能,必须以root身份才能运行。
关注 公众号 获取最新博文: 滑翔的纸飞机
2. iftop 命令
2.1 安装
- 基于 RedHat 的 Linux(版本 8 或以下)
yum install epel-release
yum install iftop
- 基于 RedHat 的 Linux
sudo dnf install epel-release
sudo dnf install iftop
- Debian 或 Ubuntu Linux
sudo apt install iftop
2.2 常用参数
基本语法:
iftop -h | [-nNpblBP] [-i interface] [-f filter code] [-F net/mask] [-G net6/mask6]
常用参数:
| 参数 | 描述 |
|---|---|
| -h | 显示简要的帮助信息 |
| -n | 不进行 DNS 解析,直接 IP 显示 |
| -N | 仅显示端口号,不显示服务对应名称 |
| -p | 以混杂模式运行,因此不直接通过指定接口的流量也会被计算在内 |
| -P | 显示主机和端口信息 |
| -l | 显示和统计向链路本地 IPv6 地址寻址或从链路本地 IPv6 地址寻址的数据报。 默认情况下不显示该地址类别 |
| -b | 不显示表示流量的图形条 |
| -m | 窗口顶部输出流量刻度(“K”、"M "或 “G”),分 5 个大段显示 如:# iftop -m 100M |
| -B | 以 bytes/sec 为单位显示网卡流量,默认是 bits/sec |
| -i | 指定网卡, 如:# iftop -i eth1 |
| -f | 使用过滤码选择要计数的数据包。只计算IP数据包,因此指定的代码被评估为(过滤代码)和IP 如 iftop -f filter code |
| -F -net/mask | 显示特定网段的网卡进出流量(IPv4) 如: iftop -F 192.168.85.0/24 |
| -G net6/mask6 | 显示特定网段的网卡进出流量(IPv6) |
| -c | 指定可选的配置文件,如:iftop -c config file |
| -t | 使用不带 ncurses 的文本界面 |
2.3 窗口说明
在默认情况下 iftop 显示系统第一块网卡的流量信息,如果要显示指定网卡信息,可通过 -i 参数实现。
例如:执行 iftop -P -i ens3 命令

- 第一部分
iftop 命令输出如上图所示,最上面红框为第一部分,此信息为流量刻度,主要用于显示网卡带宽流量。
- 第二部分
上图,中间黄色方框即为第二部分,信息分为三列显示:
(1)第1、2列:显示当前哪些 IP 地址与当前主机哪些服务进行网络连接。其中第2列 => 代表发送数据,<= 代表接收数据,我们可以根据这个箭头符号可以快速定位 IP 服务之间通信情况;
(2)第3大列分三小列显示,表示各网络连接 2 秒内、10 秒内和 40 秒内的平均流量值。
另外,每条记录还有一个白色背景流量条形图,可动态展示当前该网络连接流量大小,参照第一部分流量刻度,可以对比各个网络连接流量大小,定位流量问题。例如:哪个服务占用网络带宽最多。
-
第三部分
上图,位于底部方框,分 4部分显示:
第 1 部分:
TX表示发送数据;
RX表示接收数据;
TOTAL表示发送和接收全部流量;
第 2 部分:
cum列: 表示从运行 iftop 到目前为止发送、接收和总数据流量;第 3 部分:
peak列:表示发送、接收以及总的流量峰值;第 4 部分:
rates列:表示过去 2s、10s、40s 平均流量值;
2.4 交互界面
iftop 实时网络监控窗口,可以进行交互式操作,类似 top 命令,主要对输出信息进行过滤、统计,便于将更清晰的信息显示出来。
查看交互命令:可在上图所示窗口中,键入 h 即可进入交互选项界面,如下图所示:

交互参数分为 4 块:”Host display“、”General“、”Port display“和”Sorting"。相关参数的含义如下表所示:
Host display:
| 参数 | 描述 |
|---|---|
| n | 输出结果以IP或主机名的方式显示 |
| s | 可切换是否显示源主机信息 |
| d | 可切换是否显示远端目标主机信息 |
| t | 可切换 iftop 显示格式,连续按键依次显示:两行显示发送、接收流量,一行显示发送、接收流量;只显示发送流量/接收流量 |
General:
| 参数 | 描述 |
|---|---|
| P | 可切换暂停/继续显示 |
| h | 可在交互参数界面/状态输出界面之间来回切换 |
| b | 可切换是否显示平均流量图形条 |
| B | 可切换显示2秒、10秒、40秒内的平均流量 |
| T | 可切换是否显示每个连接的总流量 |
| j/k | 按j键或k键可以向上或向下滚动屏幕显示当前连接信息 |
| l | 可打开iftop输出过滤功能,例如:输入要过滤 IP地址,回车后,仅显示 IP 相关的流量信息 |
| L | 可切换显示流量刻度范围,同时,流量图形条会根据刻度变化 |
| q | 可退出iftop流量监控界面 |
Port display:
| 参数 | 描述 |
|---|---|
| N | 可切换显示端口号/端口号对应服务名称 |
| S | 可切换是否显示本地源主机的端口信息 |
| D | 可切换是否显示远端目标主机的端口信息 |
| p | 可切换是否显示端口信息 |
Sorting:
| 参数 | 描述 |
|---|---|
| 1/2/3 | 根据 2 秒、10 秒、40 秒的平均网络流量排序 |
| < | 可根据左边的本地主机名或IP地址进行排序 |
| > | 可根据远端目标主机的主机名或IP地址进行排序 |
| o | 可切换是否固定显示当前的连接 |
2.5 使用命令示例
(1) 显示网卡的基本带宽使用情况
root@dev:~# iftop # 默认网卡root@dev:~# iftop -i ens3 # 指定 ens3 网卡

(2) 显示 IP,不进行 DNS 解析
root@dev:~# iftop -i ens3 -n

与上图相比,显示 IP 地址,不进行 DNS 解析。
(3) 只显示连接端口号,不显示端口对应的服务名称
‘’’
root@dev:~# iftop -i ens3 -N
‘’’

(4) 不显示流量图形条

(5) 使用不带 ncurses 的文本界面

(6) 其他更多参数示例
- 按源地址对输出排序:
root@dev:~# iftop -o source
- 按目的地地址对输出排序:
root@dev:~# iftop -o destination
- 指定打印行数
root@dev:~# iftop -i ens3 -L 2
- 显示端口号
root@dev:~# iftop -i ens3 -n -P
- 以
byte为单位显示网卡流量,默认是bit
root@dev:~# iftop -i ens3 -n -B
- 显示流量进度条
root@dev:~# iftop -i ens3 -n
进入界面后按下大写 L
- 显示每个连接的总流量
root@dev:~# iftop -i ens3 -n
进入界面后按下大写 T
- 显示指定 ip
10.20.0.6的流量
root@dev:~# iftop -i ens3 -n
进入界面后按下小写 l 后,再输入 10.20.0.6 并回车
- 显示帮助信息
root@dev:~# iftop -h
iftop: display bandwidth usage on an interface by hostSynopsis: iftop -h | [-npblNBP] [-i interface] [-f filter code][-F net/mask] [-G net6/mask6]-h display this message-n don't do hostname lookups-N don't convert port numbers to services-p run in promiscuous mode (show traffic between otherhosts on the same network segment)-b don't display a bar graph of traffic
... ...
2.6 案例:查找最耗费流量的 IP 和端口号
(1)进入 iftop 界面;
(2)键入大写 L 显示流量刻度;
(3)键入大写 T 显示总量;
(4)键入 3,根据最近 40s 平均值统计排序;
(5)键入小写 t,发送和接受以一行显示;
(6)多按几次大写 B,切换查看最近 2s、10s、40s 的统计;

(7)图中的 10.20.0.6 就是我们找到的流量用得最多的 IP;
(8)筛选指定 IP 10.20.0.6,按下小写 l, 输入10.20.0.6,回车后生效;
(9)找到这个 IP 哪个端口流量用得最多,按下 p, 根据端口号显示;

感谢您花时间阅读文章!
关注公众号不迷路!
相关文章:
Linux 命令:iftop
1. 写在前面 本文主要介绍 Linux iftop(Interface TOP) 命令:iftop 是一款小巧、免费且功能强大的网卡实时流量监控工具。监控指定网卡的实时流量、端口连接信息、反向解析 IP 等,还可以精确显示本机网络流量及网络内各主机和本机…...
web学习笔记(六十九)vue2
目录 1. vue2创建脚手架项目 2.vue2如何关闭eslint 1. vue2创建脚手架项目 (1)在cmd窗口输入npm install -g vue/cli命令行,快速搭建脚手架。 (2) 创建vue2项目 (3) 选择配置项目,…...
JavaScript全解:从基础到高级,掌握每一个知识点
引言: JavaScript是一种广泛使用的脚本语言,主要用于Web浏览器,但近年来也扩展到了服务器端(Node.js)和其他领域。它允许开发者创建交互式的网页,处理数据,控制用户界面,甚至构建完…...
RabbitMQ的Direct交换机
Direct交换机 BindingKey 在Fanout模式中,一条消息,会被所有订阅的队列都消费。但是,在某些场景下,我们希望不同的消息被不同的队列消费。这时就要用到Direct类型的Exchange。 在Direct模型下: 队列与交换机的绑定&a…...
2024.6.26 待学习知识点
OOALV https://www.cnblogs.com/BruceKing/p/11447499.html " 取工单的组件 lt_aufnr CORRESPONDING #( lt_out MAPPING aufnr aufnr EXCEPT * ). ABAP POPUP_TO_CONFIRM 弹出框函数 CLASS-EVENTS CLASS-METHODS main. CLASS-METHODS raise_event_EXIT_COMMAND IMPOR…...
【LeetCode】每日一题:相交链表
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果后&am…...
6.26.1 残差卷积变压器编码器的混合工作流程用于数字x线乳房x光片乳腺癌分类
基于残差卷积网络和多层感知器变压器编码器(MLP)的优势,提出了一种新型的混合深度学习乳腺病变计算机辅助诊断(CAD)系统。利用骨干残差深度学习网络创建深度特征,利用Transformer根据自注意力机制对乳腺癌进行分类。所提出的CAD系统具有识别两种情况乳腺…...
[leetcode]avoid-flood-in-the-city 避免洪水泛滥
. - 力扣(LeetCode) class Solution { public:vector<int> avoidFlood(vector<int>& rains) {vector<int> ans(rains.size(), 1);set<int> st;unordered_map<int, int> mp;for (int i 0; i < rains.size(); i) {i…...
Pytorch基础
文章目录 零、tensorboard0.1基本使用案例 一、数据结构:Tensor1.1数据类型1.2Tensor的创建方式1.3张量的基本运算1.4张量的属性 二、数据集加载器DataLoaders2.0前置知识2.0.1torch.scatter()、torch.scatter_() 2.1官方案例2.1.1从TorchVision加载数据集2.1.2迭代…...
嵌入技术Embedding
嵌入(Embedding)是一种将高维数据映射到低维空间的技术,广泛应用于自然语言处理(NLP)、计算机视觉和推荐系统等领域。嵌入技术的核心思想是将复杂的数据表示为低维向量,使其在这个低维空间中保留尽可能多的…...
Pandas中的数据转换[细节]
今天我们看一下Pandas中的数据转换,话不多说直接开始🎇 目录 一、⭐️apply函数应用 apply是一个自由度很高的函数 对于Series,它可以迭代每一列的值操作: 二、⭐️矢量化字符串 为什么要用str属性 替换和分割 提取子串 …...
vue2面试题——路由
1. 路由的模式和区别 路由的模式:history,hash 区别: 1. 表象不同 history路由:以/为结尾,localhost:8080——>localhost:8080/about hash路由:会多个#,localhost:8080/#/——>localhost:…...
【AI应用探讨】—朴素贝叶斯应用场景
目录 文本分类 推荐系统 信息检索 生物信息学 金融领域 医疗诊断 其他领域 文本分类 垃圾邮件过滤:朴素贝叶斯被广泛用于垃圾邮件过滤任务,通过邮件中的文本内容来识别是否为垃圾邮件。例如,它可以基于邮件中出现的单词或短语的概率来…...
使用matlab的大坑,复数向量转置!!!!!变量区“转置变量“功能(共轭转置)、矩阵转置(默认也是共轭转置)、点转置
近期用verilog去做FFT相关的项目,需要用到matlab进行仿真然后和verilog出来的结果来做对比,然后计算误差。近期使用matlab犯了一个错误,极大的拖慢了项目进展,给我人都整emo了,因为怎么做仿真结果都不对,还…...
昇思25天学习打卡营第8天|保存与加载
1. 学习内容复盘 1.1 保存与加载 上一章节主要介绍了如何调整超参数,并进行网络模型训练。在训练网络模型的过程中,实际上我们希望保存中间和最后的结果,用于微调(fine-tune)和后续的模型推理与部署,本章…...
【vueUse库Animation模块各函数简介及使用方法】
vueUse库是一个专门为Vue打造的工具库,提供了丰富的功能,包括监听页面元素的各种行为以及调用浏览器提供的各种能力等。其中的Browser模块包含了一些实用的函数,以下是这些函数的简介和使用方法: vueUse库Sensors模块各函数简介及使用方法 vueUseAnimation函数1. useInter…...
汇川H5u小型PLC作modbusRTU从站设置及测试
目录 新建工程COM通讯参数配置协议选择协议配置 查看手册Modbus地址对应关系仿真测试 新建工程 新建一个H5U工程,不使用临时工程 系列选择H5U即可 COM通讯参数配置 协议选择 选择ModbusRTU从站 协议配置 端口号默认不可选择 波特率这里使用9600 数据长度&…...
基于Java的多元化智能选课系统-计算机毕业设计源码040909
摘 要 多元化智能选课系统使用Java语言的Springboot框架,采用MVVM模式进行开发,数据方面主要采用的是微软的Mysql关系型数据库来作为数据存储媒介,配合前台技术完成系统的开发。 论文主要论述了如何使用JAVA语言开发一个多元化智能选课系统&a…...
idea使用maven打包报错GBK不可映射字符
方法一:设置环境变量 打开“控制面板” > “系统和安全” > “系统”。点击“高级系统设置”。在“系统属性”窗口中,点击“环境变量”。在“系统变量”部分,点击“新建”,创建一个新的变量: 变量名:…...
解决Linux系统Root不能远程SSH登录
问题描述 在使用Linux主机或者开发板的时候远程SSH一直登录不上Root账户,只能登录其他账户。 问题解决 使用文本编辑器修改SSH的配置文件sshd_config。这个文件通常位于/etc/ssh/目录下。 sudo nano /etc/ssh/sshd_config在sshd_config文件中,找到Pe…...
国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
