DDos系列攻击原理与防御原理

news/2024/4/29 10:55:15/文章来源:https://blog.csdn.net/qq_45022073/article/details/137105980

七层防御体系

静态过滤

命中黑名单

  • 对确定是攻击的流量直接加入黑名单(源地址命中黑名单直接丢弃,缺乏机动性和扩展性)

畸形报文过滤

畸形报文攻击

  • TCP包含多个标记位,排列组合有规律

• 现象:TCP标记位全为1

  • 报文被分片后,重组计算无法进行
  • 攻击者使用源地址为127.0.0.0网段的地址,对攻击主机发起流量,被攻击主机对127.0.0.0回应报文,导致某些系统处理127.0.0.0的地址会出错,导致系统访问缓慢。

扫描窥探报文过滤

扫描窥探攻击

  • 探测网络中存在的某些主机的IP地址以及开放的端口号,为进一步的攻击提供前提条件
  • 防御手段:监控某个目的主机在单位时间内端口和地址变化的阈值。

源合法认证检测机制

虚假源流量

  • 通过大量伪造的地址去想被攻击主机发起流量

基于会话检测机制

异常连接威胁

  • 报文在交互过程中,某些标记不符合协议工作机制的报文进行拦截
  • 防范手段:检测报文序列号、确认号等信息从而判断是否是异常连接。

特征识别过滤

具有明显攻击特征的流量

  • 针对操作系统或者应用程序的漏洞流量进行丢弃,需要防火墙能对协议特征进行识别。

流量整形

突发流量

DDoS攻击防范技术

1、首包丢弃

有些攻击是不断变换源IP地址或者源端口号发送攻击报文,通过首包丢弃,可以有效拦截这部分流量。首包丢弃与源认证结合使用,防止虚假源攻击。

处理过程:(根据三元组实现)

(1)、开启首包丢弃功能后,SYN、TCP、DNS、UDP、ICMP各类流量超过阈值后,设备会丢弃报文首包。

(2)、基于三元组(源IP地址、源端口和协议)来匹配报文,并通过报文的时间间隔来判断首包。

(3)、当报文没有匹配到任何二元组时,认为该报文是首包,将其丢弃。

(4)、当报文匹配到某三元组,则计算该报文与匹配该三元组的上一个报文到达的时间间隔。

(5)、如果时间间隔低于设定的下限,或者高于设定的上限,则认为是首包,将其丢弃:如果时间间隔落在配置的上限和下限之间,则认为是后续包,将其放行。

2、阻断和限流

通过服务学习或经验发现网络中根本没有某种服务或某种服务流量很小,则可以分别采用阻断和限流方法来防御攻击。

(1)阻断:在自定义服务策略中表示将匹配自定义服务的报文全部丢O弃;在默认防御策略中表示将自定义服务以外的此协议报文全部丢弃。

(2)限流:在自定义服务策略中表示将匹配自定义服务的报文限制在0阌值内,丢弃超过闽值的部分报文;在默认防御策略中表示将自定义服务以外的此协议报文限制在阈值内,丢弃超过阈值的部分报文。

3、静态指纹过滤

通过配置静态指纹,对命中指纹的报文进行相应的处理,从而对攻击流量进行防御。

(1)、TCP/UDP/自定义服务可基于载荷(即报文的数据段)提取指纹。

(2)、DNS报文针对域名提取指纹。

(3)、HTTP报文针对通用资源标识符URI(Uniform Resource Identifier)提取指纹。

  • TCP源检测技术能探测访问者是否是真实可用的源,UDP不包含三次握手,基于UDP的DDoS攻击需要使用“指纹”来实现防范,UDP的DDoS报文载荷内容相对固定
  • DNS协议的流量重要又特殊,工作在两种传输层协议之上(既可以用TCP又可以用UDP),通常就是根据DNS行为来做防御处理

基于TCP的DDoS攻击

TCP正常建立连接和断开连接的过程

• 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

(1)第一次握手:建立连接时,客户端发送SYN包(SYN=J)到服务器,并进入SYN SENT状 态,等待服务器确认。

(2)第二次握手:服务器收到SYN包,必须发出ACK包(ACK=J+1)来确认客户端的SYN包,同时自己也发送一个SYN包(SYN=K),即SYN-ACK包,此时服务器进入SYN RCVD状态。

