【Linux】iftop命令详解
目录
一、iftop简介
二、安装iftop命令
2.1 命令查看测试环境系统信息
2.2 查看iftop版本与命令帮助
三、iftop的基本使用
3.1 直接使用iftop命令
3.2 iftop的显示说明
3.3 指定监控某块网卡
3.4 显示某个网段进出封包流量
3.5 按照流量排序
3.6 过滤显示连接
3.7 快捷键
一、iftop简介
iftop命令是一种网络监测工具,它类似于Linux中的其他监测工具,如top、iotop等。但iftop是一个独立的命令,并不依赖于其他工具或服务。
iftop命令可以帮助我们查看服务器上网络接口的实时流量情况,包括流入和流出的数据量、数据包数量、流量占用比例等信息。此外,iftop还具有过滤、排序功能,用于更好地监测特定网络流量。
二、安装iftop命令
如果你的系统没有安装iftop命令,你需要使用如下命令来安装:
yum install iftop -y
2.1 命令查看测试环境系统信息
2.2 查看iftop版本与命令帮助
显示版本iftop, version 1.0pre4
参数释义列表:
参数 | 释义 |
-h | 显示帮助。 |
-n | 不执行主机名DNS解析(即直接显示IP地址而不是主机名) |
-N | 不执行端口转换成服务操作(直接显示端口数字) |
-p | 运行在混杂模式(此时会显示整个网段中其他主机`部分`流量) |
-b | 不显示流量的图形条 |
-B | 采用字节(bytes)显示带宽 |
-a | 采用以包为单位的带宽 |
-i | 监听在指定网络接口 |
-f | 使用过滤代码来选择计数的数据包(默认是none,但是只计算IP包) |
-F | IPv4 显示网络的in/out数据流 |
-G | IPv6 显示网络的in/out数据流 |
-l | 打开屏幕过滤功能,输入要过滤的字符。比如输入相应IP地址,回车后,屏幕就只显示这个IP相关的流量信息。 |
-p | 显示端口 |
-m | 设置带宽等级的上限 |
-c | 指定替代的配置文件 |
-t | 使用不带ncurses 的文本界面,并将输出打印到STDOUT |
-o 2s | 第一列排序 (2s traffic average) |
三、iftop的基本使用
3.1 直接使用iftop命令
直接输入iftop,默认监控的是第一块网卡。
可以使用 iftop 命令的 -n 选项,禁用主机名的解释。如果在正在运行的 iftop 会话中可以按 n 键打开或者关闭主机名的 DNS 解释。
3.2 iftop的显示说明
- 第一部分
iftop 输出最上面的一行,此行信息是流量刻度,用于显示网卡带宽流量。
- 第二部分
- 中间的<= =>这两个左右箭头,表示的是流量的方向。
- 其中又分别分为左、中、右三列。左列和中列,记录了哪些 IP 或主机正在和本机的网络进行连接。其中,中列的“=>”代表发送数据,“<=”代表接收数据,通过这个指示箭头可以很清晰地知道两个 IP 之间的通信情况。
- 最右列又分为三小列,这些实时参数分别表示外部 IP 连接到本机 2 秒内、10 秒内和 40 秒内的平均流量值。
- 第三部分
分割线最下面的一部分,用来统计网卡流量信息。
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量,也就是累计值
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量
3.3 指定监控某块网卡
iftop -i ens33
3.4 显示某个网段进出封包流量
iftop -F 192.168.2.110/24
3.5 按照流量排序
iftop可以按照流量大小对连接进行排序,从而帮助我们快速识别占用带宽较多的连接。通过按流量排序,我们可以发现网络中的瓶颈和异常情况。
排序方式
-o 2s:按第一列排序(2秒平均流量)
-o 10s:按第二列排序(10秒平均流量)【默认】
-o 40s:按第三列排序(40秒平均流量)
-o source:按源地址排序
-o destination:按目标地址排序
仅与-t选项同时使用的以下选项
-s num:在num秒后打印一次文本输出后退出
-L num:要打印的行数
示例: 网卡ens192 排序时间间隔 10s,在4秒后打印输出后退出
iftop -n -i ens192 -o 10s -s 4 -t
- -n选项表示只显示IP地址而非主机名,
- -t选项表示在每一次更新后自动清除屏幕
- -s 选项表示每4秒更新一次
- -i 指定要监控的网口
3.6 过滤显示连接
我们可以使用iftop指令的过滤功能,只显示特定源IP地址或目标IP地址的连接。这对于定位特定主机的流量情况非常有用,帮助我们快速筛选和分析特定连接。
示例:
iftop -n -P -i ens192 -f "src port 1019"基于端口的过滤
iftop -f "port 80,443"
基于IP基础和端口的过滤
iftop -f "src host 192.168.1.100 and dst port 80"
iftop -f "dst host 8.8.8.8"
- -n 显示主机IP地址,而不是解析的主机名
- -P 显示端口
- i 执行网卡
- -f 过滤数据包
3.7 快捷键
当你进入 iftop 会话时,你可以使用以下快捷键,切换 iftop 的显示方式或者按 f 添加过滤器。
- h:显示帮助菜单
- n:开启 / 关闭主机名的 DNS 解析,如果可以 iftop 可以将 IP 地址解释为主机名则显示主机的名称,否则显示 IP 地址。
- N:开启 / 关闭服务名称的解释,例如,本地主机连接远程的主机的 443 端口,iftop 将会在远程主机 IP 地址后面添加服务的名称 www.myfreax.com:https。
- p:开启 / 关闭目标和源端口的显示
- P:暂停刷新屏幕,注意:
- 这仅仅暂停主要窗口部分的刷新,屏幕底部的统计值依然自动刷新。
- s:显示或者隐藏源主机的 IP 或主机名。
- S:显示 / 关闭源端口。
- t:切换显示发送和接收流量的三种方式,第一种是仅显示发送的流量,第二种是仅显示接收的流量,同时发送和接收的流量,也就是启动时的默认模式。
- T:显示 / 关闭发送与接收流量统计,这将会在 2s 10s 40s 速率之前添加一列显示累计值。
- q:退出 iftop
排序
- j / k:分别是向下和向上滚动,当屏幕不足以显示所有连接时。
- <:通过源名称的排序。
- >:通过目标名称排序。
- 1/2/3:通过第一,第二,第三列进行排序。
- o:冻结排序方式,由于 iftop 是不断滚动所有连接,关闭 iftop 滚动连接,可以按 o 键。
参考原文链接:Linux下iftop指令详解_linux iftop-CSDN博客
原文链接:Linux系统之iftop的基本使用_linux iftop-CSDN博客
相关文章:

