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

使用命令行工具控制wireshark对抓包文件进行针对性处理的总结

近日,工作中有开发对抓包文件进行针对性过滤的小程序的需求,兜兜转转踩了很多坑后还是绕回了wireshark。

作为最出名的开源软件之一,wireshark也具有使用命令行进行操作的功能,这就是我们今天会总结到的“tshark.exe”。

通常,当你安装好wireshark,这个"tshark"就会和你的wireshark在同一路径下默默的躺着,就长这样:

这个程序和图形化的wireshark功能基本相同,接下来我会针对性地对使用该软件对已经完成抓包生成的抓包文件(.pacpng、.pacp)进行解析的功能命令进行总结。

先上一个例子:

D:\**你的路径**\tshark.exe -r "C:\**你的路径**\抓包数据.pcap" -Y esp -T fields -e esp.spi -e esp.sequence  -e ip.src -e ip.dst

运行输出结果如下:

这个代码以tshark的绝对路径开头(配置环境变量会更方便),然后是抓包文件的路径指定文件,然后是各种过滤指令和字段选择,达到了针对某文件输出我们需要的字段的效果。

下面开始系统性介绍。

1、读取抓包文件

使用 -r 读取已有的抓包文件:

tshark -r <infile>

<infile> 是输入的抓包文件名。

2. 过滤数据

2.1 显示过滤器

使用 -Y 选项指定显示过滤器,过滤解码数据或写入文件的包:

tshark -r <infile> -Y <display filter>

<display filter> 是显示过滤器表达式,使用读/显示过滤器的语法,而不是捕获过滤器的语法。

2.2 读取过滤器

使用 -R 选项指定读取过滤器,在分析的第一遍中应用,不匹配的包将不考虑后续遍历:

tshark -r <infile> -R <read filter>

<read filter> 是读取过滤器表达式,同样使用读/显示过滤器的语法。

3. 输出格式

3.1 输出格式类型

使用 -T 选项设置输出格式:

tshark -r <infile> -T <format>

<format> 可以是以下之一:

  • ek:用于批量导入 Elasticsearch 的换行符分隔 JSON 格式。

  • fields:指定字段的值,格式由 -E 选项控制。

  • json:JSON 文件格式。

  • jsonraw:仅包含原始十六进制编码包数据的 JSON 文件格式。

  • pdml:XML 格式的包详情。

  • ps:PostScript 格式。

  • psml:XML 格式的包摘要。

  • tabs:类似于默认文本报告,但使用制表符分隔。

  • text:默认的人可读文本格式。

3.2 指定输出字段

使用 -e 选项添加要显示的字段,智能与 -T ek|fields|json|pdml 之一配合使用:

tshark -r <infile> -T fields -e <field1> -e <field2> ...

<field1><field2> 等是要显示的字段。

3.3 设置字段打印选项

使用 -E 选项控制字段打印格式:

tshark -r <infile> -T fields -E <option>

<option> 可以是以下之一:

  • bom=y|n:是否添加 UTF-8 字节顺序标记,默认为 n

  • header=y|n:是否打印字段名作为输出的第一行,默认为 n

  • separator=/t|/s|<character>:设置字段分隔符,默认为制表符。

  • occurrence=f|l|a:选择字段的出现次数,默认为 a

  • aggregator=,|/s|<character>:设置字段聚合符,默认为逗号。

  • quote=d|s|n:设置字段的引用字符,默认为无。

  • escape=y|n:是否对字段值中的空白控制字符进行转义,默认为 y

到这里我们就可以系统性地输出数据包中我们想要的值了!

这时候有小伙伴们要问了“博主博主,命令行我们明白了,但该怎么用到程序里呢?”

欸,我演示一个函数你就明白了,调用起来不要太轻松:

    def process_certificates(self, file_path, display_filter):command = [self.tshark_path,'-r', file_path,'-Y', f'tls.handshake.type==11&&{display_filter}','-T', 'fields','-e', 'ip.src','-e', 'ip.dst','-e', 'tls.handshake.certificate']lines = self.run_tshark_command(command)for line in lines:parts = line.split('\t')if len(parts) < 3:continuesrc_ip, dst_ip, certs_hex = partstry:certs = certs_hex.split(',')for cert_hex in certs:cert_der = bytes.fromhex(cert_hex)self.process_single_cert(cert_der, src_ip, dst_ip)except ValueError:continuedef run_tshark_command(self, command):try:result = subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.PIPE,check=True,text=True)return result.stdout.splitlines()