(3)第三次握手:客户端收到服务器的SYN-ACK包,向服务器发送确认包ACK(ACK=K+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。如果服务器发出的SYN-ACK包异常,客户端会发送一个RST包给服务器,服务器重新回到LSTEN监听状态。

• TCP采用四次握手来关闭一个连接。第一次握手:客户端发送FIN包(FIN=M)到服务器,表示客户端没有数据要向服务器发送了,同时进入FIN WAIT 1状态,等待服务器确认。第二次握手:服务器收到FIN包,必须发送ACK包(ACK=M+1)来确认客户端的FIN包,但服务器数据还没传完,所以不发送FIN包,此时服务器进入LAST WAIT状态。第三次握手:当服务器没有数据要向客户端发送时,服务器发送FIN包(FIN=N)到客户端,并进入LAST ACK状态,等待客户端最终确认。第四次握手:客户端收到FIN包,发出ACK包(ACK=N+1)来确认服务器的FIN包,进入TIME WAIT状态,等待连接完全断掉。此包发送完毕,服务器进入CLOSED状态完成四次握手,双方连接断开。

  • TCP的确认机制+1规律太好找,容易被伪造,就进行了一个伪随机的确认,每一次发送的序列号+这一个报文的PDU,就是下一次发送报文的序列号,只能建立会话的这两台主机才能找到这个规律。

4、SYN Flood攻击(TCP握手第一个报文)

  • 攻击者会大量伪造源地址是假的(第一次SYN攻击),如果没有抗DDos设备,服务器回第二个握手连接,这个时候服务器会缓存大量的TCP半开连接(消耗服务器资源)
  • 防御机制:基于传输层协议的源合法性验证技术

• 利用TCP协议原理,针对TCP类Flood进行检测和防御。用户进行TCP连接,清洗设备回应经过构造的SYN-ACK报文,通过用户的反应来判断此用户是否正常。主要用于来回路径不一致的情况下。

• 只是抗DDos设备把流量抗下来了,链路带宽还是会受到影响的,DDos只能是把危害降到最低,不能完全解决。

5、SYN-ACK Flood攻击(TCP握手第二个报文)

  • 被攻击对象接收大量SYN-ACK,会检查自己会话表,是自己哪个会话响应报文,这个查会话表对服务器性能有影响。
  • 防御机制:清洗设备基于目的地址对SYN-ACK报文速率进行统计,当SYN-ACK报文速率超过阈值时,启动源认证防御

6、ACK Flood攻击(TCP握手第三个报文)

  • 如果端系统在收到一个ACK报文时,如果目的端口未开放,那么端系统会直接向源IP发送RST报文。如果端系统的相关端口是对外开放的,那么其在收到ACK报文时,首先会检查这个ACK报文是否属于TCP连接表中的一个已有连接(这个过程会对端系统主机CPU资源造成一定的消耗),如果是的话,则正常处理如果不属于任何一个已有连接,那么端系统会向源IP发送RST报文

  • 攻击原理:攻击者利用僵尸网络发送大量的ACK报文,冲击网络带宽,造成网络链拥塞;同时被攻击服务器接收到攻击报文后需要检查会话以确认报文是否属于某个会话,如果攻击报文数量庞大,服务器处理性能耗尽,从而拒绝正常服务。
  • 防御原理:
  • (1)、当ACK报文速率超过阈值时,启动会话检查。
  • (2)、如果清洗设备检查到ACK报文没有命中会话,则有两种处理模式:  
    • 1)、“严格模式”:直路部署组网中建议采用”严格模式”。如果清洗设备没有检查到已经建立的会话,直接丢弃报文。
    •  2)、“基本模式”:旁路部署动态引流时,对于引流前已经建立的会话,清洗设备上会检查不到会话,此时建议采用“基本模式”,即当连续一段时间内ACK报文速率超过阈值时,启"基本模式动会话检查,设备会先让几个ACK报文通过,建立会话,然后对会话进行检查确定是否丢弃报文。
  • (3)、如果清洗设备检查到ACK报文命中会话,则检查会活创建原因。
  • (4)、如果会话是由SYN或SYN-ACK报文创建的,则允许该报文通过。
  • (5)、如果会话是由其他报文创建的(例如ACK报文),则查看报文检查结果,列号正确的报文允许通过,不正确的报文则被丢弃。
  • (6)、载荷检查是清洗设备对ACK报文的载荷进行检查,如果载荷内容全一致(载荷内容全为1等),则丢弃该报文。
  • (7)、只有启用了"会话检查”,才能启用”载荷检查”,对会话检查通过的报文进行载荷检查。

