网络防御安全:2-6天笔记

第二章:防火墙 

一、什么是防火墙

防火墙的主要职责在于:控制和防护。

防火墙可以根据安全策略来抓取流量之后做出对应的动作。

二、防火墙的发展

区域:

Trust 区域,该区域内网络的受信任程度高,通常用来定义内部用户所在的网络。

DMZ 区域[2],该区域内网络的受信任程度中等,通常用来定义内部服务器所在的网络。

Untrust 区域,该区域代表的是不受信任的网络,通常用来定义 Internet 等不安全的网络。 

三、防火墙的分类

吞吐量:防火墙同一时间处理的数据量

一、包过滤防火墙:

包过滤防火墙的缺点: 

1,很多安全风险集中在应用层的,所以,仅关注三四层的数据无法做到完全隔离安全风险

2,逐包进行包过滤检测,将导致防火墙的转发效率过低,成为网络中的瓶颈。

在ACL列表中,华为体系下,末尾是没有隐含规则的,即如果匹配不到ACL列表,则认为ACL列 表不存在,之前可以通过,则还可以通过;但是,在防火墙的安全策略中,为了保证安全,末 尾会隐含一条拒绝所有的规则,即只要没有放通的流量,都是不能通过的。

二、应用代理防火墙

应用代理防火墙的缺点:

1,因为需要防火墙进行先一步安全识别,所以,转发效率会降低(原来的三层握手就会变成 6次握手)

2,可伸缩性差:每一种应用程序需要代理的话,都需要开发对应对应的代理功能,如果没有 开发,则无法进行代理。

三、状态检测防火墙

“会话表技术” ---- 首包检测

四、入侵检测系统(IDS)

IDS -- 一种侧重于风险管理的安全机制 --- 滞后性

例:旁路部署

五、入侵防御系统(IPS)

六、防病毒网关(AV)

七、Web应用防火墙(WAF)

web应用防火墙的缺点:因为众多的专用设备导致企业在部署安全防护时需要同时不是大量的设备进行防护,则设备维 护成本大大提高,所有设备都需要对流量进行检测,所以,效率很低

八、统一威胁管理(UTM)

特点:在UTM中,各功能模块是串联工作,所以,检测效率并没有得到提升。但是,因为继承在了一台设备中,所以,维护成本得到降低。

九、下一代防火墙(NGFW)

下一代防火墙的优点:

改进点核心:相较于之前UTM中各模块的串联部署,变为了并联部署,仅需要一次检测,所有 功能模块都可以做出对应的处理。大大提高了工作效率。

十、防火墙的其他功能:

防火墙的控制:

带内管理 --- 通过网络环境对设备进行控制 --- telnet,ssh,web --- 登录设备和被登录设备之间网络需要联通

带外管理:console线,mini usb线

华为防火墙的MGMT接口(G0/0/0)出厂时默认配置的有IP地址:192.168.0.1/24,并且 该接口默认开启了DHCP和web登录的功能,方便进行web管理。

admin/Admin@123

[USG6000V1-GigabitEthernet0/0/0]service-manage all permit --- 开启管理口web登录服务

防火墙的管理员

本地认证:用户信息存储在防火墙上,登录时,防火墙根据输入的用户名和密码进行判断,如果通过验证,则成功登录。

服务器认证:和第三方的认证服务器对接,登录时,防火墙将登录信息发送给第三方 服务器,之后由第三方服务器来进行验证,通过则反馈给防火墙,防火墙放行。一般适用于企业本身使用第三方服务器来存储用户信息,则用户信息不需要重复创建。

服务器/本地认证:优先使用服务器认证,如果服务器认证失败,则也不进行本地认证。只有在服务器对接不上的时候,采用本地认证

信任主机 #1:可以添加一个地址或者网段,则其含义是只有在该地址活着地址段内,可以登录管理设备——最多可以添加10条信息。

防火墙的组网
物理接口

        二层口 --- 不能配IP

                普通的二层口

                接口对 --- “透明网线” --- 可以将两个接口绑定成为接口对,如果流量从一个接口进入,则 必定从另一个接口出去,不需要查看MAC地址表。 --- 其实一个接口也可以做接口对,从该 接口进再从该接口出

                旁路检测接口 --- 主要用于防火墙的旁路部署,用于接收镜像口的流量。

        三层口 --- 可以配IP