通过调用上面的函数,我们就完成了对命令的拼接,对输出的读取。

经过进一步简单处理,我们就达到了筛选所有TLS握手过程中传递的证书的效果,还顺带得到了他们的源IP目的IP等信息。

最后经过同理的简单开发,可得到这样的效果

——END——

相关文章:

使用命令行工具控制wireshark对抓包文件进行针对性处理的总结

近日&#xff0c;工作中有开发对抓包文件进行针对性过滤的小程序的需求&#xff0c;兜兜转转踩了很多坑后还是绕回了wireshark。 作为最出名的开源软件之一&#xff0c;wireshark也具有使用命令行进行操作的功能&#xff0c;这就是我们今天会总结到的“tshark.exe”。 通常&a…...

【STM32实物】基于STM32的太阳能充电宝设计

基于STM32的太阳能充电宝设计 演示视频: 基于STM32的太阳能充电宝设计 硬件组成: 系统硬件包括主控 STM32F103C8T6、0.96 OLED 显示屏、蜂鸣器、电源自锁开关、温度传感器 DS18B20、继电器、5 V DC 升压模块 、TB4056、18650锂电池、9 V太阳能板、稳压降压 5 V三极管。 功能…...

NLP 与常见的nlp应用

自然语言处理&#xff08;NLP&#xff09;是一个广泛的领域&#xff0c;它不仅包括自然语言理解&#xff08;NLU&#xff09;&#xff0c;还涉及一系列其他任务和子领域。以下是NLP领域中的主要组成部分及其相关任务&#xff1a; 1. 自然语言理解&#xff08;NLU&#xff09; …...

基于javaweb的SSM+Maven宠物领养宠物商城流浪动物管理系统与实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…...

Java数据类型 Arrays VS ArraysList VS LikedList 解析

在学习Java过程中&#xff0c;在刷题时总是搞不清楚这三种数据结构的区别&#xff0c;打算写篇文章记录一下 Arrays VS ArrayList ArrayList VS LinkedList 总结 Arrays VS ArrayList ArraysArrayList类型Java的基本数据类型Java集合框架中的一个类&#xff0c;实现了List接…...

C++进阶(一)

个人主页&#xff1a;PingdiGuo_guo 收录专栏&#xff1a;C干货专栏 前言 本篇博客是讲解函数的重载以及引用的知识点的。 文章目录 前言 1.函数重载 1.1何为函数重载 1.2函数重载的作用 1.3函数重载的实现 2.引用 2.1何为引用 2.2定义引用 2.3引用特性 2.4常引用 2…...

Elasticsearch 在航空行业:数据管理的游戏规则改变者

作者&#xff1a;来自 Elastic Adam La Roche 数字化客户体验不再是奢侈品&#xff0c;而是欧洲航空公司必不可少的需求。它推动了客户满意度&#xff0c;提升了运营效率&#xff0c;并创造了可持续的竞争优势。随着行业的不断发展&#xff0c;优先投资前沿数字技术和平台的航空…...

Powershell WSL部署ubuntu22.04.5子系统

前提条件WSL 安装 wsl 安装参考1wsl 安装csdn参考2wsl 百度网盘离线下载 本地目录安装ubuntu22.04.5 子系统 powershell 管理员打开执行(实现,下载安装ubuntu子系统,用户创建,远程ssh登录设置,防火墙端口开放)子系统IP 查看方法wsl...

华为网路设备学习-16 虚拟路由器冗余协议(VRRP)

VRRP是针对干线上三层网络设备&#xff08;如&#xff1a;路由器、防火墙等&#xff09;的网络虚拟化技术&#xff0c;提供冗余和状态监测等功能。确保在网络中的单点故障发生时&#xff0c;能够快速切换到备份设备&#xff0c;从而保证网络通信的连续性和可靠性。‌ VRRP通过…...

SQLark中如何进行数据筛选与排序

