网络安全知识和华为防火墙
网络安全
网络空间安全 ---Cyberspace
2003年美国提出的网络空间概念 ---一个由信息基础设施组成的互相依赖的网络。
我国官方文件定义:网络空间为继海、陆、空、天以外的第五大人类互动领域。
通信保密阶段 --- 计算机安全阶段 --- 信息系统安全 --- 网络空间安全
APT攻击 --- 高级持续性威胁
链路层-- MAC洪泛攻击
填满整个MAC表,此时交换机只能进行数据广播,黑客拿到数据,并且交换机负载过大、网络缓慢和丢包甚至瘫痪。
防御:
1.端口上最大可以通过的MAC地址数量
2.端口上学习或通过哪些MAC地址
链路层--ARP欺骗
攻击者抢先合法主机B应答主机A发起的ARP请求
网络层--ICMP攻击
ICMP重定向攻击是攻击机主动向受害人主机发送ICMP重定向数据包,使受害人主机数据包发送到不正确的网关
传输层--TCP SYN Flood攻击
SYN报文是TCP连接的第一个报文,攻击者通过大量发送SYN报文,造成大量未完全建立的TCP连接,占用被攻击者的资源。
防御:1.代理防火墙(秘书,先和防火墙建立连接)
每目标IP代理阈值,每目标IP丢包阈值
(少流量,直接到服务器)(多流量,防火墙直接丢了)
2.首包丢包
3.SYN cookie
分布式拒绝服务攻击(DDoS)
用木马控制肉鸡发流量
防御:1.异常流量清洗
2.CDN分流
3.分布式集群
应用层--DNS欺骗攻击
黑客劫持了DNS服务器,你想去某个网站,黑客会让DNS给你发钓鱼网站的IP,然后窃取信息
拖库、洗库、撞库
- 拖库(偷数据):是指黑客入侵有价值的网络站点,把注册用户的资料数据库全部盗走的行为。
- 洗库(卖数据):在取得大量的用户数据之后,黑客会通过一系列的技术手段和黑色产业链将有价值的用户数据变现,这通常也被称作洗库。
- 撞库(用一个网站密码,尝试登录其他网站):最后黑客将得到的数据在其它网站上进行尝试登陆,叫做撞库,因为很多用户喜欢使用统一的用户名密码。
恶意程序 --- 一般会具备多个特性
1.非法性
2.隐蔽性
3.潜伏性
4.可触发性
5.表现性
6.破坏性
7.传染性 -- 蠕虫病毒的特点
8.针对性
9.变异性
10.不可预见性
普通病毒 --- 以破坏为目的的病毒
木马病毒 --- 以控制为目的的病毒
蠕虫病毒 --- 具有传播性的病毒
防火墙:
主要职责:控制和防护 --- 安全策略(本质ACL)--- 防火墙可以根据安全策略抓取流量之后做出对应动作。
防火墙分类:
百兆级和千兆级 --- 吞吐量 --- 防火墙同一时间处理的数据量
防火墙发展历史
缺点:
1.很多安全风险集中在应用层,所以,仅关注三四层数据无法做到完全隔离风险
2.逐包进行包过滤检测,将导致防火墙的转发效率过低,成为瓶颈
在ACL列表中,华为体系下,末尾没有隐含规则,匹配不到ACL,则认为列表不存在,之前可以通过,则还可以通过;但是防火墙安全策略里面,末尾隐含一个拒绝所有没在列表的流量
缺点:
1.因为要防火墙先进行识别,再转发给服务器,效率降低
2.可伸缩性差:每一种应用程序要代理的话,都要开发对应的代理功能,没开发就无法代理
‘’会话表技术‘’--- 首包检测 --- 第一个数据包检测然后用五元组出一个值,后面的如果五元组一样就放过
IDS ---一种侧重于风险管理的安全机制 --- 滞后性
把前面的集成一下,就是UTM
因为太多的安全设备会导致维护成本提高,所有设备都要对流量检测,效率低
UTM里面,各模块是串联工作,效率没提升,但是维护成本低了
改进点核心:相较于之前UTM中各模块的串联部署,变为了并联部署,仅要一次检测,所有的核心都可以对应的处理,大大提高效率
防火墙的其他功能:
防火墙的控制:
带内管理 --- 通过网络对设备进行控制 --- telnet,ssh,web --- 登录设备和被登录设备网络要连通
带外管理 --- console线,mini usb线
华为防火墙的MGMT接口(G0/0/0)出厂时默认配置有IP地址:192.168.0.1/24 ,默认开启了DHCP、web登录的功能,方便进行web管理
防火墙的管理员:
新建管理员:
本地认证:用户信息存在防火墙上,登录时利用用户名和密码登录
服务器认证:和第三方的认证服务器对接,登录时防火墙用第三方服务器进行认证
(一般用于企业本身就用服务器存用户信息)
服务器/本地认证:优先使用服务器认证,如果服务器认证失败,也不进行本地认证,只在服务器连不上的时候才用本地认证
信任主机:添加一个网段或IP地址,允许这个网段登录这个管理员
防火墙的组网:
物理接口:
二层口:不能配IP
普通二层口
接口对:“透明网线”--- 可以将两个接口绑定成接口对,流量从一个接口进,一定从另一个出去,不看MAC表。(一个接口也可以做,这里进,这里出)
旁路检测接口:用于防火墙的旁路检测,接收镜像口的流量
三层口:可以配IP
虚拟接口:
换回接口
子接口
链路聚合
。。。。
Bypass --- 四个千兆口(就是两个bypass口):设备故障,两个bypass接口直接连通,不影响整条链路
虚拟系统---VRF技术,逻辑上将一台设备分为多台设备,互不影响,通过接口区分虚拟接口的范围
管理口和其他接口默认不在一个虚拟系统里面
接口对默认为trunk口
Virtual-if0:不同虚拟空间之间通信使用的虚拟接口,只需要配IP地址
trust:一般企业内网是trust区域
Untrust:一般公网区域在untrust区域
我们将一个接口规划到一个区域,代表接口连接的所有网络都被归到此区域
local:指设备本身(凡是由设备构造并主动发出的报文都可以认为是local区域发出的,凡是要设备进行响应的报文由local区域接收,接口本身在local区域)
Dmz:非军事化管理区域 --- 这个区域主要是为内网服务器所设定的区域,服务器本身在内网,但是要对外服务,他们相当于内网和外网之间的区域,所以Dmz区域代表这种管理松散的区域
优先级 --- 1-100 越大越优 --- 流量从优先级高的区域到优先级低的区域 ---出方向
--- 流量从优先级低的区域到优先级高的区域 ---入方向
路由模式:
1.接口,区域配置,安全策略
2.内网配置回包路由
3.是否要配置服务器映射
4.配置nat
5.针对内外网的安全策略
透明模式
旁路模式
传统的包过滤防火墙 --- 其本质为ACL列表,根据数据包中的特征(五元组)进行过滤,之后对比规制,执行动作
五元组 --- 源目IP,源目端口,协议
安全策略 --- 相较于ACL的改进之处在于,首先,可以在更细的颗粒度下匹配流量,另一方面是可以完成内容安全的检测。
安全策略 --- 1.访问控制(允许和拒绝)
2.内容检测 --- 如果允许通过,就进行内容检测
以上部分均为流量匹配条件每一项之间的关系为“与”关系,如果不进行选择,则默认为any;多选的里面,每一项之间的关系为“或”
基于流的流量检测 --- 即设备仅对流量的第一个数据包进行过滤,并将结果作为这一条数据流的特征记录(“会话表”)下来,之后,该数据流后面的报文都基于这个特征来转发,不再匹配安全策略。提高了转发效率。
当web服务器给pc回包时,来到防火墙上,防火墙会将报文中的信息和会话表的信息进行比对,如果信息相匹配,并且符合协议规范对后续报文的定义,则认为数据包属于pc,可以通过。
1.会话表(display firewall session table/display firewall session table verbose) --- 会话表本身也是基于五元组来区分流量,会话表在首包比对(只要来的包都可以是第一个包)时,会通过hash值来比对五元组。提高转发效率。(会话表有老化时间,一定时间没用就删除,没有了就再首包匹配安全策略,创建会话表,创建不了就丢弃)
老化时间过长:1.系统资源浪费,同时无法建立新的会话表
老化时间过短:1.导致一些长时间首发一次的报文连接被中断,影响转发
不同协议的老化时间不同
2.状态检测技术(firewall session link-state tcp check)
主要检测协议逻辑上(按报文的顺序)的后续报文,以及仅允许逻辑上的第一个报文(必须是那个协议的第一个数据包)通过后创建会话表
状态检测可以开关,只有会话表就提高转发效率,加个状态检测就会首包匹配创建会话表,保证安全
FTP——文件传输协议,典型的C/S的协议,tcp(有认证,还有其他命令集控制文件)
TFTP——简单(不用认证就能登录,只能上传和下载)文件传输协议,udp
FTP工作过程中存在两个进程,一个是控制进程,一个是数据传输进程,所以有两个端口号20,21,还有
两种工作模式:
主动模式:建立控制连接的tcp后,客户端开放一个随机端口用PORT命令告诉服务器,
让服务器主动找客户端建立数据传输的tcp连接
被动模式:建立控制连接的tcp后,服务器开放一个随机端口用PASV命令告诉客户端,
让客户端主动找服务器建立数据传输的tcp连接
像FTP这种使用多端口的协议叫做多通道协议(双通道协议)
ASPF --- 针对应用层的包过滤 --- 用来抓取多通道协议中协商端口的关键数据包,将结果记录在server-map表里面,相当于于开辟了一条别的通道
防火墙的用户认证:
防火墙管理员登录认证 --- 检验身份的合法性,划分身份权限
用户认证 --- 上网行为管理的一部分(用户,行为,流量)
用户认证的分类:
上网用户认证 --- 三层认证,所有跨网段的通信都是上网行为(将行为和人进行绑定)
入网用户认证 --- 二层认证,设备接入网络,包括局域网内的通信,插入交换机或者接入wifi后上网认证
接入用户认证 --- 远程接入 --- VPN --- 校验身份的合法性
认证方式:
本地认证 --- 信息在防火墙上,认证过程在防火墙上执行
服务器认证 --- 信息在服务器上,防火墙只是传递信息,服务器返回结果,防火墙执行对应动作
单点登录 --- 应用群中登录一个系统,便可在其他所有系统中得到授权而无需再次登录
认证域 --- 可以决定一个域里面的认证的方式和组织结构
登录名 ---作为登录凭证使用,一个认证域下不能重复
显示名(昵称) ---显示名不能用来登录,只用来区分和标识不同的用户。
账号过期时间 --- 可以设定一个时间点到期,但是,如果到期前账号已登录,到期后,防火墙不会强制下线该用户。
允许多人同时使用该账号登录:
私有用户 --- 仅允许一个人使用,第二个人使用时,将顶替到原先的登录
公有用户 ---允许多个人同时使用一个账户
IP/MAC绑定---用户和设备进行绑定(IP地址/MAC地址)
单向绑定(只是这个用户绑定了这个IP/MAC,其他人无影响)
---该用户只能在这个IP或者这个MAC或者这个 IP/MAC下登录,但是,其他用户可以在该设备下登录
双向绑定(这个用户绑定了这个IP/MAC,这个IP/MAC也绑定了用户,其他人用这个IP登录不了)
--- 该用户只能在绑定设备下登录,并且该绑定设备也仅允许该用户登录。
安全组和用户组的区别 --- 都可以被策略调用,但是,用户组在调用策略后,所有用户组成员以及子用户组都会生效,而安全组仅当前组成员生效,子安全组不生效。
认证策略:
Portal --- 这是一种常见的认证方式,网页认证就是portal认证,需要流量触发对应的服务时,弹出窗口,
输入用户名和密码进行认证(校园网登录就是)
免认证 --- 需要在IP/MAC双向绑定的情况下使用,对应用户在对应设备上登录时,就可以选择免认证,不做认证。
匿名认证 --- 登录时它自己会把IP或者主机名和行为进行绑定,不会有登录界面
防火墙的NAT
静态NAT --- 一对3一
动态NAT ---多对多
NAPT ---一对多的NAPT --- easy ip(也会加入端口号,但是没有地址池,只有一个出接口的公网IP作为转化后的IP)
---多对多的NAPT(在NAT里面加入端口号,这样一个IP就可以有多个端口可以用)
服务器映射 --- 把一个只有私网IP的服务器映射到出接口的一个公网IP上,公网用户访问服务器时,
直接找那个出接口的公网IP就行
源NAT -----基于源IP地址进行转换,我们之前接触过的静态NAT,动态NAT,NAPT都是
目标NAT ---- 基于目标IP地址进行转换,服务器映射就属于目标NAT
双向NAT ----同时转换源IP和目标IP地址
源NAT是在安全策略之后才会有NAT转换
目标NAT是在安全策略之前才会有NAT转换
配置黑洞路由 ---黑洞路由即空接口路由,在NAT地址池中的地址,建议配置到达这个地址指向空接口的路由,不然,在特定环境下会出现环路。(主要针对地址池中的地址和出接口地址不再同一个网段中的场景。)
高级选项
NAT类型 --- 五元组 --- 针对五元组识别出的数据流进行端口转换
三元组 --- 针对源IP,源端口,协议三个参数识别出的数据流进行端口转换
动态NAT创建完后,触发访问流量后会同时生成两条server-map的记录,其中一条是反向记录。相当于是一条静态NAT记录,外网的任意地址,在安全策略放通的情况 下,是可以访问到内网的设备。 基于端口的NAT转换,是不会生成server-map表的。
三元组
P2P --- peer to peer
因为P2P在端口转换的情况下,识别五元组,将导致P2P客户端之间无法直接访问,不符合五元组的筛选条件,所以,这种场景下可以使用三元组NAT(只看源IP,源端口,协议),放宽筛选条件,保证P2P客户端之间可以正常通信
创建NAT策略
(源NAT)
服务器映射(目标NAT)
安全区域 --- 是需要访问服务器的设备所在的区域。
双向NAT
多出口NAT
源NAT
第一种:根据出接口,创建多个不同的安全区域,再根据安全区域来做NAT
第二种:出去还是一个区域,选择出接口来进行转换
目标NAT
第一种:也可以分两个不同的区域做服务器映射
第二种:可以只设置一个区域,但是要注意,需要写两条策略分别正对两个接口的地址池,并且,不能同时勾选允许服务器上网,否则会造成地址冲突。
防火墙的智能选路
就近选路——希望在访问不同的运营商的服务器时,通过对应运营商的链路,这样可以提高通信效率,避免绕路
策略路由——PBR——传统的路由仅基于数据包的目标IP地址查找路由表,仅关心目标,所以特殊情况灵活性低。
策略路由本身也是一种策略,策略先匹配流量,再执行动作,策略路由可以从多维度匹配流量,之后,执行动作就是定义其转发的出接口和下一跳,策略路由末尾隐含一条不匹配策略的规则,没有匹配上的由传统路由表转发
DSCP优先级 ---相当于在数据包中设定其转发的优先级(利用的是IP头部中tos字段)之后下游设备会根据优先级来差异化保证流量的通过。
监控 --- 当策略是单出口时,如果这里写的下一跳或出接口不可达,报文将直接被FW丢弃。为了提高可靠性,我们可以配置针对下一跳的监控,如果下一跳不可达,继续查找本地路由表转发,而不是直接丢弃。
智能选路——全局路由
基于链路带宽的负载分担
基于链路带宽的负载分担会按照多条链路的带宽比例来分配流量。并且,如果配置的过载保护阈值,则那一条链路达到过载保护阈值之后,除了已经创建会话表的流量依然可以从该接口通过外,该接口将不再参与智能选路,需要新建会话表的流量将从其余链路中按照比例转发。
会话保持 --- 开启该功能后,流量首次通过智能选路的接口后,会创建会话表,后续命中会话表的流量都将通过同一个接口来进行转发,选择源IP和目的IP的效果时,所有相同源IP或者目标IP的流量将通过同一个接口转发。---应对于不希望链路频繁切换的场景。
基于链路质量进行负载分担
丢包率 --- FW会发送若干个探测报文(默认5个)将统计丢包的个数。丢包率是最重要的评判依据。
时延 --- 应答报文接受时间减去探测报文发送时间。取平均时延作为结果评判
延时抖动 --- 两次探测报文时延差值的绝对值。
首次探测后会将结果记录在链路质量探测表中,之后,将按照表中的接口来进行选路。 表中的老化时间结束后,将重新探测
基于链路权重进行负载分担——权重是由网络管理员针对每一条链路手工分配的,分配之后,将按照权重比例分配流量。
基于链路优先级的主备备份
优先级也是由网络管理员针对每一条链路手工分配的。
执行逻辑:
1,接口没有配置过载保护:
优先使用优先级最高的链路转发流量,其他链路不工作。直到优先级最高的链路故障,则优先级次高的链路开始转发流量。其余链路依旧不工作。
2,接口配置了过载保护:
优先使用优先级最高的链路转发流量,其他链路不工作;如果最高的链路达到或超过保护阈值,则优先级次高的链路开始工作,已经创建会话表的流量依然可以从该接口通过。
DNS透明代理
前提是开启就近选路
防火墙的可靠性
防火墙和路由器在进行可靠性备份时,路由器备份可能仅需要同步路由表中的信息就可以了,但是,防火墙是基于状态检测的,所以,还需要同步记录状态的会话表等。所以,防火墙需要使用到双机热备技术
热备 --- 两台设备同时运行,在一台故障的情况下,另一台就立即代替
VRRP技术
虚拟路由器冗余协议 ---“实的不行来虚的”
Initialize ---在VRRP中,如果一个接口出现故障之后,则这个接口将进入到该过渡状态
VRRP备份组之间是相互独立的,当一台设备上出现多个VRRP组时,他们之间的状态无法同步。
VGMP ----VRRP Group Management Protocol ————华为私有协议
这个协议就是将一台设备上的多个VRRP组看成一个组,之后统一进行管理,统一切换的协议。以此来保证VRRP组状态的一致性。
VGMP用来双击热备的数据能够传输,HRP用来传会话表和配置信息
接口故障切换场景
防火墙的双机热备中,我们不论是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 Redundancy Protocol ---华为冗余协议这是一款华为的私有协议 --- 备份配置信息和状态信息。
HRP备份有一个前提,就是两台设备之间必须专门连一根用于备份的线路,这跟线路我们称为心跳线(广义上,任何两台设备之间的链路都可以叫做心跳线)心跳线的接口必须是一个三层接口,需要配置对应的IP地址。这条备份数据的链路不受路由策略限制(直连场景。非直连场景依然需要配置安全策略。)
HRP协议本身算是VGMP协议的一部分HRP的心跳线也会传递心跳报文,用于检测对端是否处于工作状态。这个周期时间默认1s,逻辑和vrrp一样,只有主设备会周期发送,备设备仅监听即可,如果在三个周期内,都没有收到HRP的心跳报文,则将认定原主设备故障,则将进行失效判断,认定自身为主。VGMP的报文也是通过这条心跳线发送的。
配置信息 --- 策略,对象,网络里面的一些配置都属于配置信息。(接口IP地址,路由之类的不同步,因为这些是需要在双机组建之前配置的)
状态信息 ---会话表,server-map,黑名单,白名单
各场景过程分析
1,主备形成场景
2,主备模式下,接口故障切换场景
3,主备场景,主设备故障切换 --- 主故障之后,将无法周期发送HRP心跳报文,则备设备监听超时,进行设备状态的切换。
4,主备场景,主设备接口故障恢复切换没有开启抢占 ---没有抢占则原主设备保持备份状态。
开启抢占:
5,负载分担
6,负载分担接口故障场景
相关文章:

网络安全知识和华为防火墙
网络安全 网络空间安全 ---Cyberspace 2003年美国提出的网络空间概念 ---一个由信息基础设施组成的互相依赖的网络。 我国官方文件定义:网络空间为继海、陆、空、天以外的第五大人类互动领域。 通信保密阶段 --- 计算机安全阶段 --- 信息系统安全 --- 网络空间安…...

Docker 搭建MySQL主从复制-读写分离
一. 介绍 MySQL主从复制是一种常用的数据库高可用性解决方案,通过在主数据库上记录的数据变更,同步到一个或多个从数据库,实现数据的冗余备份和读写分离。在Docker环境下搭建MySQL主从复制和读写分离,不仅方便管理,还…...
[linux] which和find有什么区别?
which 和 find 都是 Unix/Linux 系统中的命令,但它们的用途和工作方式有很大的不同。 which 命令:which 命令是用来查找并显示用户可以在当前环境下执行的命令的完整路径。这些命令通常位于 PATH 环境变量中指定的目录中。例如,which python …...

使用Neo4j做技术血缘管理
目录 一、neo4j介绍 二、windows安装启动neo4j 2.1下载neo4j 2.2 解压文件 2.3 启动neo4j 三、neo4j基础操作 3.1 创建结点和关系 3.2 查询 3.3 更改 3.4 删除 四、技术血缘Demo实现 4.1 构建节点对象 4.2 构建存储对象 4.3 创建有属性关联关系 4.4 最后是图结果…...