虚拟接口:换回接口、子接口、链路聚合、隧道接口等

安全区域:
Trust --- 一般企业内网会被规划在trust区域中

Untrust --- 一般公网区域被规划在untrust区域中我们将一个接口规划到某一个区域,则代表该接口所连接的所有网络都被规划到该区域。

Local --- 指设备本身。凡是由设备构造并主动发出的报文均可以认为是从local区域发出的,凡是需要设备响应并处理的报文均可以认为是由Local区接受。我们无法修改local区的配置,并且我们无法将接口划入该区域。接口本身属于该区域。

Dmz --- 非军事化管理区域 --- 这个区域主要是为内网的服务器所设定的区域。这些服务器本身在内网,但是需要对外提供服务。他们相当于处于内网和外网之间的区域。所以,这个区域就代表是严格管理和松散管理区域之间的部分管理区域。

优先级 --- 1 - 100 --- 越大越优 --- 流量从优先级高的区域到优先级低的区域 --- 出方向(outbound) 流量从优先级低的区域到高的区域 --- 入方向(inbound)

十二、防火墙工作模式

一、路由模式

1,接口,区域配置完成

2,内网配置回包路由

3,是否需要配置服务器映射

4,配置内网访问外网的NAT

5,针对内外网的安全策略

二、透明模式 

三、旁路模式

四、混合模式

如果防火墙既存在工作在路由模式的接口(接口具有IP 地址),又存在工作在透明模式的接口(接口无IP 地址),则防火墙工作在混合模式下。混合模式主要用于透明模式作双机备份的情况,此时启动VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)功能的接口需要配置IP 地址,其它接口不配置IP地址。

第三章、安全策略

传统的包过滤防火墙 --- 其本质为ACL列表,根据数据报中的特征进行过滤,之后对比规制,执行动作。

五元组 :源IP,目标IP,源端口,目标端口,协议 

安全策略:相较于ACL的改进之处在于,首先,可以在更细的颗粒度下匹配流量,另一方面是可以完成内容安全的检测。

安全策略 --- 1,访问控制(允许和拒绝)

                        2,内容检测 --- 如果允许通过,则可以进行内容检测

例: 

需求:DMZ区存在两台服务器,现在要求生产区的设备仅能在办公时间(9:00 -18:00)访问,办公区的设备全天都可以访问。

防火墙的状态检测和会话表

基于流的流量检测 --- 即设备仅对流量的第一个数据包进行过滤,并将结果作为这一条数据流 的“特征”记录下来(记录在本地的“会话表”),之后,该数据流后续的报文都将基于这个 特征来进行转发,而不再去匹配安全策略。这样做的目的是为了提高转发效率。

当web服务器给PC进行回报时,来到防火墙上,防火墙会将报文中的信息和会话表的信 息进行性比对,如果,发现报文中的信息与会话表中的信息相匹配,并且,符合协议规 范对后续报文的定义,则认为该数据包属于PC,可以允许该数据包通过。

会话表 :

会话表本身也是基于5元组来区分流量,会话表在比对时,会通过计算HASH来比较五元组。因为HASH定长,所以,可以基于硬件进行处理,提高转发效率。 因为会话表中的记录只有在流量经过触发时才有意义,所以,如果记录长时间不被触发,则应该删除掉。即会话表中的记录应该存在老化时间。如果会话表中的记录被删除掉之后,相同五元组的流量再通过防火墙,则应该由其首包重新匹配安全策略,创建会话表,如果无法创建会话表,则将丢弃该数据流的数据。

如果会话表的老化时间过长:会造成系统资源的浪费,同时,有可能导致新的会话表项无法正常建立 如果会话表的老化时间过短:会导致一些需要长时间首发一次的报文连接被系统强行中断,影响业务的转发。 (不同协议的会话表老化时间是不同)

状态检测技术

状态检测主要检测协议逻辑上的后续报文,以及仅允许逻辑上的第一个报文通过后创建会话表。可以选择开启或者关闭该功能。

数据通过防火墙的流程

ASPF

FTP --- 文件传输协议

FTP协议是一个典型的C/S架构的协议

Tftp ---简单文件传输协议

1,FTP相较于Tftp存在认证动作