7、FIN/RST Flood攻击(存在故意捣乱行为)

  • FIN断开TCP连接RST进行TCP重连
  • 攻击原理

  • 防御FIN/RST攻击的方法就是进行会话检查

防御原理:当FIN/RST报文速率超过阈值时,启动会话检查。

(1)、如果清洗设备检查到FIN/RST报文没有命中会话,直接丢弃报文。

(2)、如果清洗设备检查到FIN/RST报文命中会话,则检查会话创建原因。

(3)、如果会话是由SYN或SYN-ACK报文创建的,则允许该报文通过。

(4)、如果会话是由其他报文创建的(例如ACK报文),则查看报文检查结果,序列号正确的报文允许通过,不正确的报文则被丢弃。

基于UDP的DDoS攻击

8、UDP Flood关联TCP类服务攻击

  • 当UDP流量与TCP类服务有关联时,通过防御TCP类服务来防御UDP Flood。
  • 攻击原理:攻击者通过僵尸网络向目标服务器发起大重的UDP报文,这种UDP报文通常为大包且速率非常快,从而造成服务器资源耗尽,无法响应正常的请求,严重时会导致链路拥塞。
  • 防御原理

• 针对TCP流量进行源检测,源认证通过后,后续这个源地址发送的UDP报文进行放行。

  • 很多流量都是由手机端发起的,手机端应用先用TCP做身份验证后再用UDP交互数据。

• UDP与TCP流量关联

9、载荷检查和指纹学习

  • 使用载荷检查和指纹学习方法防御具有规律的UDPFlood攻击。
  • 大多数UDP的DDoS载荷比较固定单一
  • 攻击原理攻击者通过僵尸网络向目标服务器发起大量的UDP报文,这种UDP报文通常为大包且速率非常快,从而造成服务器资源耗尽,无法响应正常的请求,严重时会导致链路拥塞。
  • 防御原理:

  • (1)、载荷检查:当UDP流量超过阈值时,会触发载荷检查。如果UDP报文数据段内容完全一样,例如数据段内容都为1,则会被认为是攻击而丢弃报文。
  • (2)、指纹学习:当UDP流显超过阈值时,会触发指纹学习,指纹由清洗设备动态学习生成,将攻击报文的一段显著特征学习为指纹后,匹配指纹的报文会被丢弃。
  • UDP包通常比较大,速度比较快,可以针对UDP报文做限速,一个服务器既能支持TCP服务又支持UDP服务,TCP和UDP其中一个过多都会影响另一方。

基于DNS的DDoS攻击

DNS交互过程

  • 1、客户端访问某个域名,发送DNS请求信息(带有解析的域名信息)。
  • 2、本地DNS服务器收到请求后,先在自己缓存中找对应IP地址:  
    • 1)、本地缓存有的话直接回应解析过程就完毕了。
    • 2)、本地缓存没有的话,缓存服务器就不是对应域的解析服务器(不负责对请求域名做解析),DNS服务器会向上级授权服务器为用户提交域名解析请求。授权服务器有的话会针对缓存服务器回应DNS请求,缓存服务器会记录这个域名的DNS信息,把应答结果告诉用户。

• 这个过程会发生很多攻击比如:1、客户端发起大量乱七八糟的域名解析请求,缓存服务器本地没有就会都丢给授权服务器。

  • DNS是互联网中很重要的基础服务
  • 如果DNS受到了DDoS,无法进行域名解析,客户端就无法访问域名的业务。

当用户上网访问某个网站时,会向DNS缓存服务器发出该网站的域名,以请求其IP地址,当DNS缓存服务器查找不到该域名与IP地址对应关系时,它会向授权DNS服务器发出域名查询请求,为了减少Interet上DNS的通信量,DNS缓存服务器会将查询到的域名和IP地址对应关系存体在自己的本地缓存中。后续再有主机清求该域名时,DNS缓存服务器会直接用缓存区中的记录信息回应,直到该记录老化,被删除。

1、缓存服务器比较常见的攻击包括:

(1)、DNS Request Flood攻击

(2)、DNS Reply Flood攻击

(3)、未知域名攻击

(4)、DNS缓存投毒攻击

(5)、异常DNS报文攻击

2、授权服务器比较常见的攻击包括:

(1)、DNS Request Flood攻击

(2)、未知域名攻击

(3)、DNS缓存投毒攻击

