Linux网络监控工具 - iftop

iftop 是一个基于 libpcap 库的网络流量监控工具。它通过监听指定网络接口上的数据包,并分析这些数据包的源地址、目标地址、源端口、目标端口、协议等信息,从而实时显示网络流量的相关统计信息。

安装

在大多数Linux发行版中,您可以使用包管理器来安装 iftop。例如,在Ubuntu/Debian上,可以使用以下命令安装:

sudo apt-get install iftop

启动

在终端中输入 iftop 命令即可启动 iftop。默认情况下,它会显示所有正在进行的网络连接的信息。
直接运行 iftop 后的样子

界面说明

标准视图,端口显示关闭,每对主机两行
在这里插入图片描述

主机名隐藏,显示源端口,每对主机一行=按服务划分的网络流量
在这里插入图片描述

  • 顶部:流量刻度尺,刻度分五个大段显示。数据行的流量条与之对应。
  • 数据行:显示实时的网络流量信息,每一行表示一个网络连接。
    • 本主机信息;
    • 目标主机信息; => 箭头表示流量方向,=>代表发送数据,<=代表接收数据;
    • 流量数据,这些实时参数分别表示主机间 2秒内10秒内40秒内的平均流量值;
  • 底部:显示当前的总发送和接收流量、平均发送和接收速率,以及当前的流量峰值。
    • TX 表示发送数据
    • RX 表示接收数据
    • TOTAL 表示发送和接收全部流量
    • cum 表示从运行iftop到目前的发送、接收和总数据流量
    • peak 表示发送、接收以及总的流量峰值
    • rates 表示过去2s、10s、40s的平均流量值

用法

语法
 iftop -h | [-npblNBP] [-i interface] [-f filter code]  [-F net/mask] [-G net6/mask6]
选项
  • -h
    display this message
    帮助信息
  • -n
    don’t do hostname lookups
    不要进行主机名查找,第一列默认显示的是hostname,加上该参数后就直接显示为IP
  • -N
    don’t convert port numbers to services
    只显示连接端口号,不显示端口对应的服务名称
  • -p
    run in promiscuous mode (show traffic between other hosts on the same network segment)
    以混杂模式运行(显示其他同一网段上的主机)
  • -b
    don’t display a bar graph of traffic
    不显示流量条形图
  • -B
    display bandwidth in bytes
    以字节为单位的显示带宽
  • -a
    display bandwidth in packets
    以数据包形式显示带宽
  • -i interface
    listen on named interface
    指定需要检测的网卡,默认为第一个活动网卡, 一般为 eth0
  • -f filter code
    use filter code to select packets to count (default: none, but only IP packets are counted)
    设置过滤规则,只显示符合规则的网络流量。
    过滤规则可以使用BPF(Berkley Packet Filter)语法,它允许您根据源IP地址、目标IP地址、端口号等条件进行过滤。
    例如,要只显示源IP地址为192.168.1.10的流量,可以使用以下过滤规则:iftop - -f “src host 192.168.1.10”
  • -F net/mask
    show traffic flows in/out of IPv4 network
    显示进出IPv4网络的流量
  • -G net6/mask6
    show traffic flows in/out of IPv6 network
    显示进出IPv6网络的流量
  • -l
    display and count link- -local IPv6 traffic (default: off)
    显示和计数链路本地IPv6流量(默认值:关闭)
  • -P
    show ports as well as hosts
    显示端口和主机
  • -m limit
    sets the upper limit for the bandwidth scale
    设置条形图带宽范围的上限,流量刻度分 5 个大段显示 如:# iftop - -m 100M
  • -c config file
    specifies an alternative configuration file
    指定可选的配置文件
  • -t
    use text interface without ncurses
    使用没有ncurses的文本界面
    排序选项
  • -o 2s
    Sort by first column (2s traffic average)
    按第一列(2秒流量平均值)排序
  • -o 10s
    Sort by second column (10s traffic average) [default]
    按第二列(10s 流量平均值)[默认值]排序
  • -o 40s
    Sort by third column (40s traffic average)
    按第三列(平均流量40秒)排序
  • -o source
    Sort by source address
    按源地址排序
  • -o destination
    Sort by destination address
    按目标地址排序

以下选项仅与- -t组合使用

  • -s num
    print one single text output afer num seconds, then quit
    在数秒内打印一个文本输出,然后退出;,-t -s 60 组合使用,表示取 60 秒网络流量输出
  • -L num
    number of lines to print
    要打印的行数
运行时命令
Host display
  • n - toggle DNS host resolution 切换DNS主机解析
  • s - toggle show source host 切换显示本主机Host
  • d - toggle show destination host 切换显示目标主机Host
  • t - cycle line display mode 切换显示模式,没对主机显示1/2行