本文将为你介绍在 SQLark 中如何进行数据筛选与排序&#xff0c;掌握这些操作能够极大提升你的工作效率。 SQLark官网链接:www.sqlark.com 数据筛选 在数据库操作中&#xff0c;数据筛选是一项关键功能&#xff0c;它依据特定条件对数据进行过滤&#xff0c;帮助用户从海量数据…...

slq-labs日志

上次写了第五关的布尔盲注&#xff0c;和双查询报错注入&#xff0c;还有其他报错注入的方法 一.extractvalue函数 extractvalue函数 原理 extractvalue 是一个在 XML 数据中提取值的 MySQL 内置函数。它的语法为&#xff1a; EXTRACTVALUE(xml, xpath_expr)xml 是 XML 字符…...

Webrtc编译官方示例实现视频通话

Webrtc编译官方示例实现视频通话 前言 webrtc官网demo中给了一个供我们学习和应用webrtc的一个很好的例子&#xff1a;peerconnection&#xff0c;这期我们就来编译和运行下这个程序看看视频通话的效果以。 1、打开源码工程 继上期源码编译完成后&#xff0c;我们使用vs打开…...

对接SaToken @SaCheckEL 鉴权注解

对接SaToken SaCheckEL 鉴权注解 文章目录 对接SaToken SaCheckEL 鉴权注解前言一、引入插件和配置SaToken属性配置二、配置1.自定义SaTokenInterceptor并注入Bean2.WebMvcConfig配置SaTokenInterceptor&#xff0c;拦截所有请求路径 三、重载SaToken权限接口和方法注入SaCheck…...

【数据结构】顺序表(附源码)

数据结构之顺序表 1、线性表2、顺序表2.1 概念与结构2.2 顺序表的分类 3、动态顺序表3.1 结构3.2 初始化3.3 容量检查3.4 尾部插入数据3.5 删除尾部数据3.6 头部插入数据3.7 头部删除数据3.8 任意位置pos插入数据3.9 任意位置pos删除数据3.10 查找 4、动态顺序表实现的源码 1、…...

java使用Apache POI 操作word文档

项目背景&#xff1a; 当我们对一些word文档&#xff08;该文档包含很多的标题比如 1.1 &#xff0c;1.2 &#xff0c; 1.2.1.1&#xff0c; 1.2.2.3&#xff09;当我们删除其中一项或者几项时&#xff0c;需要手动的对后续的进行补充。该功能主要是对标题进行自动的补充。 具…...

【Linux网络编程】网络基础

目录 1、OSI分层思想2、数据的封装3、ip地址ipv4的ip地址分类&#xff1a;为什么这样划分&#xff1f;举例 4、端口号5、tcp三次握手为什么需要三次握手&#xff1f;tcp连接的标识为什么 IP 地址不能单独标识一条连接&#xff1f; 6、tcp四次挥手为什么需要四次挥手为什么需要三…...

国内首家,百度智能云千帆AppBuilder全面兼容MCP协议

百度智能云千帆 AppBuilder 已兼容 MCP 协议&#xff01;作为国内首家支持 MCP 协议的大模型应用开发平台&#xff08;Claude、LangGraph、Cursor、Cline、N8N等海外平台已支持&#xff09;&#xff0c;千帆 AppBuilder 完成兼容后&#xff0c;用户可通过千帆 AppBuilder 轻松调…...

eclipse [jvm memory monitor] SHOW_MEMORY_MONITOR=true