10、DNS Request Flood攻击

  • 攻击原理:。针对缓存服务器攻击。针对授权服务器攻击DNS Request Flood攻击源可能是虚假源,也可能是真实源针对不同类型的攻击源,采取的防御方式也不同。
  • DNS这种协议,工作可以基于TCP也可以基于UDP。TCP:可以判断是真实还是虚假。UDP:不太好判断是真实还是虚假。

• 使用UDP的场景

• 默认情况下解析DNS是用UDP解析,UDP解析速度快,效率高。DNS本身报文也小。

• DNS主辅同步技术,避免DNS单点失效,主DNS和辅DNS进行数据库同步的时候使用TCP。

  • 针对虚假源攻击防御

• 基本模式:抗DDoS设备让客户端和自己使用TCP进行解析,发TCP的RST让客户端与真实DNS服务器进行重连使用“基本模式”

• 这样正常客户端会使用TCP和DNS服务器建立会话,会导致DNS服务器维护大量会话,消耗资源。

• 增强模式:抗DDoS设备将真实客户端的TCP报文转发给DNS服务器的时候使用UDP报文方式进行,DNS服务器发UDP的应答给抗DDoS,抗DDoS的设备相当于做了代理(TCP和UDP之间代理)。

• 这样的话缓存都让抗DDoS设备抗下来了。

  • 针对真实源攻击防御

• 针对真实源攻击:如果是真实源攻击,经过上述防御过程后,通过的DNS报文还很大,则可以继续采用以下方式进行防御:

1、DNS请求报文限速

        (1)、指定域名限速

        (2)、源IP限速

2、Anti-DDoS设备还支持对异常DNS报文的检查,根据预定义的规则分别从以下三个方面进行检测:

        (1)、DNS报文的格式

        (2)、DNS报文的长度

        (3)、DNS报文的TTL

HTTP&HTTPS类报文攻击防御

HTTP类型报文攻击与防御

  • 防御HTTP Flood攻击的方法包括源认证、目的IP的URI检测和指纹学习。
  • 攻击原理:攻击者通过代理或僵尸向目标服务器发起大量的HTTP报文,请求涉及数据库操作的URI或其它消耗系统资源的URI,造成服务器资源耗尽,无法响应正常请求。
  • 防御原理:
  • (1)、HTTP Flood源认证
  • (2)、目的IP的URI检测
  • (3)、指纹学习

11、HTTP慢速攻击

  • 攻击原理:HTTP慢速攻击是利用HTTP现有合法机制,在建立了与HTTP服务器的连接后尽量长时间保持该连接,不释放,达到对HTTP服务器的攻击。

• (1)、HTTP愠速攻击是利用HTTP现有合法机制,在建立了与HTTP服务器的连接后,尽是长时间保持该连接,不释放,达到对HTTP服务器的攻击。常见的攻击有两种:   

         1)、S1ow POST:攻击者发送Post报文向服务器清求提交数据,将总报文长度设置为一个很大的数值,但是在随后的数据发送中,每次只发送很小的报文,这样导致服务器端一直等待攻击者发送数据。    

        2)、Slow headers:攻击者通过GET或者POST向服务器建立连接,但是HTTP头字段不发送结束符,之后发送其他字段进行保活。服务器会一直等待头信息中结束符而导致连接始终被占用。

  • 防御原理:
  • (1)、针对HTTP慢速攻击的特点,Anti-DDoS设备对每秒钟HTTP并发连接数进行检查,当每秒钟HTTP并发连接数超过设定值时,会触发HTTP报文检查,检查出以下任意一种情况,都认定受到HTTP慢速连接攻击,则将该源IP地址判定为攻击源,加入动态黑名单,同时断开此IP地址与HTTP服务器的连接。
  • (2)、连续多个HTTP POST报文的总长度都很大,但是其HTTP载荷长度都很小。
  • (3)、连续多个HTTP GET/POST报文的报文头都没有结束标识。
  • HTTP能建立起来的一定源IP是真实的。

HTTPS类型报文攻击与防御

  • 通过源认证方法来防御HTTPS Flood攻击。
  • 攻击原理:攻击者通过代理、僵尸网络或者直接向目标服务器发起大量的HTTPS连接,造成服务器资源耗尽,无法响应正常的请求。
  • 防御原理:通过源认证对HTTPS攻击进行防御,清洗设备基于目的地址对HTTPS请求报文速率进行统计,当HTTPS请求速率超过阈值时,启动源认证防御。