2,FTP相较于Tftp拥有一套完整的命令集

 FTP工作过程中存在两个进程,一个是控制进程,另一个是数据的传输进程,所以,需要使用两个端口号20,21 并且,FTP还存在两种不同的工作模式 --- 主动模式,被动模式

主动模式

被动模式

像FTP这种使用多个端口号的协议叫做多通道协议(双通道协议)

ASPF——针对性应用层的包过滤:用来抓取多通道协议商端口的关键数据包,之后将端口算出,将记录写在server-map表中,相当于开辟了一条隐藏的道路。

防火墙的用户认证

防火墙管理员登录认证 : 检验身份的合法性,划分身份权限

用户认证 :上网行为管理的一部分

上网行为管理三要素:用户,行为,流量  

用户认证的分类

上网用户认证:三层认证 --- 所有的跨网段的通信都可以属于上网行为。正对这些行为,我们希望将行为和产生行为的人进行绑定,所以,需要进行上网用户认证。

入网用户认证: 二层认证 --- 我们的设备在接入网络中,比如插入交换机或者接入wifi后,需要进行认证才能正常使用网络。

接入用户认证 :远程接入 --- VPN --- 主要是校验身份的合法性的

认证方式

本地认证: 用户信息在防火墙上,整个认证过程都在防火墙上执行

服务器认证 : 对接第三方服务器,防火墙将用户信息传递给服务器,之后,服务器将认证结果返回,防火墙执行对应的动作即可

单点登录 :和第三方服务器认证类似。 

认证域:以决定认证的方式和组织结构        

登录名 --- 作为登录凭证使用,一个认证域下不能重复

显示名 --- 显示名不能用来登录,只用来区分和标识不同的用户。如果使用登录名区分,则也可以不用写显示名。显示名可以重复

账号过期时间 --- 可以设定一个时间点到期,但是,如果到期前账号已登录,到期后,防火墙不会强制下线该用户。

允许多人同时使用该账号登录

        私有用户 --- 仅允许一个人使用,第二个人使用时,将顶替到原先的登录

        公有用户 --- 允许多个人同时使用一个账户

IP/MAC绑定 --- 用户和设备进行绑定(IP地址/MAC地址) 

单向绑定 --- 该用户只能在这个IP或者这个MAC或者这个IP/MAC下登录,但是,其他用户可以在该设备下登录

双向绑定 --- 该用户只能在绑定设备下登录,并且该绑定设备也仅允许该用户登录

安全组和用户组的区别 --- 都可以被策略调用,但是,用户组在调用策略后,所有用户组成员以及子用户组都会生效,而安全组仅组成员生效,子安全组不生效。 

认证策略 


Portal : 这是一种常见的认证方式。我们一般见到的网页认证就是portal认证。我们做上网认证,仅需要流量触发对应的服务时,弹出窗口,输入用户名和密码进行认证。

免认证 :需要在IP/MAC双向绑定的情况下使用,则对应用户在对应设备上登录时,就可以选择免认证,不做认证。

匿名认证:和免认证的思路相似,认证动作越透明越好,选择匿名认证,则登录者不需要输入用户名和密码,直接使用IP地址作为其身份进行登录。

认证域

 

如果这里的上网方式选择protal认证,则认证策略里面也要选择portal认证。

如果这里的上网方式选择免认证或者单点登录,则认证策略中对应动作为免认证。

如果认证策略中选择的是匿名认证,则不触发这里的认证动作。

不同的认证域之间是或的关系

防火墙的NAT

静态NAT --- 一对一

动态NAT --- 多对多

NAPT --- 一对多的NAPT --- easy ip --- 多对多的NAPT

服务器映射

源NAT --- 基于源IP地址进行转换。我

们之前接触过的静态NAT,动态NAT,NAPT都属于源NAT,都是针对源IP地址进行转换的。源NAT主要目的是为了保证内网用户可以访问公网

目标NAT --- 基于目标IP地址进行转换。我们之前接触过的服务器映射就属于目标NAT。是为了保证公网用户可以访问内部的服务器

双向NAT --- 同时转换源IP和目标IP地址

 配置黑洞

配置黑洞路由 --- 黑洞路由即空接口路由,在NAT地址池中的地址,建议配置达到这个地址指向空接口的路由,不然,在特定环境下会出现环路。(主要针对地址池中的地址和出接口地址不再同一个网段中的场景。)