Unity-WebGL
问题:提示gzip压缩报错解决:关闭打包的地方压缩,如下图问题:窗口未全屏解决:使用百分比画布替换固定尺寸画布 参考:新版Unity打包Webgl端进行屏幕自适应_unity webgl分辨率自适应-CSDN博客问题:…...

腾讯云部署vue+node项目
文章目录 一、安装宝塔二、vue项目部署三、node项目部署 前言: 关于项目部署,一开始也是找了很多资料,费了点时间,所以记录一下。希望能对各位有所帮助。 一、安装宝塔 1.首先在控制台,进入云服务器的终端界面 2.输入命令和密码获取权限,并且安装宝塔界面 yum install -y w…...

HBase表结构
HBase是非关系型数据库,是高可靠性、高性能、面向列、可伸缩、实时读写的分布式数据库。 HBase使用场景 大规模数据存储:如日志记录、数据库备份等。实时数据访问:如实时搜索、实时分析等。高性能读写:如高并发、低延迟的读写操…...
本人面试积累面试题更新中
本人面试积累面试题 1.事务的隔离级别 答:2024年1月30日 1.读已提交-----读取其他事务已经提交的数据 2.读未提交-----读取其他事务还未提交的数据–可能出现脏读 3.可重复读-----同一个事务多次读取同一个数据,尽可能的保证数据的一致性但是可能出现幻读 4.串行读------确保每…...
[经典面试题]169. 多数元素
题目描述 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:nums [3,2,3] 输出:3…...

