软考-入侵检测技术原理与应用
本文为作者学习文章,按作者习惯写成,如有错误或需要追加内容请留言(不喜勿喷)
本文为追加文章,后期慢慢追加
by 2023年10月
入侵检测技术概念
入侵检测技术是指一种计算机安全技术,旨在监测计算机系统、网络或应用程序的安全状态,以识别和响应任何未经授权的访问、使用、修改或破坏尝试。入侵检测技术主要分为两类:主机入侵检测和网络入侵检测。主机入侵检测系统在特定主机上运行,监视主机上的系统日志、文件系统和进程,识别可能的安全漏洞和攻击。网络入侵检测系统则通过监测网络数据包和流量,来识别可能的攻击或异常行为。入侵检测技术是计算机安全的重要组成部分,用于保护计算机系统和网络不受未授权访问和恶意攻击。
入侵检测模型
通用入侵检测框架模型CIDF 由事件产生器(event generators)、事件分析器(event analyzers)、响应单元response units)和事件数据库(event databases)组成。
- 事件产生器从整个计算环境中获得事件,并向系统的其他部分提供事件
- 事件分析器分析所得到的数据,并产生分析结果
- 响应单元对分析结果做出反应,如切断网络连接、改变文件属性、简单报等应急响应。
- 事件数据库存放各种中间和最终数据,数据存放的形式既可以是复杂的数据库,也可以是简单的文本文件。
入侵检测技术
基于误用的入侵检测技术
误用入侵检测通常称为基于特征的入侵检测方法,是指根据已知的入侵模式检测入侵行为。误用入侵检测依赖于攻击模式库。采用误用入侵检测技术的IDS 产品的检测能力取决于攻击模式库的大小以及攻击方法的覆盖面。
误用检测方法:
- 基于条件概率的误用检测方法:是将入侵方式对应一个事件序列,然后观测事件发生序列,应用贝叶斯定理进行推理,推测入侵行为。
- 基于状态迁移的误用检测方法:利用状态图表示攻击特征,通过检查系统的状态变化发现系统中的入侵行为。
- 基于键盘监控的误用检测方法:监测用户的击键模式,并将其与入侵模式匹配,从而发现入侵行为。
- 基于规则的误用检测方法:将攻击行为或入侵模式表示成一种规则,只要符合规则就认定它是一种入侵行为。
大部分IDS采用的是这种方法。Snort是典型的基于规则的误用检测方法的应用实例。
基于异常的入侵检测技术
异常检测方法是通过计算机或网络资源统计分析,建立系统正常行为的”轨迹”,定义一组系统正常情况的数值然后将系统运行时的数值与所定义的“正常情况相比较,得出是否有被攻击的迹象。
入侵行为集合通常不等同于异常行为集合。异常检测方法的基本思路是构造异常行为集合,从中发现入侵行为。
几种常见的异常检测方法:
- 基于统计的异常检测方法:利用数学统计理论技术,通过构建用户或系统正常行为的特征轮廓。
- 基于模式预测的异常检测方法:根据观察到的用户行为归纳产生一套规则集,构成用户的行为轮廓框架。如果后续的事件显著地背离根据规则预测到的事件,那么系统就可以检测出这种偏离,表明用户操作异常。
- 基于文本分类的异常检测方法:将程序的系统调用视为某个文档中的“字”而进程运行所产生的系统调用集合就产生一个"文档”。对于每个进程所产生的"文档”,利用K 最近邻聚类文本分类算法,分析文档的相似性,发现异常的系统调用,从而检测入侵行为。
- 基于贝叶斯推理的异常检测方法:在任意给定的时刻,测量A1 A2,…An 变量值,推理判断系统是否发生入侵行为。
入侵检测系统组成
入侵检测功能模块组成:数据采集模块、入侵分析引擎模块、应急处理模块、管理配置模块和相关的辅助模块
- 数据采集模块:为入侵分析引擎模块提供分析用的数据,包括操作系统的审计日志、应用程序的运行日志和网络数据包等。
- 入侵分析引擎模块:依据辅助模块提供的信息十如攻击模式),根据一定的算法对收集到的数据进行分析,从中判断是否有入侵行为出现,并产生入侵报警。该模块是入侵检测系统的核心模块。
- 管理配置模块:为其他模块提供配置服务,是iDS 系统中的模块与用户的接口。
- 应急处理模块:发生入侵后,提供紧急响应服务( 教材模棱两可 ),例如关闭网络服务、中断网络连接、启动备份系统等。
- 辅助模块:协助入侵分析引擎模块工作,为它提供相应的信息,例如攻击特征库、漏洞信息等。
IDS分为三大类
第一类:是基于主机的入侵检测系统(简称HIDS)
第二类:是基于网络的入侵检测系统(简称NIDS)
第三类:是分布式入侵检测系统(简称DIDS),从多台主机、多个网段采集检测数据
HIDS优点和缺点
HIDS(Host-based Intrusion Detection System,基于主机的入侵检测系统)可以在主机上部署检测并防范恶意攻击和未经授权访问,相对于网络入侵检测系统(NIDS)具有以下优点和缺点:
优点:
-
HIDS可以监测操作系统和应用程序在主机上的所有活动,能够更准确、详细地分析和识别入侵行为。NIDS则只能从网络流量中分析入侵行为,无法像HIDS一样深入到主机上。
-
HIDS可以在主机上采集更加详细的日志和事件信息,对于入侵事件的排查和还原更为方便。
-
HIDS可以发现消耗系统资源的应用或进程,及时报警,进一步保障系统稳定性。
缺点:
-
HIDS需要在每台主机上部署代理程序或代理模块,管理和维护相对困难,尤其是大型企业中主机数量较多的情况下。
-
HIDS可能会在主机上占用一定的系统资源,对性能和功能等方面可能会存在一定的影响。
-
由于HIDS部署在主机上,如果某些入侵行为已经成功地控制了主机,那么HIDS将无法检测到这类入侵行为。
综上所述,HIDS是一种有效的主机安全防护工具,但是在部署和维护过程中需要注意其不足之处,结合多种安全工具进行综合防御。
NIDS优点和缺点
NIDS(Network-based Intrusion Detection System,基于网络的入侵检测系统)可以监测网络流量,进行入侵检测和防范,相对于主机入侵检测系统(HIDS)具有以下优点和缺点:
-
NIDS可以监测到整个网络中的入侵行为,比HIDS能够覆盖更广泛的系统范围,同时管理维护相对容易。
-
NIDS可以利用专业的入侵检测规则库,实现自动化入侵检测、报警和防范,能够方便地处理大量数据和信息。
-
NIDS能够快速地响应入侵事件,针对流量进行快速的分析和响应,减少系统遭到攻击的损失。
缺点:
-
NIDS无法监测到指定主机本身的入侵行为,例如主机中的内部高危用户等。
-
NIDS对网络带宽和性能会产生一定的影响。
-
NIDS检测规则的准确性和先进性需要根据实际情况进行不断的维护和升级。
综上所述,NIDS可以有效地监测和防范网络威胁,但需要结合HIDS等其他安全工具进行综合防御,避免盲点和漏洞。
Snort开源网络入侵检测系统
Snort是一个基于规则的开源网络入侵检测系统,可以用于监控网络流量,检测和防御网络攻击。Snort使用轻量级网络检测引擎来分析数据包,并根据预定义的规则进行匹配,如果匹配到规则,则会触发相应的警报。
Snort的特点包括:
-
可扩展性:支持插件和自定义规则,可以根据所需的功能进行定制。
-
灵活性:能够监控多种网络协议,包括TCP、UDP、ICMP等,可以适应不同环境下的网络。
-
高性能:使用高效的规则引擎,能够快速地分析数据包并生成警报。
-
开放性:提供了丰富的API和插件接口,可以与其他系统集成使用。
Snort广泛应用于企业、政府和教育机构等组织中,可以发现和防御各种形式的网络攻击,包括端口扫描、DDoS攻击、恶意软件传播等。
Snort可以检测以下几种攻击类型:
-
端口扫描:检测到一个来自于某个IP地址的多个连接请求,这些连接请求的目的端口不同。这可能是一个扫描工具试图找到目标主机上开放的服务。
-
拒绝服务攻击(DDoS):检测到大量的TCP或UDP数据包来自于一个或多个IP地址,这些数据包可能是恶意的,并且会使目标主机的服务不可用。
-
恶意软件传播:检测到来自于已知恶意软件传播源的数据包。
-
网络钓鱼攻击:检测到一个恶意网站的请求,这个网站可能伪装成信任的网站,试图欺骗用户输入敏感信息。
-
Web应用程序攻击:检测到一个来自于Web应用程序的非法请求,这个请求可能是恶意的,试图获取敏感信息或利用Web应用程序中的漏洞。
-
操作系统漏洞利用:检测到来自于一个IP地址的数据包,尝试利用目标主机上的操作系统漏洞执行恶意代码。
总之,Snort可以检测许多不同类型的攻击,包括端口扫描、DDoS攻击、恶意软件传播、网络钓鱼攻击、Web应用程序攻击和操作系统漏洞利用等。
入侵检测主要产品类型
-
网络入侵检测系统(NIDS):它在网络上拦截和监视传输的数据流,检测网络上的恶意流量和活动。它可以分析从网络上收集的数据包,以检测网络攻击和漏洞。
-
主机入侵检测系统(HIDS):它是一种安装在主机上的软件,用于监视和记录主机上的活动,包括文件系统、系统调用、应用程序、用户等。它可以检测主机上的恶意活动并报告给管理员。
-
终端入侵检测系统(EIDS):它安装在终端设备上,例如台式机、笔记本电脑和移动设备等,用于监视和记录终端设备上的活动,包括应用程序、用户、文件、网络流量等。它可以检测终端上的恶意活动并报告给管理员。
-
云入侵检测系统(CIDS):它是一种安装在云中的软件,用于监视和记录云中的活动,包括虚拟机、存储、网络和应用程序等。它可以检测云中的恶意活动并报告给管理员。
-
入侵检测服务(IDSaaS):它是一种基于云的入侵检测服务,由供应商提供。它可以检测云上的恶意活动并报告给管理员。管理员可以通过网络控制台检查报告和处理事件。
总之,入侵检测主要产品类型包括网络入侵检测系统、主机入侵检测系统、终端入侵检测系统、云入侵检测系统和入侵检测服务等。
IDS(入侵检测系统)的部署过程
-
确定需求:在部署 IDS 之前,需要明确需求,明确需要检测的攻击类型、需要保护的资产、安全目标等。
-
选择合适的 IDS 技术:根据需求,选择适合的 IDS 技术,如网络入侵检测系统(NIDS)、主机入侵检测系统(HIDS)等。
-
部署 IDS 传感器:根据需求,选择合适的 IDS 传感器,并选择合适的部署位置。在网络入侵检测系统中,传感器一般部署在网络入口处。在主机入侵检测系统中,传感器部署在需要保护的主机上。
-
配置 IDS 系统:在部署 IDS 传感器后,需要对 IDS 系统进行配置,如设置规则、策略等。
-
集成 IDS 系统:在 IDS 系统部署和配置完成后,需要将其集成到整个安全架构中,与其他安全设备或系统进行协同工作,如与防火墙、入侵防御系统等协同工作。
-
测试和优化:对 IDS 系统进行测试和优化,包括性能测试、规则测试、报警测试、阈值测试等,以提高 IDS 系统的效率和效果。
-
持续监测和维护:持续监测 IDS 系统的运行状态,及时发现并解决问题,以保障 IDS 系统的持续运行和有效工作。
总之,IDS 的部署过程需要根据具体情况进行调整,但上述步骤是 IDS 部署的基本流程。
入侵检测系统应用
Snort规则是一种文本文件,用于描述Snort网络入侵检测系统如何检测和识别网络上的攻击行为。规则由以下四部分构成:
1.规则头部:规则头部包含规则的元数据,如规则ID、规则名、规则描述、分类别等。
2.匹配条件:匹配条件指定了被检查的数据流量包的特征,如源IP地址、目标IP地址、协议、端口等。
3.规则选项:规则选项指定了如何处理匹配条件的数据包,如触发警报、记录日志、阻止流量等。
4.规则内容:规则内容包括了具体用于检测攻击的规则匹配模式,如针对特定的攻击协议或攻击载荷的检测模式。
以下是一些常见的Snort规则:
alert tcp any any -> any 80 (content:"GET"; nocase; http_method; content:"/admin.php" nocase; http_uri; msg:"Attempted admin access";)
以上规则指定当有来自任何来源IP和任何源端口的TCP数据包发送到目标IP地址的80端口,并且该数据包包含HTTP GET请求,且HTTP URI包含“/admin.php”时,触发警报,并在警报中记录“Attempted admin access”的消息。
alert tcp any any -> any any (content:"/bin/bash"; msg:"Shellcode detected!";)
以上规则指定当有任何TCP流量包含字符串"/bin/bash"时,触发警报,并在警报中记录"Shellcode detected!"的消息。
这些规则仅是示例,实际应用中需要根据需求进行定制和修改。
Snort配置模式
Snort有三种配置模式,分别是:
-
Sniffer模式:Sniffer模式只是简单地抓取网络流量并将其输出到屏幕。这种模式最适合对网络进行简单的流量分析,不需要检测和警报功能。
-
Packet Logger模式:Packet Logger模式将捕获的数据包存储在磁盘上以进行离线分析。它需要少量的CPU和内存,适用于需要进行长时间数据包记录和离线分析的场景。
-
NIDS模式:NIDS(Network Intrusion Detection System)模式是最常用的模式,它可检测和报告攻击行为。NIDS模式可以通过自定义规则来检测和识别各种攻击类型,如端口扫描、入侵尝试、恶意软件、Web攻击等。此模式需要更多的CPU和内存资源。
在实际应用中,通常使用NIDS模式,并使用自定义规则来检测特定攻击和安全事件。
snort规则实例
以下是一个示例Snort规则:
alert tcp any any -> any 80 (msg:"Possible web attack detected"; content:"|3C|script|3E|"; nocase;)
这个规则将检测出任何TCP流量,从任何端口到任何使用80端口的Web服务器,并检测到包含“
- “alert”:这个字段指定如果匹配规则,则会发出警报。
- “tcp any any -> any 80”:这个字段指定检测TCP协议,源IP和源端口为任何值,目标IP为任何值,目标端口为80。
- “msg”:这个字段指定当规则触发时在警报中显示的消息。
- “content”:这个字段指定要检测的数据包中的内容,这里是"
alert tcp any any -> $HOME NET $HTTP PORTS (msg:"SQL Injection Attack; content:" or "1'='1"; nocase;classtype:web-application-attack; sid:100001)
规则头和规则选项通过“()“来区分,规则选项内容用括号括起来
(1)动作有alert、log 、pass 、activate 、dynamic,这里是alertAlert-使用选择的报警方法生成一个警报,然后记录(log)这个包。
- Log-只记录不告警
- Pass-匹配的数据包合法,不进行进一步处理和告警
- activate-报警并且激活另一条dynamic规则。
- dynamic-保持空闲直到被一条activate规则激活,被激活后就作为一条log规则执行。
(2)协议tcp 、udp、icmp和ip等,这里是tcp
(3)地址、端口:这里是any any,即匹配任意源ip和任意源端口的数据包。
(4)->规则的方向部分,指定数据包的流向,箭头指向右边表示数据包的目的地,也可以双向。
(5)SHOMENET:这是一个预定义的Snot变量,表示本地网络。可以在配置文件中定义和修改这个变量
(6)$HTTP PORTS:这是另一个预定义的Snort变量,表示HTTP协议的端口号。同样可以定义和修改。
(7)msg:“SQL Injection Attack”: 这是警报消息部分,表示当规则匹配时生成的警报消息。
(8)content”or 1=1": 这是规则的内容匹配部分,表示匹配数据包中是否包含指定的内容,即SQL注入攻击的特定字符串。
(9)nocase: 这是一个选项,表示匹配时不区分大小写。
(10)classtype:web-application-attack: 这是规则的类目,指定规则所属的攻击类型,这里是Web应用程序攻击。(11)sid:100001: 这是规则的唯一标识符部分,用于标识规则的唯一性
总结:当Snot检测到TEP协议的任意源P和源端口的数据包,目的地是本地网络的HTTP端口,并且数据包中包含了SQL注入攻击的特定字符串时Snort将生成一个警报,警报消息为"SQL Injection Attack”,并将该规则分类为Web应用程序攻击,唯一标识符为100001。
相关文章:
软考-入侵检测技术原理与应用
本文为作者学习文章,按作者习惯写成,如有错误或需要追加内容请留言(不喜勿喷) 本文为追加文章,后期慢慢追加 by 2023年10月 入侵检测技术概念 入侵检测技术是指一种计算机安全技术,旨在监测计算机系统、…...