【Linux】iftop命令详解
目录 一、iftop简介 二、安装iftop命令 2.1 命令查看测试环境系统信息 2.2 查看iftop版本与命令帮助 三、iftop的基本使用 3.1 直接使用iftop命令 3.2 iftop的显示说明 3.3 指定监控某块网卡 3.4 显示某个网段进出封包流量 3.5 按照流量排序 3.6 过滤显示连接 3.7 …...

【蓝桥杯】Excel地址
一.题目描述 二.问题分析 类似于进制转换 //Excel地址 #include <iostream> #include <stack> using namespace std;//const int N1e22; long long n; stack <char> s;int main(int argc, const char * argv[]) {ios::sync_with_stdio(0);cin.tie(0);cout.…...

Spring Boot 生成与解析Jwt
Spring Boot 生成与解析Jwt Maven依赖 <dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version> </dependency>生成&解析 package yang;import io.jsonwebtoken.Claims…...

安卓Java面试题11-20
🔥 11、Android本身的API并未声明会抛出异常,则其在运行时有无可能抛出runtime异常,如何解决?🔥 会,比如nullpointerException。我遇到过,比如textview.setText()时,textview没有初始化。会导致程序无法正常运行出现forceclose。打开控制台查看logcat信息找出异常信…...

SSL 证书,了解一下常识
公司的网站、应用怎么才能保证在互联网上安全运行,不被攻击、盗取数据呢? 创业必经之路,一步一步走就对了,可能没赶上红利期,但不做就等于0。 概述 SSL 证书(SSL Certificates)又称数字证书&am…...