Wireshark网络协议分析 - TCP协议
在我的博客阅读本文 文章目录 1. 基础2. 实战2.1. 用Go写一个简单的TCP服务器与客户端2.2. Wireshark抓包分析2.3. 限制数据包的大小——MSS与MTU2.4. 保证TCP的有序传输——Seq,Len与Ack2.5. TCP头标志位——URG,ACK,PSH,RST&…...

3 款最好的电脑硬盘数据迁移软件
您将从本页了解 3 款最好的 SSD硬盘数据迁移软件,磁盘供应商提供的软件和可靠的第三方软件。仔细阅读本文并做出您的选择。 什么是数据迁移? 数据迁移是将数据移动到其他计算机或存储设备的过程。在日常工作活动中,常见的数据迁移有三种&…...
【Java之HTML】
HTML 概念 互联网的产生:w3c的成立, 互联网最开始设计的目的:看论文 ---->浏览器,HTML 网络三要素:HTML HTTP URL HTML描述论文的格式 HTTP标记这个论文在网络上怎么传输 URL:指示这个论文在互联网的哪…...

支付宝支付功能解析,从零到掌握,轻松享受便捷支付
目录 一、支付宝支付功能简介 1.1 支付宝支付的概念 1.2 支付宝支付的优势 1.3 支付宝支付的适用场景 二、支付宝支付的准备工作 三、支付宝支付的接入流程 四、支付宝支付的安全性 5.1 支付宝支付的安全机制 5.2 防范支付风险的措施 5.3 支付宝支付的安全技术保障 …...