eclipse虚拟机内存监控设置SHOW_MEMORY_MONITORtrue D:\eclipse-jee-oxygen-2-win32-x86_64\workspace\.metadata\.plugins\org.eclipse.core.runtime\.settings org.eclipse.ui.prefs (文件比较多&#xff0c;别找错了&#xff09; SHOW_MEMORY_MONITORtrue 重启 -xms 1024…...

k8s中的组件

1.namespace Namespace 用于将集群资源划分为不同的逻辑组&#xff0c;方便管理和隔离 kubectl get namespace 查看所有逻辑组 kubectl describe namespace <namespace-name> 查看某个逻辑组信息详情 kubectl create namespace ... 创建逻辑组 kubectl delete names…...

单目3d detection算法记录

1、centernet object as points 这篇文章的核心单目3d检测主要是利用中心点直接回归出3d模型的所有属性&#xff0c;head共享整个backbone&#xff0c;其中3d属性包括&#xff1a;2d目标中心点、2dw和h、2d offsets、3doffsets、3d dimmession、rot还有depth。 其中对应的dep…...

vue3二次封装tooltip实现el-table中的show-overflow-tooltip效果

开发过程中遇到需要根据后端返回的数据长度来判断是否需要使用el-tooltip的情况&#xff0c;想到el-table里面就有这种交互效果&#xff0c;如果不论文字是否超出容器长度都展示tooltip的话&#xff0c;交互效果难免会差很多&#xff0c;所以二次封装了这个组件&#xff1a; 给…...

STM32八股【1】-----启动流程和startup文件理解

启动流程 知识点 MCU 上电复位。MSP从向量表第0个地址读取一个32位&#xff08;2字节&#xff09;的值并保存&#xff0c;该值为栈顶地址。PC计数器从第1个地址读取一个两字节的值并保存&#xff0c;该值为程序入口&#xff0c;一般是Reset_Handler。想了解FLASH地址映射可以…...

Go语言中package的使用规则《二》

在 Go 语言中&#xff0c;包&#xff08;Package&#xff09; 是代码组织和复用的核心单元。以下是其定义、引用规则及使用习惯的详细说明&#xff1a; 一、包的定义规则 目录与包名 一个包对应一个目录&#xff08;文件夹&#xff09;&#xff0c;目录名通常与包名一致。 包名…...

初级:控制流程面试题精讲

一、引言 在Java开发中&#xff0c;控制流程语句是构建程序逻辑的基础。面试官通过相关问题考察候选人对if-else、switch、循环等语句的理解和运用能力&#xff0c;以及在复杂业务场景下合理选择控制流程语句的水平。本文将深入剖析常见的控制流程面试题&#xff0c;结合实际开…...

HTTP 失败重试(重发)方案

在 Qt 网络开发中&#xff0c;使用 QNetworkAccessManager 进行 HTTP 请求时&#xff0c;可能会遇到网络超时、服务器错误等情况。为了提高请求的可靠性&#xff0c;可以实现 HTTP 失败重试&#xff08;重发&#xff09; 机制。下面介绍几种常见的 失败重发方案&#xff1a; 单…...

TNNLS 2024 | 基于残差超密集网络的高光谱图像空间光谱融合方法

A Spatio-Spectral Fusion Method for Hyperspectral Images Using Residual Hyper-Dense Network IEEE Transactions on Neural Networks and Learning Systems 2024 这篇文章的研究背景是针对高光谱图像&#xff08;HS&#xff09;与全色图像&#xff08;PAN&#xff09;的…...

深入探究 JVM 堆的垃圾回收机制(二)— 回收

GC Roots 枚举需要遍历整个应用程序的上下文&#xff0c;而在进行可达性分析或者垃圾回收时&#xff0c;如果我们还是进行全堆扫描及收集&#xff0c;那么会非常耗时。JVM 将堆分为新生代及老生代&#xff0c;它们的回收频率及算法不一样。 1 回收算法 在进行可达性分析时&am…...

【ELK】节省存储 之 压缩存储方式调整

目录 集群版本&#xff1a; 7.17.6 解释几个概念&#xff1a; 段&#xff08;Segment&#xff09; 合并(Merge) 索引设置&#xff1a; 压缩方式(index.codec)&#xff1a; 测试设置前提条件 对比 在创建的时候指定压缩类型&#xff08;index.codec&#xff09; 对比 在…...

MATLAB 控制系统设计与仿真 - 26

状态空间控制系统概述 状态空间描述 现代控制理论是建立在状态空间基础上的控制系统分析和设计理论&#xff0c;它用状态变量来刻画系统的内部特征&#xff0c;用‘一节微分方程组’来描述系统的动态特性。系统的状态空间模型描述了系统输入/输出与内部状态之间的关系&#x…...

下载与快速上手 NVM:Node.js 版本管理工具

一、准备工作&#xff1a;卸载旧版 Node.js 重要提示&#xff1a;在安装 NVM 前&#xff0c;请先彻底删除已安装的 Node.js&#xff0c;避免路径冲突&#xff1a; 检查安装路径 bash where node常见路径&#xff1a; C:\Program Files\nodejs\C:\Users\用户名\AppData\Local\n…...

SQL Server Management Studio(SSMS)安装教程

目录 一、SSMS的下载 二、SSMS 的安装 三、连接服务器 四、卸载 SSMS 一、SSMS的下载 1.进入 SQL Server Management Studio 官方下载页面&#xff1a;SQL Server Management Studio点击进入下载页面 2.点击链接开始下载&#xff0c;浏览器右上角会显示下载进度&#xff1b;…...

运维知识:Linux下Vim编辑器使用详解

运维知识&#xff1a;Linux下Vim编辑器使用详解 引言 在Linux的世界里&#xff0c;Vim不仅仅是一个文本编辑器&#xff0c;更是程序员的「瑞士军刀」。从1991年Bram Moolenaar发布第一个版本至今&#xff0c;Vim以其高效的模态编辑、高度可定制性和跨平台兼容性&#xff0c;成…...

复习HCIA

一、网络基础概念 1. OSI七层模型与TCP/IP四层模型 OSI七层模型详解&#xff1a; 物理层&#xff08;Physical Layer&#xff09;&#xff1a; 功能&#xff1a;传输原始比特流&#xff08;0/1&#xff09;&#xff0c;定义电气、机械特性&#xff08;如电压、线缆类型&#…...

在QT中进行控件提升操作

目录 一、概述 二、功能需求 三、提升操作 1&#xff09;拖入标准控件 2&#xff09;自定义类 3&#xff09;提升控件 一、概述 QT中提供的标准控件能够满足我们大多数情况下的功能需求&#xff0c;但是在一些特殊应用场合&#xff0c;我们可能需要对控件的功能进行扩展&am…...

Linux下JDK1.8安装配置

目录 1.下载完上传到Linux系统中 2.解压JDK压缩包 3.配置JDK环境变量 4.设置环境变量生效 5.查看环境变量是否配置成功 官网下载地址:Java Downloads | Oracle 1.下载完上传到Linux系统中 2.解压JDK压缩包 tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local (解压…...

JVM 知识点梳理

JDK 、JRE、JVM JDK&#xff08; Java Development Kit &#xff09; Java开发工具包 JRE 开发命令工具&#xff08;运行java.exe、编译javac.exe、javaw.exe&#xff09; JRE&#xff08; Java Runtime Environment &#xff09;Java运行环境 JVM Java核心类库&#xff08;l…...

求职招聘网站源码,找工作招工系统,支持H5和各种小程序

招聘找活招工平台系统源码 招聘求职找工作软件 发布信息积分充值招聘系统,里面带纤细教程 功能介绍: 招工小程序主要针对工地招工工人找工作,工地可以发布招工信息,工人可以发布找活信息,招工信息可以置顶,置顶需要积分,积分可以通过签到、分享邀请好友、充值获取,后…...

拓展 Coco AI 功能 - 智能检索 Hexo 博客

在之前的文章中&#xff0c;我们成功让 Coco AI 检索 Hugo 博客&#xff0c;这对于博客作者来说是一大福音。然而&#xff0c;从 Hexo 迁移到 Hugo 的成本不容小觑&#xff0c;毕竟大多数开发者对 Node.js 更熟悉&#xff0c;而 Golang 相对陌生。那么&#xff0c;既然 Coco AI…...

深入解析 Java Stream API:从 List 到 Map 的优雅转换!!!

&#x1f680; 深入解析 Java Stream API&#xff1a;从 List 到 Map 的优雅转换 &#x1f527; 大家好&#xff01;&#x1f44b; 今天我们来聊聊 Java 8 中一个非常常见的操作&#xff1a;使用 Stream API 将 List 转换为 Map。&#x1f389; 具体来说&#xff0c;我们将深入…...

【一起学Rust | Tauri2.0框架】基于 Rust 与 Tauri 2.0 框架实现全局状态管理

前言 在现代应用程序开发中&#xff0c;状态管理是构建复杂且可维护应用的关键。随着应用程序规模的增长&#xff0c;组件之间共享和同步状态变得越来越具有挑战性。如果处理不当&#xff0c;状态管理可能会导致代码混乱、难以调试&#xff0c;并最终影响应用程序的性能和可扩…...

金桔网桥路由版3

上一集我们讲到了二层云交换机&#xff0c;我把在云上搭建的桥接模式的VPN服务器称为二层云交换机。 那么现在我家到办公室的网络结构就变成这样的&#xff0c; 这样的好处就是我的电视盒子通过网线看电视&#xff0c;走的是OpenWrt路由器通过二层云交换机由办公室的OpenWrt路由…...

前沿分享|处理LLM幻觉问题-CoN|笔记链:增强检索增强语言模型的鲁棒性

检索增强语言模型&#xff08;RALMs&#xff09;在大型语言模型的能力方面取得了重大进步&#xff0c;特别是在减少事实幻觉方面&#xff0c;这得益于外部知识来源的利用。 然而&#xff0c;检索到的信息的可靠性并不总是有保证。 检索到无关数据可能导致误导性回答&#xff…...

OpenWrt开发第4篇:设置开发板的IP-基于Raspberry Pi 4B开发板

文/指尖动听知识库-谷谷 文章为付费内容,商业行为,禁止私自转载及抄袭,违者必究!!! 文章专栏:Openwrt开发-基于Raspberry Pi 4B开发板 有时候开发过程中经常会使用其他路由器,很多时候固件烧上去之后板子IP基本都是192.168.1.1,这时就需要修改板子的IP,下面介绍一下板…...

浅谈跨平台框架的演变(H5混合开发->RN->Flutter)

引言 这里分为四个阶段&#xff1a; 第一阶段 &#xff1a; 原生开发 第二阶段 &#xff1a; H5混合开发 第三阶段&#xff1a; 跨平台RN 第四阶段&#xff1a; 跨平台Flutter 正文 第一阶段&#xff1a; 原生开发 开发成本比较大 &#xff1a; 需要Android 和ios 开发两…...

Android数据加密方案

Android数据加密方案 前言 在移动应用开发中,数据安全是一个永恒的话题。Android应用中往往需要存储和传输敏感数据,如用户密码、支付信息、个人隐私等。本文将深入介绍Android平台上的数据加密方案,帮助开发者构建安全可靠的数据保护机制。 基础知识 1. 加密算法分类 …...

深入理解traceroute命令及其原理

traceroute 是一个网络诊断工具&#xff08;Windows上叫tracert&#xff09;&#xff0c;用于显示数据包从本地主机到远程主机经过的路由&#xff08;跳数&#xff09;。它可以帮助您了解数据包在网络中的传输路径&#xff0c;以及每跳的延迟情况。这对于网络故障排除、分析网络…...

PostgreSQL_安装

目录 前置&#xff1a; 安装过程&#xff1a; 1 下载软件 2 创建安装文件夹和放置数据的文件夹 3 双击安装 4 连接服务 前置&#xff1a; PostgreSQL 15 windows 10 专业版 安装过程&#xff1a; 1 下载软件 PostgreSQL: Downloads 大小326MB 2 创建安装文件夹和放…...

leetcode684.冗余连接

依旧是并查集问题&#xff0c;这道题目正好给定顶点数目和边的数目相等&#xff0c;只要找到其中的一条边删除将图转化为树就行&#xff0c;而这个多余的边起始就是并查集的添加过程中二者是同一个根&#xff08;两个顶点早已经联通了&#xff09;&#xff0c;这时直接返回这条…...

Python学习第二十一天

爬虫 概念 网络爬虫&#xff08;Web Crawler&#xff09;&#xff0c;也称为网络蜘蛛&#xff08;Web Spider&#xff09;&#xff0c;是一种自动化程序&#xff0c;用于从互联网上抓取数据。爬虫通过模拟浏览器行为&#xff0c;访问目标网站并提取所需的信息&#xff0c;然后…...

matlab近似计算联合密度分布

在 Matlab 中&#xff0c;当A和B是两个序列数据时&#xff0c;可以通过以下步骤来近似求出A大于B的概率分布&#xff1a;数据准备&#xff1a;确保序列A和B具有相同的长度。如果长度不同&#xff0c;需要进行相应的处理&#xff08;例如截取或插值&#xff09;。计算A大于B的逻…...