openGaussDatakit让运维如丝般顺滑!
📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…...

整理MongoDB文档:身份验证
整理MongoDB文档:身份验证 个人博客,求关注。 文章概叙 本文主要讲MongoDB在单机状态下的账户配置。理解了MongoDB的语法,对于如何配置用户权限会知道怎么配置,但是请注意给谁配置什么权限才是最重要的。 最小权限原则 系统的每个程序或者…...

逐字稿 | 视频理解论文串讲(下)【论文精读】
1 为什么研究者这么想把这个双流网络替换掉,想用3D 卷积神经网络来做? 大家好,上次我们讲完了上半部分,就是 2D 网络和一些双流网络以及。它们的。变体。今天我们就来讲一下下半部分,就是 3D 网络和 video Transformer…...

【C++入门:C++世界的奇幻之旅】
1. 什么是C 2. C发展史 3. C的重要性 4. C关键字 5. 命名空间 6. C输入&输出 7. 缺省参数 8. 函数重载 9. 引用 10. 内联函数 11. auto关键字(C11) 12. 基于范围的for循环(C11) 13. 指针空值---nullptr(C11)05. 1. 什么是C C语言是结构化和模块化的语言&…...

rancher2.6.4配置管理k8s,docker安装
docker快速安装rancher并管理当前k8s集群。 1、拉镜像 docker pull rancher/rancher:v2.6.4 2、启动rancher 启动很慢 --privileged必须拥有root权限,并挂载卷 docker run --privileged -d --restartunless-stopped -p 80:80 -p 443:443 -v /usr/local/docker_vo…...