MacOS安装反编译工具JD-GUI以及解决无法打开的问题
目录 一.下载地址 二.安装 三.问题 四.解决办法 1.显示包内容 2.找到Contents/MacOS/universalJavaApplicationStub.sh 3.修改sh文件 4.保存后再次打开即可 一.下载地址 Java Decompiler 二.安装 将下载下来的 jd-gui-osx-1.6.6.tar 解压,然后将 JD-GUI.a…...

SpringBoot将第三方的jar中的bean对象自动注入到ioc容器中
新建一个模块,做自动配置 config:需要准备两个类,一个自动配置类,一个配置类 CommonAutoConfig:此类用于做自动配置类它会去读取resoutces下的META-INF.spring下的org.springframework.boot.autoconfigure.AutoConfig…...
5.变量的解构赋值 - JS
什么是解构赋值 通过类似(或相同)的构型,将已知数据的元素/属性解构并提取出来,再赋值到相应变量,可以是新建的变量,也可以是已存在的变量/属性等;最常见的是数组和对象的解构赋值,…...

tableau添加形状
目录 1.效果:1.自带的形状:2.添加形状:小结: 1.效果: 1.自带的形状: 2.添加形状: 找到tableau的安装目录,点入 默认->形状 的文件夹: 新建一个文件夹: …...