Port display
  • N - toggle service resolution 切换显示端口号或端口服务名称
  • S - toggle show source port 切换是否显示本机的端口信息
  • D - toggle show destination port 切换是否显示远端目标主机的端口信息
  • p - toggle port display 切换是否显示端口信息
General
  • P - pause display 暂停/继续显示
  • h - toggle this help display 切换帮助信息和主页面
  • b - toggle bar graph display 切换是否显示平均流量图形条
  • B - cycle bar graph average 切换流量图形条为 2秒或10秒或40秒内的平均流量
  • T - toggle cumulative line totals 切换是否显示每个连接的总流量
  • j/k - scroll display 可以向上或向下滚动屏幕显示的连接记录
  • f - edit filter code 编辑过滤代码
  • l - set screen filter 打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,屏幕就只显示这个IP相关的流量信息
  • L - lin/log scales 切换显示画面上边的刻度
  • ! - shell command 使用shell命令
  • q - quit 退出
Sorting
  • 1/2/3 - sort by 1st/2nd/3rd column 根据右侧显示的三列流量数据进行排序
  • < - sort by source name 根据本主机信息列排序
  • > - sort by dest name 根据远端目标主机列排序
  • o - freeze current order 切换是否固定只显示当前的连接

工作原理

iftop 的工作原理可以概括为以下几个步骤:

  1. 打开指定的网络接口:iftop 首先会打开用户指定的网络接口,如 eth0、wlan0 等。
  2. 抓取数据包:iftop 使用 libpcap 库来抓取从指定网络接口上收到的数据包。libpcap 是一个网络数据包捕获库,它可以在不同的操作系统上进行网络数据包捕获。
  3. 解析数据包:iftop 对抓取到的数据包进行解析,提取出数据包中的源地址、目标地址、源端口、目标端口、协议等信息。
  4. 统计流量信息:iftop 根据解析到的数据包信息,统计并计算出每个网络连接的发送速率和接收速率,以及总的发送流量和接收流量。
  5. 实时显示信息:iftop 将统计的流量信息以实时更新的方式显示在终端界面上,以便用户实时监控网络流量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/99327.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机竞赛 行人重识别(person reid) - 机器视觉 深度学习 opencv python

文章目录 0 前言1 技术背景2 技术介绍3 重识别技术实现3.1 数据集3.2 Person REID3.2.1 算法原理3.2.2 算法流程图 4 实现效果5 部分代码6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习行人重识别(person reid)系统 该项目…

CSShas伪类选择器案例附注释

<!DOCTYPE html> <html lang="en"> <head><meta charset

配置文件生成器-秒杀SSM的xml整合

配置文件生成器-秒杀SSM的xml整合 思路&#xff1a; 通过简单的配置&#xff0c;直接生成对应配置文件。 maven坐标 <dependencies><!-- 配置文件生成 --><dependency><groupId>org.freemarker</groupId><artifactId>freemarker<…

洛谷1631 序列合并(优先队列)

题目描述 有两个长度为 N 的单调不降序列 ,A,B&#xff0c;在 A,B 中各取一个数相加可以得到 N2 个和&#xff0c;求这 N2 个和中最小的 N 个。 输入格式 第一行一个正整数 N&#xff1b; 第二行 N 个整数 1…A1…N​。 第三行 N 个整数 1…B1…N​。 输出格式 一行 N 个…

理解docx格式5

数字与级 在numbering元素的<w:abstractNum>里面定义,用<w:num>在数字部分内创建元素. <w:numbering> <w:abstractNum w:abstractNumId"0"> <抽象数字/> <w:nsid w:val"099A081C"/> <w:multiLevelType w:val&quo…

maven 初学

1. maven 安装 配置安装 路径 maven 下载位置: D:\software\apache-maven-3.8.6 默认仓库位置: C:\Users\star-dream\.m2\repository 【已更改】 本地仓库设置为&#xff1a;D:\software\apache-maven-3.8.6\.m2\repository 镜像已更改为阿里云中央镜像仓库 <mirrors>…

Kubernetes概述架构与工作流程简述

文章目录 Kubernetes概述Kubernetes优势Kubernetes 集群组件控制平面组件Node 组件 Kubernetes工作流程下期预告 Kubernetes概述 Kubernetes 是一个可移植、可扩展的开源平台&#xff0c;用于管理容器化的工作负载和服务&#xff0c;可促进声明式配置和自动化。 Kubernetes 拥…

简易版Pycharm(2023)+Conda开发环境配置教程

困 扰 不知道为什么&#xff0c;自从Pycharm更新了新的版本以后&#xff0c;在Pycharm中为项目工程配置Python解释器环境时&#xff0c;总是不能像以前那么方便。 比如&#xff0c;当前Conda中有十个不同的开发环境&#xff0c;每个环境一个名称&#xff0c;比如&#xff0c;p…

小程序实现人脸识别功能