Python---练习:使用while嵌套循环打印 9 x 9乘法表
案例 使用while嵌套循环打印 9 x 9乘法表 思考 之前做过打印出三角形,那个三角形是5行的,这次打印9行的三角形。可以先使用while嵌套循环打印9行的直角三角形 相关链接Python---练习:打印直角三角形(利用wihle循环嵌套…...

仅手机大小!极空间T2随身数据魔盒发布:既是NAS 又是U盘
今天极空间召开新品发布会,带来了极空间T2随身数据魔盒,售价1999元起。 极空间T2随身数据魔盒体积仅手机大小,充电宝可供电。既是个NAS,又是个U盘。 其具备双M.2插槽,可安装两块固态硬盘。4G内存支持docker,…...

设计院图纸加密防泄密方案——天锐绿盾加密软件@德人合科技
天锐绿盾是一款专业的企业信息化防泄密软件,主要针对文档全生命周期进行加密保护,包括创建、修改、传输、归档、分发、销毁等全过程。它可以加强外发数据及终端离线的管理,对正常授权外带范围内的数据流程进行规范。设计图纸、文档等成果数据…...

AD9371 官方例程HDL详解之JESD204B TX侧时钟生成 (二)
AD9371 系列快速入口 AD9371ZCU102 移植到 ZCU106 : AD9371 官方例程构建及单音信号收发 ad9371_tx_jesd -->util_ad9371_xcvr接口映射: AD9371 官方例程之 tx_jesd 与 xcvr接口映射 AD9371 官方例程 时钟间的关系与生成 : AD9371 官方…...
实用新型和发明的区别
实用新型专利:是指对产品的形状、构造或者其结合所提出的适于实用的新的技术方案,指对有具体产品结构提出的改进或创造。与发明相比,实用新型专利申请对于技术的要求更低一点,在审查的时候不会进行详细的检索和对比,授…...

Oracle通过透明网关查询SQL Server 报错ORA-00904
Oracle通过透明网关查询SQL Server 报错ORA-00904 问题描述: 只有全表扫描SELECT * 时SQL语句可以正常执行 添加WHERE条件或指定列名查询,查询语句就报错 问题原因: 字段大小写和SQLSERVER中定义的不一致导致查询异常 解决办法: 给…...

MySQL表操作—存储
建表: mysql> create table sch( -> id int primary key, -> name varchar(50) not null, -> glass varchar(50) not null -> ); Query OK, 0 rows affected (0.01 sec) 插入数据: mysql> insert into sch (id,name,…...

Android Studio Gradle中没有Task任务,没有Assemble任务,不能方便导出aar包
Gradle中,没有Assemble任务 1. 在编译aar包或者编译module的时候,没有release包,我们一般都是通过assemble进行编译。 如果在Gradle中找不到task。 可以通过设置File->setting -->Experimental→取消勾选“Do not build Gradle task …...

重复性管理--从泛值到泛型以及泛函(中)--泛函是什么及为什么
在前面, 我们探讨了泛型范式在解决重复性问题上的应用, 在这里, 将继续探讨泛函范式在解决重复性问题上的作用. 注: 关于"泛函(functional)“这一名称, 前面说了, 泛型的本质是"参数化类型”, 那么, 按照这一思路, 泛函的意思也可以理解为"函数的参数化"或…...
Arm推出Total Design生态系统,优化基于Neoverse CSS的SoC开发流程
目录 构建生态系统 将Arm架构小芯片带给大众 关于Arm Total Design的结语 我们最近报道了Arm的Neoverse CSS Genesis N2平台的发布,这是一个近乎现成的计算子系统设计,旨在加快尖端基础设施中定制加速器的上市时间。我们当时评论说,我们可…...
30天精通Nodejs--目录与说明
说明 本系列博客主要针对nodejs零基础的小伙伴,涵盖了Node.js从基础到高级的各个方面。 前置条件,有js的基础,了解css和html。 nodejs版本20.8.1。 目录 基础知识 第1天:基础介绍 第2天:模块系统与npm 第3天&#…...

如何创建前端绘图和图表?
聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…...

Python基础入门例程3-NP3 读入字符串
描述 小白正在学习Python,从变量输出开始。请使用input函数读入一个字符串,然后将其输出。 输入描述: 输入一行字符串。 输出描述: 将读入的变量输出。 示例1 输入: Nowcoder 复制输出: Nowcoder…...
每日一练 | 网络工程师软考真题Day44
1、在IEEE 802.11标准中使用了扩频通信技术,下面选项中有关扩频通信技术说法正确的选项是 。 A.扩频技术是一种带宽很宽的红外通信技术 B.扩频技术就是用伪随机序列对代表数据的模拟信号进行调制 C.扩频通信系统的带宽随着数据…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

莫兰迪高级灰总结计划简约商务通用PPT模版
莫兰迪高级灰总结计划简约商务通用PPT模版,莫兰迪调色板清新简约工作汇报PPT模版,莫兰迪时尚风极简设计PPT模版,大学生毕业论文答辩PPT模版,莫兰迪配色总结计划简约商务通用PPT模版,莫兰迪商务汇报PPT模版,…...

LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...

STM32---外部32.768K晶振(LSE)无法起振问题
晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...