react tab选项卡吸顶实现
react tab选项卡吸顶实现,直接上代码(代码有注释) tsx代码 /* eslint-disable react-hooks/exhaustive-deps */ import React, { useEffect, useState } from "react"; import DocumentTitle from react-document-title import s…...

【数据结构】二、线性表:6.顺序表和链表的对比不同(从数据结构三要素讨论:逻辑结构、物理结构(存储结构)、数据运算(基本操作))
文章目录 6.对比:顺序表&链表6.1逻辑结构6.2物理结构(存储结构)6.2.1顺序表6.2.2链表 6.3数据运算(基本操作)6.3.1初始化6.3.2销毁表6.3.3插入、删除6.3.4查找 6.对比:顺序表&链表 6.1逻辑结构 顺…...

Golang单例模式学习笔记
前言 单例模式是常用的一种设计模式,一般用于比如客户端、连接的创建等,防止创建多个导致性能消耗。所以我认为单例模式的核心,就是“防止重复”。本文将在Golang中进行单例模式的实现。 实现 版本1——检测-创建 最基础的版本࿰…...

Leetcode HOT150
55. 跳跃游戏 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。 示例 1 …...

仿牛客项目Day1
SpringMVC 架构 spring的前端控制器是DispatcherServlet 模板引擎Thymeleaf 这个还不知道干嘛的 mvc演示 get请求 RequestMapping:声明访问路径和http方法get或set什么的 ResponseBody:java对象转为json格式的数据,表示该方法的返回结…...