允许端口地址转换

决定了使用的是动态NAT还是NAPT的逻辑

动态NAT创建完后,触发访问流量后会同时生成两条server-map的记录,其中一条是反向记录。反向记录小时前,相当于是一条静态NAT记录,外网的任意地址,在安全策略放通的情况下,是可以访问到内网的设备。

基于端口的NAT转换,是不会生成server-map表的。 

NAT类型 --- 五元组NAT --- 针对源IP,目标IP,源端口,目标端口,协议 这五个参数识别出的数据流进行端口转换

三元组NAT --- 针源IP,源端口,协议 三个参数识别出的数据流进行端口转换

三元组

P2P --- peer to peer

因为P2P应在端口转换的情况下,识别五元组,将导致P2P客户端之间无法直接访问,不符合 五元组的筛选条件,所以,这种场景下可以使用三元组NAT,放宽筛选条件,保证P2P客户端 之间可以正常通信。

目标NAT

服务器映射:

安全区域 --- 值的是需要访问服务器的设备所在的区域。

源NAT在安全策略之后执行,目标NAT在安全策略之前执行(因为自动生成的安全策略的目标 地址是转换后的地址,说明需要先进行转换,再触发安全策略)

双向NAT

多出口NAT

源NAT

        第一种:根据出接口,创建多个不同的安全区域,再根据安全区域来做NAT

        第二种:出去还是一个区域,选择出接口来进行转换

目标NAT

        第一种:也可以分两个不同的区域做服务器映射

        第二种:可以只设置一个区域,但是要注意,需要写两条策略分别正对两个接口的地址 池,并且,不能同时勾选允许服务器上网,否则会造成地址冲突

防火墙的智能选路

就近选路:我们希望在访问不同运营商的服务器时,通过对运营商的链路,这样。可以提高通信效率,避免绕路。

传统的路由,仅基于数据包的目标IP地址查找路由表。仅关心其目标,所以,在面对一些特殊的需求时,传统路由存在短板,缺乏灵活性,适用场景比较单一。 策略路由本身也是一种策略,策略主要先匹配流量,再执行动作。策略路由可以从多维 度去匹配流量,之后,执行的动作就是定义其转发的出接口和下一跳。策略路由末尾隐 含一条不做策略的规则,即所有没有匹配上策略路由的流量,都将匹配传统路由表进行 转发。

如果存在多条策略路由,则匹配规则也是自上而下,逐一匹配,如果匹配上了,则按照 对应动作执行,不再向下匹配;

DHCP优先级:相当于在数据包中设定其转发的优先级(利用的是IP头部中tos字段), 之后下游设备会根据优先级来差异化保证流量的通过。

动作: 转发——可以定义其转发的方式

转发其他虚拟系统——VRF

不做策略路由

监控——当策略是单出口时,如果这里写的下一跳和出接口不可达,报文将直接被FW丢 弃。为了提高可靠性,我们可以配置针对下一跳的监控,即使下一跳不可达,也可以继 续查找本地路由表,而不是直接丢弃。

智能选路:全局路由策略

基于链路带宽的负载分担

基于链路带宽的负载分担会按照多条链路的带宽比例来分配流量。并且,如果配置的过 载保护阈值,则一条链路达到过载保护阈值之后,除了已经创建会话表的流量依然可以 从该接口通过外,该接口将不再参与智能选路,需要新建会话表的流量将从其余链路中 按照比例转发。

会话保持:开启该功能后,流量首次通过智能选路的接口后,会创建会话表,后续命 中会话表的流量都将通过同一个接口来进行转发,选择源IP和目的IP的效果时,所有相 同源IP或者目标IP的流量将通过同一个接口转发。(应对于希望链路频繁切换的场景)

在链路接口中可以配置就近选路。

基于链路质量进行负载分担

丢包率:FW会发送若干个探测报文(默认5个),将统计丢包的个数。丢包率等于回 应报文个数除以探测报文个数。丢包率是最重要的评判依据。

时延:应答报文接受时间减去探测报文发送时间。FW会发送若干个探测报文,取平均 时延作为结果进行评判

延时抖动:两次探测报文时延差值的绝对值。FW会发送若干个探测报文,取两两延时 抖动的平均值。