调用api wx.startFacialRecognitionVerify 第一步: // 修改方法expertUpdate() {wx.startFacialRecognitionVerify({name: _this.registerForm.realName, //身份证名称idCardNumber: _this.registerForm.idCard, //身份证号码checkAliveType: 1, //屏幕闪烁(人脸核验的交互…

VB.NET vs. VB6.0:现代化编程语言 VS 经典老旧语言

目录 ​.NET背景&#xff1a; 特点: VB6.0背景&#xff1a; 特点: 两者之间的不同: 总结: 升华: .NET背景&#xff1a; VB.NET一种简单&#xff0c;现代&#xff0c;面向对象计算机编程语言&#xff0c;有微软开发&#xff0c;VB.NET是一种基于.NET Framework的面向对象…

golang gin——中间件编程以及jwt认证和跨域配置中间件案例

中间件编程jwt认证 在不改变原有方法的基础上&#xff0c;添加自己的业务逻辑。相当于grpc中的拦截器一样&#xff0c;在不改变grpc请求的同时&#xff0c;插入自己的业务。 简单例子 func Sum(a, b int) int {return a b }func LoggerMiddleware(in func(a, b int) int) f…

docker compose 管理应用服务的常用命令

一 、docker compose 是什么 Docker Compose是一个用来管理多个关联容器的工具&#xff0c;可以根据配置文件自动构建、管理、编排一组容器。 Docker Compose语境下的“服务”是指一组容器共同构成的一个应用服务后端。 Docker Compose语境下的“项目”是由一个或多个应用服务…

【C++设计模式之观察者模式:行为型】分析及示例

简介 观察者模式&#xff08;Observer Pattern&#xff09;是一种行为型设计模式&#xff0c;它定义了一种一对多的依赖关系&#xff0c;使得当一个对象的状态发生变化时&#xff0c;所有依赖它的对象都能够自动收到通知并更新。 描述 观察者模式由两个核心件组成&#xff1…

来单提醒/客户催单 ----苍穹外卖day9

来单提醒 需求分析 代码开发 注意:前端请求的并不是8080端口;而是先请求Nginx,Nginx进行反向代理以后转发到8080端口 这段代码首先创建了一个orders类用于更新订单状态 并且在更新状态后使用websocket发送给后端提醒 将信息放在map后,使用json的string化方式传给一个接收对象,…

类 ChatGPT 模型存在的局限性

尽管类ChatGPT模型经过数月的迭代和完善&#xff0c;已经初步融入了部分领域以及人们的日常生活&#xff0c;但目前市面上的产品和相关技术仍然存在一些问题&#xff0c;以下列出一些局限性进行详细说明与成因分析&#xff1a; 1&#xff09;互联网上高质量、大规模、经过清洗…

【广州华锐互动】动物解剖学AR互动学习平台

增强现实&#xff08;AR&#xff09;是一种将虚拟信息叠加到现实世界中的技术。通过智能手机、平板电脑或AR眼镜等设备&#xff0c;AR技术可以创建出逼真的虚拟物体&#xff0c;这些物体可以与现实世界的环境相互交互。 AR技术在教育领域的应用非常广泛&#xff0c;包括历史、科…

文生视频领域SOTA工作Make-A-Video:论文解读和代码赏析

Diffusion Models专栏文章汇总:入门与实战 前言:2022年年底Meta AI提出了Make-A-Video,一年过去了依旧是文生视频领域的SOTA工作,在主流数据集上依旧保持着最先进的指标。论文利用了预训练的Text-to-Image模型扩展到Text-to-Video任务,大大降低了视频生成的门槛;论文中提…

postman测试文件上传接口教程

postman是一个很好的接口测试软件&#xff0c;有时候接口是Get请求方式的&#xff0c;肯定在浏览器都可以测了&#xff0c;不过对于比较规范的RestFul接口&#xff0c;限定了只能post请求的&#xff0c;那你只能通过工具来测了&#xff0c;浏览器只能支持get请求的接口&#xf…

CCF CSP认证 历年题目自练Day21

题目一 试题编号&#xff1a; 201909-1 试题名称&#xff1a; 小明种苹果 时间限制&#xff1a; 2.0s 内存限制&#xff1a; 512.0MB 题目分析&#xff08;个人理解&#xff09; 先看输入&#xff0c;第一行输入苹果的棵树n和每一次掉的苹果数m还是先如何存的问题&#xf…

ASP.NET Core 开发 Web API

2. Web Api 的创建与Http类型的介绍 2.1 ASP.Net Core Web API项目的创建 1.创建ASP.NET Core Web API项目 从“文件”菜单中选择“新建”“项目”。 在搜索框中输入“Web API”。 选择“ASP.NET Core Web API”模板&#xff0c;然后选择“下一步”。 在“配置新项目”对话框中…