(2)(2.10) LTM telemetry
文章目录 前言 1 协议概述 2 配置 3 带FPV视频发射器的使用示例 4 使用TCM3105的FSK调制解调器示例 前言 轻量级 TeleMetry 协议 (LTM) 是一种单向通信协议(从飞行器下行的数据链路),可让你以低带宽/低波特率(通常为 2400 波…...
工具推荐系列-极客编辑器(实时在线编写md文件同步GitHub)
工具项目地址:https://github.com/geekeditor/geekeditor-desktop-releases/tree/main 工具基础配置方法:https://www.geekeditor.com/workspace1.x.html 详细同步代码仓的方法可以用下面: 如何创建GitHub仓库 及生成获取AccessToken…...

3d gaussian splatting介绍整理
3D 高斯分布是用于实时辐射场渲染的 3D 高斯分布中描述的一种光栅化技术,它允许实时渲染从小图像样本中学习到的逼真场景。 paper github 本文翻译整理自: blog: Introduction to 3D Gaussian Splatting DDPMs - Part 2 给出一些2D图片,用…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...

回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...

rknn toolkit2搭建和推理
安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 ,不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源(最常用) conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能
指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...
C#最佳实践:为何优先使用as或is而非强制转换
C#最佳实践:为何优先使用as或is而非强制转换 在 C# 的编程世界里,类型转换是我们经常会遇到的操作。就像在现实生活中,我们可能需要把不同形状的物品重新整理归类一样,在代码里,我们也常常需要将一个数据类型转换为另…...
Go爬虫开发学习记录
Go爬虫开发学习记录 基础篇:使用net/http库 Go的标准库net/http提供了完善的HTTP客户端功能,是构建爬虫的基石: package mainimport ("fmt""io""net/http" )func fetchPage(url string) string {// 创建自定…...
跑通 TrackNet-Badminton-Tracking-tensorflow2 项目全记录
📝 跑通 TrackNet-Badminton-Tracking-tensorflow2 项目全记录 git clone https://github.com/Chang-Chia-Chi/TrackNet-Badminton-Tracking-tensorflow2.git TrackNet-Badminton-Tracking-tensorflow2 conda create --prefix /cloud/TrackNet-Badminton-Tracking-…...