首次探测后会将结果记录在链路质量探测表中,之后,将按照表中的接口来进行选路。 表中的老化时间结束后,将重新探测。

基于链路权重进行负载分担

权重是由网络管理员针对每一条链路手工分配的,分配之后,将按照权重比例分配流 量。

基于链路优先级的主备备份

优先级也是由网络管理员针对每一条链路手工分配的。

执行逻辑: 1,接口没有配置过载保护:

优先使用优先级最高的链路转发流量,其他链路不工作。直到优先级最高的链路故 障,则优先级次高的链路开始转发流量。其余链路依旧不工作。

                 2,接口配置了过载保护: 优先使用优先级最高的链路转发流量,其他链路不工作;如果最高的链路达到或超 过保护阈值,则优先级次高的链路开始工作。

DNS透明代理

DNS透明代理的前提是开启就近选路

防火墙的可靠性:

防火墙和路由器在进行可靠性备份时,路由器备份可能仅需要同步路由表中的信息就可以了, 但是,防火墙是基于状态检测的,所以,还需要同步记录状态的会话表等。所以,防火墙需要 使用到双机热备技术。

双机:目前防火墙的双机热备技术仅支持两台设备

热备:两台设备同时运行,在一台设备出现故障的情况下,另一台设备可以立即替代 原设备。

VRRP技术

虚拟路由器冗余协议——“实的不行来虚的”

Initialize:在VRRP中,如果一个接口出现故障之后,则这个接口将进入到该过渡状态

VRRP备份组之间是相互独立的,当一台设备上出现多个VRRP组时,他们之间的状态无法 同步。

VGMP:VRRP Group Management Protocol

华为私有协议:这个协议就是将一台设备上的多个VRRP组看成一个组,之后统一进行 管理,统一切换的协议。以此来保证VRRP组状态的一致性。

接口故障切换场景:

在防火墙的双机热备中,我们不论时VRRP组还是VGMP组,主备的叫法发生了变化,主 统一被称为Active,备被称为Standby

1,假设主设备的下联口发生故障,则这个接口的vrrp状态将由原来的Active状态切换为 initialize状态。(这种情况下,按照VRRP自己的机制,主设备将无法发送周期保活报文, 则备设备在超过超时时间后将切换为主的状态。但是,因为这里启用VGMP在,则VRRP 切换状态将由VGMP接管,VRRP的机制名存实亡。)

2,VGMP组发现VRRP组出现变化,将降低自身的优先级。(说明,在VGMP组中,也 存在优先级的概念。一开始,每台设备中都会存在两个VGMP组,一个叫做Active组, 另一个叫做Standby组。Active组初始的默认优先级为65001,Standby组初始的默认 优先级为65000(不同版本的防火墙,这个优先级的定义不同)。一开始,我们FW1将 两个VRRP组都拉入VGMP_ACTIVE组中,因为ACTIVE组的状态时active,所以,里面 两个vrrp组的状态也是active(VGMP组的状态决定了VRRP组的状态),FW2同理。当 一个VRRP组的状态变为initialize,则VGMP则的优先级-2。)之后,原主设备会发送一 个VGMP请求报文给对端,里面包含了自己当前变化后的优先级。

3,当原备设备接收到请求报文后,看到里面的优先级时64999,而低于自身的65000,则会将自己的VGMP_STANDBY组的状态由原来的standby切换为active。同时,发送 一个同意请求报文给原主设备。

4,原主设备接收到对方的应答报文之后,将会把自身VGMP_ACTIVE组的状态由原来的 ACTIVE切换为STANDBY。

5,在原备设备发送应答报文的同时,因为其VGMP组的状态切换,所以,其内部的 VRRP组状态也将由原来的standby转换为avtive。原主设备在接受到对方的应答报文之 后,因为将其VGMP组状态切换,所以,同时将其内部的VRRP组状态由原来的active状 态切换为standby状态(注意,故障接口依旧保持init的状态。)

6,原备设备会通过接口向上下联链路发送免费ARP报文,切换交换机的MAC地址表。 流量将被切换到原被设备上。

HRP:Huawei Rwdundancy Protocol——华为冗余协议

