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

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
-Bbytes/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/kj键或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&#xff08;Interface TOP&#xff09; 命令&#xff1a;iftop 是一款小巧、免费且功能强大的网卡实时流量监控工具。监控指定网卡的实时流量、端口连接信息、反向解析 IP 等&#xff0c;还可以精确显示本机网络流量及网络内各主机和本机…...

web学习笔记(六十九)vue2

目录 1. vue2创建脚手架项目 2.vue2如何关闭eslint 1. vue2创建脚手架项目 &#xff08;1&#xff09;在cmd窗口输入npm install -g vue/cli命令行&#xff0c;快速搭建脚手架。 &#xff08;2&#xff09; 创建vue2项目 &#xff08;3&#xff09; 选择配置项目&#xff0c…...

JavaScript全解:从基础到高级,掌握每一个知识点

引言&#xff1a; JavaScript是一种广泛使用的脚本语言&#xff0c;主要用于Web浏览器&#xff0c;但近年来也扩展到了服务器端&#xff08;Node.js&#xff09;和其他领域。它允许开发者创建交互式的网页&#xff0c;处理数据&#xff0c;控制用户界面&#xff0c;甚至构建完…...

RabbitMQ的Direct交换机

Direct交换机 BindingKey 在Fanout模式中&#xff0c;一条消息&#xff0c;会被所有订阅的队列都消费。但是&#xff0c;在某些场景下&#xff0c;我们希望不同的消息被不同的队列消费。这时就要用到Direct类型的Exchange。 在Direct模型下&#xff1a; 队列与交换机的绑定&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 &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 题目数据 保证 整个链式结构中不存在环。 注意&#xff0c;函数返回结果后&am…...

6.26.1 残差卷积变压器编码器的混合工作流程用于数字x线乳房x光片乳腺癌分类

基于残差卷积网络和多层感知器变压器编码器(MLP)的优势&#xff0c;提出了一种新型的混合深度学习乳腺病变计算机辅助诊断(CAD)系统。利用骨干残差深度学习网络创建深度特征&#xff0c;利用Transformer根据自注意力机制对乳腺癌进行分类。所提出的CAD系统具有识别两种情况乳腺…...

[leetcode]avoid-flood-in-the-city 避免洪水泛滥

. - 力扣&#xff08;LeetCode&#xff09; 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基本使用案例 一、数据结构&#xff1a;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

嵌入&#xff08;Embedding&#xff09;是一种将高维数据映射到低维空间的技术&#xff0c;广泛应用于自然语言处理&#xff08;NLP&#xff09;、计算机视觉和推荐系统等领域。嵌入技术的核心思想是将复杂的数据表示为低维向量&#xff0c;使其在这个低维空间中保留尽可能多的…...

Pandas中的数据转换[细节]

今天我们看一下Pandas中的数据转换&#xff0c;话不多说直接开始&#x1f387; 目录 一、⭐️apply函数应用 apply是一个自由度很高的函数 对于Series&#xff0c;它可以迭代每一列的值操作&#xff1a; 二、⭐️矢量化字符串 为什么要用str属性 替换和分割 提取子串 …...

vue2面试题——路由

1. 路由的模式和区别 路由的模式&#xff1a;history&#xff0c;hash 区别&#xff1a; 1. 表象不同 history路由&#xff1a;以/为结尾&#xff0c;localhost:8080——>localhost:8080/about hash路由&#xff1a;会多个#&#xff0c;localhost:8080/#/——>localhost:…...

【AI应用探讨】—朴素贝叶斯应用场景

目录 文本分类 推荐系统 信息检索 生物信息学 金融领域 医疗诊断 其他领域 文本分类 垃圾邮件过滤&#xff1a;朴素贝叶斯被广泛用于垃圾邮件过滤任务&#xff0c;通过邮件中的文本内容来识别是否为垃圾邮件。例如&#xff0c;它可以基于邮件中出现的单词或短语的概率来…...

使用matlab的大坑,复数向量转置!!!!!变量区“转置变量“功能(共轭转置)、矩阵转置(默认也是共轭转置)、点转置

近期用verilog去做FFT相关的项目&#xff0c;需要用到matlab进行仿真然后和verilog出来的结果来做对比&#xff0c;然后计算误差。近期使用matlab犯了一个错误&#xff0c;极大的拖慢了项目进展&#xff0c;给我人都整emo了&#xff0c;因为怎么做仿真结果都不对&#xff0c;还…...

昇思25天学习打卡营第8天|保存与加载

1. 学习内容复盘 1.1 保存与加载 上一章节主要介绍了如何调整超参数&#xff0c;并进行网络模型训练。在训练网络模型的过程中&#xff0c;实际上我们希望保存中间和最后的结果&#xff0c;用于微调&#xff08;fine-tune&#xff09;和后续的模型推理与部署&#xff0c;本章…...

【vueUse库Animation模块各函数简介及使用方法】

vueUse库是一个专门为Vue打造的工具库,提供了丰富的功能,包括监听页面元素的各种行为以及调用浏览器提供的各种能力等。其中的Browser模块包含了一些实用的函数,以下是这些函数的简介和使用方法: vueUse库Sensors模块各函数简介及使用方法 vueUseAnimation函数1. useInter…...

汇川H5u小型PLC作modbusRTU从站设置及测试

目录 新建工程COM通讯参数配置协议选择协议配置 查看手册Modbus地址对应关系仿真测试 新建工程 新建一个H5U工程&#xff0c;不使用临时工程 系列选择H5U即可 COM通讯参数配置 协议选择 选择ModbusRTU从站 协议配置 端口号默认不可选择 波特率这里使用9600 数据长度&…...

基于Java的多元化智能选课系统-计算机毕业设计源码040909

摘 要 多元化智能选课系统使用Java语言的Springboot框架&#xff0c;采用MVVM模式进行开发&#xff0c;数据方面主要采用的是微软的Mysql关系型数据库来作为数据存储媒介&#xff0c;配合前台技术完成系统的开发。 论文主要论述了如何使用JAVA语言开发一个多元化智能选课系统&a…...

idea使用maven打包报错GBK不可映射字符

方法一&#xff1a;设置环境变量 打开“控制面板” > “系统和安全” > “系统”。点击“高级系统设置”。在“系统属性”窗口中&#xff0c;点击“环境变量”。在“系统变量”部分&#xff0c;点击“新建”&#xff0c;创建一个新的变量&#xff1a; 变量名&#xff1a;…...

解决Linux系统Root不能远程SSH登录

问题描述 在使用Linux主机或者开发板的时候远程SSH一直登录不上Root账户&#xff0c;只能登录其他账户。 问题解决 使用文本编辑器修改SSH的配置文件sshd_config。这个文件通常位于/etc/ssh/目录下。 sudo nano /etc/ssh/sshd_config在sshd_config文件中&#xff0c;找到Pe…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持&#xff0c;不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

佰力博科技与您探讨热释电测量的几种方法

热释电的测量主要涉及热释电系数的测定&#xff0c;这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中&#xff0c;积分电荷法最为常用&#xff0c;其原理是通过测量在电容器上积累的热释电电荷&#xff0c;从而确定热释电系数…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...