12、SSL DoS攻击

  • 通过源认证和SSL防御结合防御SSL DoS攻击。
  • 攻击原理SSL握手的过程中,在协商加密算法时服务器CPU的开销是客户端开销的15倍左右。攻击者利用这一特点,在一个TCP连接中不停地快速重新协商。
  • 防御原理:
  • (1)、清洗设备基于目的地址对HTTPS请求报文速率进行统计,当HTTPS请求速率超过阈值时,启动源认证防御和SSL防御:    
    • 1)、源认证  
    • 2)、SSL防御

• SSL防御:在检查周期内,如果某个源IP地址到目的IP地址的协商次数超过最大值,则将此会话标记为异常会话,在异常会活检查周期内,如果异常会话数超过最大值时,判定该源IP地址异常,将该源IP地址加入黑名单。

DDoS的流量不能百分百防御,设备存在漏判误判的情况。

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

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

相关文章

快速熟悉ElasticSearch的基本概念

1.全文检索 全文检索是通过文本内容进行全面搜索的技术。通过全文检索可以快速地在大量文本数据中查找包含特定关键词或者短语的文档,并且返回相关的搜索结果。 检索和查询的区别 检索没有搜索条件边界,检索的结果取决于相关性,相关性计算…

命令模式(请求与具体实现解耦)

目录 前言 UML plantuml 类图 实战代码 模板 Command Invoker Receiver Client 前言 命令模式解耦了命令请求者(Invoker)和命令执行者(receiver),使得 Invoker 不再直接引用 receiver,而是依赖于…

leetcode 25 K 个一组反转链表

leetcode 25 K 个一组反转链表 原题链接 问题 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保…

搜维尔科技:【应急演练】【工业仿真】救援模拟演练可视化仿真项目实施

安全救援综合演练系统是一套面向公共安全事故、预案管理、应急救援模拟演练的虚拟仿真解决方案,它为警察、消防以及专门的应急救援保障部门提供一个综合的应急救援培训和仿真演练平台。平台主要通过设计不同的事故模型和特定的灾难场景,定制不同的应急救…

Java毕业设计-基于springboot开发的游戏分享网站平台-毕业论文+答辩PPT(附源代码+演示视频)

文章目录 前言一、毕设成果演示(源代码在文末)二、毕设摘要展示1、开发说明2、需求分析3、系统功能结构 三、系统实现展示1、系统功能模块2、后台登录2.1管理员功能模块2.2用户功能模块 四、毕设内容和源代码获取总结 Java毕业设计-基于springboot开发的…

neo4j相同查询语句一次查询特慢再次查询比较快。

现象&#xff1a; neo4j相同查询语句一次查询特慢再次查询比较快。 分析&#xff1a; 查询语句 //查询同名方法match(path:Method) where id(path) in [244333030] and NOT path:Constructor//是rpc的方法match(rpc_method:Method)<-[:DECLARES]-(rpc_method_cls:Class) -…

React 应用实现监控可观测性最佳实践

前言 React 是一个用于构建用户界面的 JavaScript 框架。它采用了虚拟 DOM 和 JSX&#xff0c;提供了一种声明式的、组件化的编程模型&#xff0c;以便更高效地构建用户界面。无论是简单还是复杂的界面&#xff0c;React 都可以胜任。 YApi 是使用 React 编写的高效、易用、功…

GK7202V330国科微 GK7202RNCFV330 GOKE

GK7202V330 芯片是国科针对消费类 Camera 市场推出的支持 ISP 和 H.265 编码的新一代消费类 Camera SOC 芯 片。 该芯片集成专用的 ISP&#xff0c;拥有高效的视频编码处理性能&#xff0c;支持 H.265 编码&#xff0c;满足客户各种差异化业务需求。集 成了 RTC、POR、Audio …

【Pt】马灯贴图绘制过程 02-制作锈迹

目录 一、边缘磨损效果 二、刮痕效果 三、边缘磨损与刮痕的混合 四、锈迹效果 本篇效果&#xff1a; 一、边缘磨损效果 将智能材质“Iron Forge Old” 拖入图层 打开“Iron Forge Old” 文件夹&#xff0c;选中“Sharpen”&#xff08;锐化&#xff09;&#xff0c;增大“…

【QT入门】 QListWidget各种常见用法详解之图标模式