Effective C++ 学习笔记 条款17 以独立语句将newed对象置入智能指针
假设我们有个函数用来揭示处理程序的优先权,另一个函数用来在某动态分配所得的Widget上进行某些带有优先权的处理: int priority();void processWidget(std::st1::shared_ptr<Widget> pw, int priority);由于谨记“以对象管理资源”(条…...

通过Electron打包前端项目为exe
🧑🎓 个人主页:爱蹦跶的大A阿 🔥当前正在更新专栏:《JavaScript保姆级教程》、《VUE》、《Krpano》 ✨ 正文 1、 拉取electron官网上的demo,拉下来之后安装依赖,项目跑起来之后,就…...

大模型时代企业知识全生命周期管理解决方案
©作者|Zhongmei 来源|神州问学 摘 要 越来越多的企业开始意识到数据的重要性。同时意识到,企业想保持长远的发展,还需要协调组织协作、利用现有的数据沉淀经验知识、累积数据资产。据IDC调查,目前企业结构化数据仅占到全部数据量的20%…...

C#冒泡排序算法
冒泡排序实现原理 冒泡排序是一种简单的排序算法,其原理如下: 从待排序的数组的第一个元素开始,依次比较相邻的两个元素。 如果前面的元素大于后面的元素(升序排序),则交换这两个元素的位置,使…...

【前端寻宝之路】总结学习使用CSS的引入方式
🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| 💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-BNJBIEvpN0GHNeJ1 {font-family:"trebuchet ms",verdana,arial,sans-serif;f…...

Python中输入输出函数input和print用法
# 读入一个字符串 s input() print(s)abcdef abcdef# 读入一个整数 n int(input()) print(n)5 5# 读入两个整数(空格间隔) # input()表示读入一行字符串 # split()表示以空格间隔切分出多个字符串序列,如果逗号间隔可以加参数split(,) # map()将序列每个元素转为整…...

简单认识Linux
今天带大家简单认识一下Linux,它和我们日常用的Windows有什么不同呢? Linux介绍 Linux内核&发行版 Linux内核版本 内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与…...

javascript正则深入
文章目录 一、前言二、高级`API`2.1、模式匹配的用法`(x)`2.2、非捕获括号的模式匹配`(?:x)`2.3、先行断言`x(?=y)`2.4、后行断言`(?<=y)x`2.5、正向否定查找`x(?!y)`2.6、反向否定查找`(?<!y)x`2.7、字符集合和反向字符集合的用法 `[xyz] / [^xyz]`2.8、词边界和非…...

React-封装自定义Hook
1.声明函数 说明:声明一个以use打头的函数 function useToggle(){} 2.封装 说明:在函数体内封装可复用的逻辑 const [value,setValue]useState(true)const toggle()>{setValue(!value)} 3.返回 说明:把组件中用到的状态或者回调retu…...

Spark实战-基于Spark日志清洗与数据统计以及Zeppelin使用
Saprk-日志实战 一、用户行为日志 1.概念 用户每次访问网站时所有的行为日志(访问、浏览、搜索、点击)用户行为轨迹,流量日志2.原因 分析日志:网站页面访问量网站的粘性推荐3.生产渠道 (1)Nginx(2)Ajax4.日志内容 日志数据内容:1.访问的…...

Springboot中Redis的配置使用
新建 向pom.xml中添加依赖,这个可以不用标注版本号 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency> 配置yml文件(文件名不可以错…...

【node版本问题】运行项目报错 PostCSS received undefined instead of CSS string
最近该项目没有做任何修改,今天运行突然跑不起来报错了 PostCSS received undefined instead of CSS string 【原因】突然想起来期间有换过 node 版本为 16.17.1 【解决】将 node 版本换回之前的 14.18.0 就可以了...

Spring揭秘:BeanDefinitionRegistry应用场景及实现原理!
内容概要 BeanDefinitionRegistry接口提供了灵活且强大的Bean定义管理能力,通过该接口,开发者可以动态地注册、检索和移除Bean定义,使得Spring容器在应对复杂应用场景时更加游刃有余,增强了Spring容器的可扩展性和动态性…...

蓝桥杯(3.5)
789. 数的范围 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int q sc.nextInt();int[] res new int[n];for(int i0;i<n;i)res[i] sc.nextInt();while(q-- ! 0) {int…...

434G数据失窃!亚信安全发布《勒索家族和勒索事件监控报告》
最新态势快速感知 最新一周全球共监测到勒索事件90起,与上周相比数量有所增加。 lockbit3.0仍然是影响最严重的勒索家族;alphv和cactus恶意家族也是两个活动频繁的恶意家族,需要注意防范。 Change Healthcare - Optum - UnitedHealth遭受了…...

7-18 彩虹瓶(Python)
彩虹瓶的制作过程(并不)是这样的:先把一大批空瓶铺放在装填场地上,然后按照一定的顺序将每种颜色的小球均匀撒到这批瓶子里。 假设彩虹瓶里要按顺序装 N 种颜色的小球(不妨将顺序就编号为 1 到 N)。现在工…...

php使用ElasticSearch
ElasticSearch简介 Elasticsearch 是一个分布式的、开源的搜索分析引擎,支持各种数据类型,包括文本、数字、地理、结构化、非结构化。 Lucene与ElasticSearch Apache Lucene是一款高性能的、可扩展的信息检索(IR)工具库…...

wpf prism左侧抽屉式菜单
1.首先引入包MaterialDesignColors和MaterialDesignThemes 2.主页面布局 左侧菜单显示在窗体外,点击左上角菜单图标通过简单的动画呈现出来 3.左侧窗体外菜单 <Grid x:Name"GridMenu" Width"150" HorizontalAlignment"Left" Ma…...

揭秘AI新纪元:近期人工智能发展的惊人突破与未来展望
近年来,人工智能(AI)领域的发展可谓是日新月异,其强大的潜力和广阔的应用前景引发了全球范围内的关注。本文将带您领略近期AI发展的风采,一探这个神奇领域的未来展望。 首先,让我们回顾一下近期AI领域的几…...

C语言基础练习——Day01
目录 选择题 编程题 打印从1到最大的n位数 计算日期到天数转换 选择题 1、执行下面程序,正确的输出是 int x5,y7; void swap(int x, int y) {int z;zx;xy;yz; } int main() { int x3,y8; swap(int x, int y);printf("%d,%d\n",x, y);return …...