HRP备份有一个前提,就是两台设备之间必须专门连一根用于备份的线路,这跟线路我 们称为心跳线(广义上,任何两台设备之间的链路都可以叫做心跳线) 心跳线的接口必须是一个三层接口,需要配置对应的IP地址。这条备份数据的链路不受 路由策略限制(直连场景。非直连场景依然需要配置安全策略。) HRP协议本身算是VGMP协议的一部分 HRP的心跳线也会传递心跳报文,用于检测对端是否处于工作状态。这个周期时间默认 1s,逻辑和vrrp一样,只有主设备会周期发送,备设备仅监听即可,如果在三个周期 内,都没有收到HRP的心跳报文,则将认定原主设备故障,则将进行失效判断,认定自 身为主。 VGMP的报文也是通过这条心跳线发送的。

配置信息:

策略,对象,网络里面的一些配置都属于配置信息。(接口IP地址,路由 之类的不同步,因为这些是需要在双机组建之前配置的)

状态信息:

备份方式:

1.自动备份

默认开启自动备份,可以实时备份配置信息。但是,自动备份不能立即同步状态信息。 一般是在主设备上状态生成后一段时间(10s左右)同步到备设备上。

2.手工备份

由管理员手工触发,可以立即同步配置信息以及状态信息。

3.快速备份

该模式仅使用在负载分担的工作方式下。 因为负载分担的场景下,两台设备都需要处于工作状态,为了避免因为状态信息同步不 及时,导致业务流量中断,所以,该场景下,默认开启快速备份。 快速备份可以实时同步状态信息。但是,该方式不同步配置信息。

各场景过程分析

1,主备形成场景

2,主备模式下,接口故障切换场景

3,主备场景,主设备故障切换:主故障之后,将无法周期发送HRP心跳报文,则备设备监 听超时,进行设备状态的切换。

4,主备场景,主设备接口故障恢复切换

没有开启抢占——没有抢占则原主设备保持备份状态。

开启抢占:

5,负载分担

6,负载分担接口故障场景

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

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

相关文章

单片机介绍

本文为博主 日月同辉,与我共生,csdn原创首发。希望看完后能对你有所帮助,不足之处请指正!一起交流学习,共同进步! > 发布人:日月同辉,与我共生_单片机-CSDN博客 > 欢迎你为独创博主日月同…

electron-builder vue 打包后element-ui字体图标不显示问题