往期回顾 【QT入门】 Qt代码创建布局之多重布局变换与布局删除技巧-CSDN博客 【QT入门】 QTabWidget各种常见用法详解-CSDN博客 【QT入门】 QListWidget各种常见用法详解之列表模式-CSDN博客 【QT入门】 QListWidget各种常见用法详解之图标模式 QListWidget有列表和图标两种显…

Python-VBA编程500例-024(入门级)

字符串写入的行数(Line Count For String Writing)在实际应用中有着广泛的应用场景。常见的应用场景有&#xff1a; 1、文本编辑及处理&#xff1a;在编写或编辑文本文件时&#xff0c;如使用文本编辑器或文本处理器&#xff0c;经常需要处理字符串并确定其在文件中的行数。这…

如何在Win10使用IIS服务搭建WebDAV网站并实现无公网IP访问内网文件内容

文章目录 前言1. 安装IIS必要WebDav组件2. 客户端测试3. 使用cpolar内网穿透&#xff0c;将WebDav服务暴露在公网3.1 安装cpolar内网穿透3.2 配置WebDav公网访问地址 4. 映射本地盘符访问 前言 在Windows上如何搭建WebDav&#xff0c;并且结合cpolar的内网穿透工具实现在公网访…

深入MNN:开源深度学习框架的介绍、安装与编译指南

引言 在人工智能的世界里&#xff0c;深度学习框架的选择对于研究和应用的进展至关重要。MNN&#xff0c;作为一个轻量级、高效率的深度学习框架&#xff0c;近年来受到了众多开发者和研究人员的青睐。它由阿里巴巴集团开源&#xff0c;专为移动端设备设计&#xff0c;支持跨平…

keil调试仿真退出卡死现象解决办法

更新到keil5版本V5.20之后&#xff0c;目前一直到V5.29版本&#xff0c;都存在一个问题&#xff1a; 退出调试模式时&#xff0c;有可能会卡死&#xff01; 此时需要在任务管理器中结束掉进程才能强制关闭keil工程。 网上查找了很多资料&#xff0c;一种是退出仿真时不能有断…

python读取excel,转换成json格式,for国际化前端菜单

# -*- coding: utf-8 -*-import pandas as pd import json# 读取Excel文件中的数据 excel_file rD:\解析excel\中英.xlsx df pd.read_excel(excel_file)# 生成中文JSON和英文JSON cn_data {} en_data {} pu_data {} special_data_cn {} special_data_en {} special_data…

Flink系列之:Flink SQL Gateway

Flink系列之&#xff1a;Flink SQL Gateway 一、Flink SQL Gateway二、部署三、启动SQL Gateway四、运行 SQL 查询五、SQL 网关启动选项六、SQL网关配置七、支持的端点 一、Flink SQL Gateway SQL 网关是一项允许多个客户端从远程并发执行 SQL 的服务。它提供了一种简单的方法…

HarmonyOS实战开发-实现带有卡片的电影应用

介绍 本篇Codelab基于元服务卡片的能力&#xff0c;实现带有卡片的电影应用&#xff0c;介绍卡片的开发过程和生命周期实现。需要完成以下功能&#xff1a; 元服务卡片&#xff0c;用于在桌面上添加2x2或2x4规格元服务卡片。关系型数据库&#xff0c;用于创建、查询、添加、删…

目前常见的搜索引擎有哪些?

常见的搜索引擎可以分为两类&#xff1a;全网搜索类和平台内搜索。 全网搜索类是指可以在互联网范围内进行搜索的引擎&#xff0c;它们提供了广泛的搜索结果&#xff0c;包括网页、图片、视频、新闻等各种类型的内容。以下是一些常见的全网搜索引擎&#xff1a; 百度&#xff…

蓝桥OJ3514 子串简写 (暴力+二分)

子串简写 一.暴力 思路: 只能通过60%。 从字符串开头遍历&#xff0c;如果遇到c1就进入子遍历&#xff0c;遇到长度大于等于k且以c2结尾的子串就使cnt;遍历完之后再从外遍历找c1。 这种方法的弊端在于&#xff1a;外遍历 #include<bits/stdc.h> using namespace std; con…

MongoDB Atlas维护指南:常见类型、注意事项与窗口设置

为了给Atlas用户更好的产品体验&#xff0c;MongoDB产品团队会进行定期维护。 本文将会介绍&#xff1a; 常见维护项目种类及频率&#xff0c;注意事项维护期间的影响及建议维护窗口设置说明维护告警设置和邮件通知范例 维护窗口常见项目 定期SSL证书轮换软件升级&#xff…