当使用electron打包完成的时候,启动项目发现使用的element-ui字体图标没显示都变成了小方块,并出现报错,请看下图: 解决方法: 在vue.config.js中设置 customFileProtocol字段:pluginOptions: {electronBui…

两个近期的计算机领域国际学术会议(软件工程、计算机安全):欢迎投稿

近期,受邀担任两个国际学术会议的Special session共同主席及程序委员会成员(TPC member),欢迎广大学界同行踊跃投稿,分享最新研究成果。期待这个夏天能够在夏威夷檀香山或者加利福尼亚圣荷西与各位学者深入交流。 SERA…

防御保护常用知识

防火墙的主要职责在于:控制和防护 --- 安全策略 --- 防火墙可以根据安全策略来抓取流量之 后做出对应的动作 防火墙分类主要有四类: 防火墙吞吐量 --- 防火墙同一时间能处理的数据量多少 防火墙的发展主要经过以下阶段; 传统防火墙&#xf…

格子表单GRID-FORM | 嵌套子表单与自定义脚本交互

格子表单/GRID-FORM已在Github 开源,如能帮到您麻烦给个星🤝 GRID-FORM 系列文章 基于 VUE3 可视化低代码表单设计器嵌套表单与自定义脚本交互 新版本功能 🎉 不觉间,GRID-FORM 已经开源一年(2023年1月29日首次提交…

大数据StarRocks(八):资源隔离实战

前言 自 2.2 版本起,StarRocks 支持资源组管理,集群可以通过设置资源组(Resource Group)的方式限制查询对资源的消耗,实现多租户之间的资源隔离与合理利用。在 2.3 版本中,StarRocks 支持限制大查询&#…

HAL STM32+EC11编码器实现增减调节及单击、双击、长按功能

HAL STM32EC11编码器实现增减调节及单击、双击、长按功能 📺实现效果演示: 📘内容提要 📝本文主要实现,通过STM32 HAL库开发,实现的EC11编码器功能,按键结合状态机思想实现的拓展单击、双击、…

Linux之快速入门(CentOS 7)

文章目录 一、Linux目录结构二、常用命令2.1 切换用户2.2查看ip地址2.3 cd2.4 目录查看2.5 查看文件内容2.6 创建目录及文件2.7 复制和移动2.8 其他2.9 tar3.0 which3.1 whereis3.2 find(这个命令尽量在少量用户使用此软件时运行,因为此命令是真的读磁盘…

计数排序(六)——计数排序及排序总结

目录 一.前言 二.归并小补充 三.计数排序 操作步骤: 代码部分: 四.稳定性的概念: 五.排序大总结: ​六.结语 一.前言 我们已经进入排序的尾篇了,本篇主要讲述计数排序以及汇总各类排序的特点。码字不易&#x…

【JavaScript 漫游】【002】JS 的数据类型总览

文章简介 本文为【JavaScript 漫游】专栏的第 002 篇文章,主要记录了笔者学习 JS 数据类型中所了解的基本知识点。 ES5 的数据类型有哪些如何区分 ES5 的数据类型null 和 undefined 的相同点和不同点布尔值的转换规则parseInt 和 parseFloat 的基本用法 作为 JS …

使用plotly dash 画3d圆柱(Python)

plotly3D (3d charts in Python)可以画3维图形 在做圆柱的3D装箱项目,需要装箱的可视化,但是Mesh (3d mesh plots in Python)只能画三角形,所以需要用多个三角形拼成一个圆柱(想做立…

网站小程序分类目录网源码系统+会员注册登录功能 附带完整的搭建教程

随着互联网的发展,小程序分类目录网站已经成为了人们获取各类信息的重要渠道。而在这个领域中,罗峰给大家分享一款网站小程序分类目录网源码系统以其强大的功能和易用性,脱颖而出。本系统集成了会员注册登录功能,让用户能够更加便…

【git】git update-index --assume-unchanged(不改动.gitignore实现忽略文件)

文章目录 原因分析:添加忽略文件(取消跟踪)的命令:取消忽略文件(恢复跟踪)的命令:查看已经添加了忽略文件(取消跟踪)的命令: 原因分析: 已经维护的项目,文件已经被追踪,gitignore文件不方便修…

Layui + Echarts 5.0

Layui 怎么整合最新版本的 Echarts 5.0,Echarts 4 升级到 5后,有了很大改变,新的配置项4是无法兼容的,所以想要使用新的功能,都需要升级! 新建一个echarts.js文件 layui.define(function (exports) {// 这…

Optional lab: Linear Regression using Scikit-LearnⅠ

scikit-learn是一个开源的、可用于商业的机器学习工具包,此工具包包含本课程中需要使用的许多算法的实现 Goals In this lab you will utilize scikit-learn to implement linear regression using Gradient Descent Tools You will utilize functions from sci…

微服务技术总结

微服务! SrpingClound 微服务主要解决项目拆分后所产生的一系列问题。SpringClound主要解决服务的治理问题 单体VS分布式 单体:部署简单、成本低 缺点:服务耦合度高 2兼容1 服务拆分注意事项 远程调用分析 提供者:服务的提供方…

QT 使用XML保存操作记录

文章目录 1 实现程序保存操作记录的思路2 XML文档基本结构3 QDomDocument实现XML读写3.1 QDomDocument实现生成XML文件3.2 QDomDocument实现读取XML文件 4 QXmlStreamWriter实现读写4.1 QXmlStreamWriter实现生成XML4.2 QXmlStreamWriter实现读取XML 1 实现程序保存操作记录的思…

【大数据】Flink 架构(三):事件时间处理

《Flink 架构》系列(已完结),共包含以下 6 篇文章: Flink 架构(一):系统架构Flink 架构(二):数据传输Flink 架构(三):事件…

04.对象树

一、引入 1.QT实现输出"hello world" 使用QT编写"hello world"程序,有两种实现方式: (1)直接在生成的ui文件中,拖入一个label控件,双击控件编辑内容即可实现 (2&#xff0…

【CSS】flex布局用法解析,快速上手flex布局,flex:1是什么意思?肯定看的懂好吧?

一、flex布局 flex 是 flexible box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。 任何一个容器都可以指定为 flex 布局。 采用 flex 布局的元素,称为 flex 容器(flex container),…