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

数据传输安全--IPSEC

目录

IPSEC

IPSEC可以提供的安全服务

IPSEC 协议簇

两种工作模式

传输模式

隧道模式

两个通信保护协议(两个安全协议)

AH(鉴别头协议)

可以提供的安全服务

报头

安全索引参数SPI

序列号

认证数据

AH保护范围

传输模式

隧道模式

ESP(封装安全载荷协议)

可以提供的安全服务

ESP的头部

ESP保护范围

传输模式

隧道模式

AH和ESP对比

AD和ESP传输模式联合使用

IKE

IPSec手工创建流程

IPSec自动创建流程

使用IKE,动态建立IPSEC SA

IKE版本

IKE协议包含的三个协议

IKE的两个阶段

阶段1

阶段1过程

交互过程的数据包

主模式和野蛮模式区别

阶段2                                            

快速模式

阶段2过程

需要协商的安全参数

PFS技术

数据传输阶段

VPN黑洞

解释域

安全策略数据库SPD

安全关联数据库SPA

IKE V2

V2和V1相比较的优势

传输效率

认证

IPSec应用场景

VPN的网关部署模式

VPN的单臂部署 --- 在NAT环境下的VPN部署

在不同阶段出现问题

问题1

解决方案

问题2

解决方案

问题3

解决方案

结论

NAT-T技术

通过IKE建立IPSEC SA流程

命令行配置  V1版本(这个配置以网络部署模式作为例子)


IPSEC

IPSEC基于网络层的,应用密码学的安全通信协议组
IPV6中,IPSEC是要求强制使用的,但是,IPV4中作为可选项使用

IPSEC可以提供的安全服务

机密性 --- 数据加密
完整性 --- 防篡改
可用性 --- 在批准者需要时,可以立即获得与信息相关的信息资产。
不可否认性 --- 数据源鉴别
重传攻击:攻击者截获登陆的数据包,然后攻击者自己发送这个登陆包。通过添加一个一次的序列号,就可以防止这个攻击了
有限的流量保密 ---在IPSEC中可以抓取感兴趣流,即可以设定哪些流量需要进入IPSEC隧道,继续保密传输,哪些流量不需要进入到通道中。

IPSEC 协议簇

两种工作模式

传输模式

传输模式的工作过程

封装方式:不改变原有的IP包头,在原始的数据包头后面添加IPSEC包头,将原来的数据封装成被保护的数据
作用:因为没有添加新的IP头部,所以无法跨越公网建立隧道。适合在私网内部数据传输时进行安全保障。

隧道模式

封装方式:需要增加新的IP头部,其后面是IPSEC的包头,之后,将原来的整个数据包进行分装保护。
作用:适用于需要跨越公网的环境。

两个通信保护协议(两个安全协议)

AH(鉴别头协议)

属于网络层协议,但是,封装在IP协议之上
协议号:51

GRE协议号47

可以提供的安全服务
数据的完整性保证 --- 其最主要的工作是保证数据传输的完整性,但是没有办法对数据进行加密保护。
数据源认证 --- 身份认证
抗重放攻击 --- 包含序列号
报头

安全索引参数SPI
IPSEC在建立通道之前,双方需要协商安全参数,安全参数协商完成后,则建立对应的会话,这个会话就是安全联盟
安全参数索引(SPI)用来唯一的标识SA安全联盟
IPSEC SA是分方向的,要想构建一个双向的安全通道,则需要建立两条方向相反的SA,则不同的SA需要使用不同的SPI来进行标识,相当于是SA的一个ID。
序列号
用来防重放攻击
认证数据

AH要保护数据是以完整性校验来保护的,它会将后面数据hash,然后放在认证数据里面

AH保护范围
传输模式

隧道模式

因为AH在进行完整性校验时会包含IP头部的内容,所以在IP头部中有一些在传输过程中就会发生变化的数据,比如TTL、TOS这样的数据将不做校验。因为会校验IP地址,所以AH无法应用在NAT环境下。

ESP(封装安全载荷协议)

属于网络层协议,封装在IP协议之上,协议号:50

可以提供的安全服务
1,数据的完整性校验
2,数据源认证
3,抗重放的保护
4,数据保密 --- 注意,这个是AH所不具备的一个安全服务 --- 可以进行选
择性加密
ESP的头部

ESP报尾,当加密时使用分组交换的时候,要满足一定位数,当位数不够的时候,报尾的填充和填充头部就可以用来补充。下一头部可以标识上层协议。认证数据是所有东西都校验完了放东西的地方。

ESP保护范围
传输模式

IP头部不加密原因是要过其他层加密了就过不去了

隧道模式

AH和ESP对比

AD和ESP传输模式联合使用

IKE

IPSec手工创建流程

1、创建acl抓取流量

2、配置IPSec安全提议,首先选择协议类型也就是选AH还是ESP,然后再选择加密算法、再选择校验算法、如果选了AH的话就选AH的校验,再选择封装模式。

3、做IPSec策略,首先关联流量和安全提议,再去定义自己的通道和对端的通道地址。标识SPI的id,再配置一个和认证有关的,也就是对方过来的时候需要的证书

4、接口处调用相应的安全策略

(注:手工建立后这个通道将一直存在)

IPSec自动创建流程

使用IKE,动态建立IPSEC SA
IKE版本
IKE有V1和V2的版本
下面将以V1来学习
IKE协议包含的三个协议

ISAKMP是IKE协议的主体,剩下的两个协议用来提供支持

SKEME :提供有关密钥的一些支持
OAKLEY :提供加密算法有关的支持
ISAKMP(互联网安全联盟密钥管理协议 ):用来协商
ISAKMP是一个应用层协议基于传输层工作,他在传输层是基于UDP500端口,且ISAKMP要求源和目标端口都是UDP的500,协商成功与否与这个有很大关系,所以配置的时候防火墙需要放通UDP的500端口。
IKE的两个阶段
阶段1
协商构建IKE SA(ISAKMP SA)其主要目的是获得建立IPSEC SA时参数协商过程中的安全通道,对协商参数进行安全保护。IKE SA和IPSec SA不同IKE SA是不区分源和目标也就是单向的。
阶段1过程
主模式
默认使用IP地址作为身份标识(因为身份标识发送是在第五六个数据包中,但是我们在前面的几个数据包过程都需要提取预共享密钥计算,需要身份标识来确定是要用哪个预共享密钥,要是等身份标识的话等不下去了,因为这里有一个时间上的错位,所以只能看IP地址了,然后在第五六个数据包的时候将IP地址和ID对比,再进行身份认证确认。所以这个东西也很怕NAT),这个身份标识和身份认证是不一样的,在IPSec中多使用预共享密钥进行身份认证,然后这个预共享密钥可能一个人和另外好几个人都有。如何区分不同的人的预共享密钥就依靠这个身份标识。
交互过程的数据包
需要经过6个数据包交互来完成IKE SA的建立,安全性较高

第一,二个数据包:SA的交换,也就是安全联盟的参数交换
Ci,Cr携带的是cookie,这个是IKEV1版本中的做法,唯一标识一个SA。到了V2版本,这里使用的是SPI,在V1版本中,其作用是相似
Sai,Sar用来进行进行安全参数协商,使用“五元组”来协商,下面是五元组
加密算法,哈希算法,身份认证,DH组,SA存活时间
DES             MD5        PSK           DH2      86400S
注意:这里协商的所有参数,是为了构建IKE SA使用参数
注意:如果是手工建立的SA,则将永久有效,但是,如果使用IKE建立的SA,则将存在老化时间,默认是86400S,如果时间到了,则将拆除通道,重新建立。
注意:DH算法分组,常用分组为DH1,DH2,DH5,DH14,组号越大,则安全性越高
注意:这里的身份认证是在协商身份认证的方式
如果对方在回复时,发现里面的参数本地不支持,则将回复一个负载拒绝报文,则中断SA的构建。但是,其中的SA存活时间可以不同,如果不同,则按照较小的来执行
第三,四个数据包
Ni,Nr --- 是两端发送时携带的一个随机数,参与DH算法
X,Y --- DH算法中需要交换的两个参数
在DH算法中我们会生成4把密钥
且在密钥的计算中就用到了预共享密钥,不用传递预共享而是直接蕴涵在计算的过程中。所有其他密钥在计算时,都需要加入种子密钥
SKEYID_e是加密密钥,可以用于第5.6个数据包以及第二阶段IPSEC SA协商过 程中的数据加密
CKY_I,CKY_R --- 前面过程中传递的cookie值
SKEYID_a是验证密钥,他是在第一阶段5,6个数据包以及第二个阶段中进行HASH算法时使用的密钥,哈希算法也可以结合密钥一起使用,其技术叫做HMAC(HMAC是融入密钥的hash相比普通的hash来说更安全)
SKEYID_d是推导密钥,他可以用来计算最终密钥(建立IPSec SA用来加密数据的密钥)的一个参数
第五,六个数据包用来进行身份认证以及数据验证,这两个数据包是进行加密的
第五、六个数据包进行身份认证是依靠上面种子密钥计算时用到的预共享密钥,另外一方只要可以解密这两个数据包就可以用到这个预共享密钥,所以数据包种就不用携带预共享密钥了
Idi/Idr --- 身份标识(IP地址)
Hashi/Hashr --- 使用哈希算法来校验之前传递的安全参数 --- 通过HMAC来进行运算,使用之前计算的验证密钥SKEYID_a
野蛮模式
可以自定义身份标识,并且,速度较快,仅需使用3个数据包就可以完成IKE SA的建立
建立过程
注意:野蛮模式前两个数据包中的参数用来协商密钥信息,则第三个数据包可以进行加密传输,因为,身份信息是通过明文传递的,所以,安全性较低
主模式和野蛮模式区别

阶段2                                            
通过阶段一构建的安全通道,传递需要建立IPSEC SA使用的安全参数,用来协商最终的密钥。
快速模式
阶段2过程

需要协商的安全参数
加密算法 --- 最终进行数据加密使用的算法(协商完加密算法之后,需要计算
出最终使用的加密密钥,需要根据第一阶段计算出来的推导密钥计算得出)
Hash算法 --- 最终进行数据传输时使用的hash算法
安全协议 --- AH/ESP
封装模式 --- 隧道/传输
存活时间
PFS技术
正常情况下,第二阶段计算的加密密钥是通过第一阶段计算出的推导密钥衍生出来的,但这样,可能导致第一阶段密钥泄露影响第二阶段密钥, 那么可以开启PFS的功能,之后,将不再使用之前的推导密钥,将重新使用DH算法计算出一个新的密钥
注:PFS功能需要两边同时开启,方可生效
数据传输阶段
通过AH或者ESP来传输数据
VPN黑洞
数据传输的时候可能出现VPN黑洞
隧道建立之后,如果其中一台设备出现异常,另一端还在SA的有效期内,则数据将出现有去无回的情况,形成VPN黑洞
解决方案
DPD死亡对等体检测
类似于心跳检测机制
利用的是空闲计时器原理 --- 两边同时开启一个计时器,有数据包通过时,直接刷新计
时器,如果计时器归0,则会开始发送DPD的探测报文,对方收到后,将回复应答,正
常回复则刷新计时器,如果没有应答,则连续发送5次,都没有应答,则将拆掉通道;

解释域

IPSec执行都在解释域中执行

安全策略数据库SPD

存放策略的数据库,数据来到来到边界首先在SPD里面找对他的处理

安全关联数据库SPA

和和加密密钥相关的一些东西,和SA的有关一些参数都会存在这个数据库里

IKE V2

V2和V1相比较的优势

传输效率
IKEV1协商效率较低;主模式(6个) + 快速模式(3个) = 9个,野蛮模式(3个) +
快速模式(3个) = 6个
IKEV2也存在两个阶段,这两个阶段均仅需两个数据包即可完成,总共4个数据包
认证
IKEV1是不支持远程用户接入认证。但是,可以结合L2TP VPN实现效果
IKEV2是支持用户认证的,加入了一种叫做EAP的认证。

IPSec应用场景

VPN的网关部署模式

由VPN设备放置在边界,但是由于VPN在边界所以会存在存在安全风险
解决方法
1,使用安全设备集成VPN功能作为边界(防火墙)
2,将VPN设备下沉到内网中(下沉到内网的就要做NAT这样就要出问题)

VPN的单臂部署 --- 在NAT环境下的VPN部署

在不同阶段出现问题

问题1
IKE协商阶段的身份认证问题
如果选择主模式默认身份标识是IP地址,下面的VPN设备要出去,需要NAT转换,这样身份标识不久对不上了
解决方案

使用野蛮模式

问题2
IKE在协商时,要求,源目端口都必须是UDP 500,如果,NAT做了端口转换技术,则将可能修改原先端口,导致对接失败
解决方案

使用NAT-T方案(NAT穿越技术)

问题3
在数据传输阶段,如果选择AH协议,因为AH协议在进行完整性校验时,会包含IP头部或者新家的IP头部中的内容,如果在NAT环境下使用,将导致校验失败。那原本使用NAT技术时TCP尾部的校验,就可以通过呢,原因就是NAT把尾部的校验和一起修改了。但是在ESP中为啥不能修改了因为ESP把IP的数据都加密了无法修改。
这个意思和上面一样。因为TCP或者UDP的封装中,包含伪头部校验,会校验IP头部中包含IP地址在内的12个字节的内容,一般NAT在进行转换时,会将地址和校验和一起更改,在 ESP加密之后的场景中,因为传输层的数据被加密,导致伪头部校验和无法修改, 最终会因为校验失败,导致数据传输失败
解决方案

使用ESP和隧道模式

结论

所以在NAT模式下的组合 --- 野蛮模式 + ESP + 隧道封装
但是我们再观察数据包,由于传输层被加密了,所以没有端口这个东西,而我们现在NAT出去一般都是基于端口的转换,这样是不是又出现了问题,这个问题又要借助NAT-T技术来解决了

NAT-T技术

通过IKE建立IPSEC SA流程

1、通过ACL抓取要保护流量

2、配置IKE安全提议,配置加密算法、配置认证模式、配置hash算法、配置DH、配置老化时间

3、配置IKE对等体,相当于邻居的建立,选择版本、配置身份认证的参数、配置交换模式也就是主模式还是野蛮模式、还需要配置一个对端IP

4、配置IPSec安全提议,配置协议是AH还是ESP、根据你选择的协议来决定下面选择如果是AH,就配置AH的认证算法,如果你选的是ESP的话你就配置ESP的加密和ESP的认证,最后配置封装模式也就是隧道模式还是传输模式

5、配置IPSec策略、引用刚刚配置的策略的策略,配置pfs,这里主要就是将前面配置的东西调用

6、接口调用

命令行配置  V1版本(这个配置以网络部署模式作为例子)

1,抓取感兴趣流
[r1]acl 3000 --- 注意,在IPSEC中只能调用高级ACL列表
[r1-acl-adv-3000]
[r1-acl-adv-3000]rule permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255
2,配置IKE的安全提议
[r1]ike proposal 1 --- 创建IKE提议,注意后面需要添加一个数字作为区分标识
[r1-ike-proposal-1]
[r1-ike-proposal-1]encryption-algorithm aes-cbc-128 --- 缺省值是DES
[r1-ike-proposal-1]authentication-algorithm md5 --- 缺省值是SHA1
[r1-ike-proposal-1]authentication-method pre-share --- 缺省是预共享密钥
[r1-ike-proposal-1]dh group2 --- 缺省为组1
[r1-ike-proposal-1]sa duration 86400 --- 不要太小,最好大于600S,太小了占用资源大
3,配置IKE对等体
[r1]ike peer aa v1 --- 需要给对等体起个名字,第一次进入时,需要选择使用的IKE版本
[r1-ike-peer-aa]ike-proposal 1 --- 关联安全提议
[r1-ike-peer-aa]pre-shared-key cipher 123456 --- 定义预共享密钥,注意,两边需要相同
[r1-ike-peer-aa]exchange-mode main --- 选择一阶段模式,缺省是主模式
[r1-ike-peer-aa]remote-address 23.0.0.2 --- 1,建立SA对等体的地址;2,参与查找预共
享密钥,3,身份标识 4,配置IPSEC安全提议
[r1]ipsec proposal aa --- 创建IPSEC提议
[r1-ipsec-proposal-aa]
[r1-ipsec-proposal-aa]transform esp --- 配置安全协议,默认ESP
[r1-ipsec-proposal-aa]encapsulation-mode tunnel --- 选择封装模式,默认隧道模式
[r1-ipsec-proposal-aa]esp encryption-algorithm aes-128 --- 配置esp加密算法,缺省des
[r1-ipsec-proposal-aa]esp authentication-algorithm md5 --- 配置esp鉴别算法,缺省md5
5,配置IPSEC的安全策略
[r1]ipsec policy aa 1 isakmp --- 需要定义名称和编号,首次进入还需要定义手工还
是IKE 
[r1-ipsec-policy-isakmp-aa-1]
[r1-ipsec-policy-isakmp-aa-1]security acl 3000 --- 关联ACL列表
[r1-ipsec-policy-isakmp-aa-1]ike-peer aa --- 关联IKE对等体
[r1-ipsec-policy-isakmp-aa-1]proposal aa --- 关联IPSEC 提议
6,接口调用
[r1-GigabitEthernet0/0/0]ipsec policy aa

相关文章:

数据传输安全--IPSEC

目录 IPSEC IPSEC可以提供的安全服务 IPSEC 协议簇 两种工作模式 传输模式 隧道模式 两个通信保护协议(两个安全协议) AH(鉴别头协议) 可以提供的安全服务 报头 安全索引参数SPI 序列号 认证数据 AH保护范围 传输模…...

Unity XR Interaction Toolkit的安装(二)

提示:文章有错误的地方,还望诸位大神不吝指教! 文章目录 前言一、安装1.打开unity项目2.打开包管理器(PackageManage)3.导入Input System依赖包4.Interaction Layers unity设置总结 前言 安装前请注意:需要…...

什么是PCB流锡槽焊盘/C型焊盘,如何设计?-捷配笔记

在PCB进行机器组装器件时(如波峰焊),为了防止部分需要二次焊接的元器件的焊盘堵孔,就需要在PCB焊盘上面开个过锡槽,以便过波峰焊时,这些焊锡会流掉。开流锡槽就是在焊盘裸铜(敷锡)部…...

电缆故障精准定位系统

简介 电缆故障精准定位系统应用于35~500kV电压等级电缆线路故障精准定位与故障识别。基于百兆高速采样、北斗高精度授时、信号相位误差精确校准等 先进技术的应用,其定位精度小于5米,业内领先。 基于人工智能深度学习算法核心模块可自动、 快速进行故障…...

Google Chrome 浏览器在链接上点右键的快捷键

如今,越来越多的软件都懒得设个快捷键,就算设置了连个下划线也懒得加了。 谷歌浏览器右键 > 链接另存为... 和 复制链接地址 的快捷键 (如图)...

Redis在SpringBoot中遇到的问题:预热,雪崩,击穿,穿透

缓存预热 预热即在产品上线前,先对产品进行访问或者对产品的Redis中存储数据。 原因: 1. 请求数量较高 2. 主从之间数据吞吐量较大,数据同步操作频度较高,因为刚刚启动时,缓存中没有任何数据 解决方法: 1. 使用脚…...

Pytorch 6

罗切斯特回归模型 加了激活函数 加了激活函数之后类 class LogisticRegressionModel(torch.nn.Module):def __init__(self):super(LogisticRegressionModel, self).__init__()self.linear torch.nn.Linear(1,1)def forward(self, x):# y_pred F.sigmoid(self.linear(x))y_p…...

iterator(迭代器模式)

引入 在想显示数组当中所有元素时&#xff0c;我们往往会使用下面的for循环语句来遍历数组 #include <iostream> #include <vector>int main() {std::vector<int> v({ 1, 2, 3 });for (int i 0; i < v.size(); i){std::cout << v[i] << &q…...

使用Web控制端和轻量级客户端构建的开放Web应用防火墙(OpenWAF)

目录 1. 简介2. 项目结构3. Web控制端3.1. 功能概述3.2. 审计&#xff08;攻击&#xff09;日志查看3.3. 多个WAF的集中监控和操作3.4. 使用socket进行封装3.5. 日志的高效存储和检索&#xff08;Redis&#xff09; 4. 轻量级客户端4.1. 功能概述4.2. 对Web程序的防护4.3. 网络…...

设计模式在FileBrowser中的几个应用

设计模式是代码重构的最终目标&#xff0c;在程序设计中有效的运用这项技术&#xff0c;可以大大提高代码的可读性和可维护性。使整个程序设计结构趋向精致完美。在我维护的FileBrowser模块中可以针对以下方面 应用相应的模式。 1. 使用策略模式来处理文件夹扫描操作 作为网…...

【JavaEE进阶】——Spring AOP

目录 &#x1f6a9;Spring AOP概述 &#x1f6a9;Spring AOP快速⼊⻔ &#x1f393;引入AOP依赖 &#x1f393;编写AOP程序 &#x1f6a9;Spring AOP 详解 &#x1f393;Spring AOP核⼼概念 &#x1f393;通知类型 &#x1f393;PointCut &#x1f393;切⾯优先级 Ord…...

Python - conda使用大全

如何使用Conda&#xff1f; 环境 创建环境 conda create -n spider_env python3.10.11查看环境 conda env listconda info -e激活环境 conda activate spider_env退出环境 conda deactivate删除环境 conda env remove -n spider_env包 导出包 说明&#xff1a;导出当前虚拟…...

ASPICE在汽车软件开发中的作用

ASPICE是一个专门为汽车软件开发过程而设计的评估和改进框架。它基于ISO/IEC 15504标准&#xff0c;为汽车供应商提供了一个评估和改进其软件开发流程的方法。ASPICE的目标是确保软件开发过程的一致性和可预测性&#xff0c;从而提高软件的质量和可靠性。 ASPICE的实施对汽车软…...

亚马逊云科技 re:Inforce 2024中国站大会

亚马逊云科技 re:Inforce 2024中国站大会 - 生成式AI时代的全面安全&#xff0c;将于7月25日本周四在北京富力万丽酒店揭幕...

Lottie:动态动画的魔法棒

文章目录 引言官网链接Lottie 的原理基础使用1. 导出动画2. 引入 Lottie 库3. 加载和播放动画 高级使用1. 动画控制2. 交互性3. 自定义动画例子&#xff1a;交互式按钮动画 优缺点优点缺点 结语 引言 Lottie 是 Airbnb 开源的一个动画库&#xff0c;它允许设计师在 Adobe Afte…...

IPython使用技巧整理

IPython 是一个增强的 Python 交互式 shell&#xff0c;它提供了许多便利的功能&#xff0c;比如自动补全、魔术命令、对象内省等。以下是 IPython 的一些使用技巧和示例&#xff0c;结合您提供的列表数据&#xff0c;我将给出一些相关的使用示例。 1. 自动补全&#xff08;Tab…...

C#数组复习

一、一维数组 using System.Collections; using System.Collections.Generic; using UnityEngine;public class ShuZu : MonoBehaviour {#region 知识点一 基本概念//数组是存储一组相同类型数据的集合//数组分为 一维、二维、交错数组//一般情况 一维数组 就简称为数组#en…...

无人机之在农业上的用途

随着无人机技术的发展&#xff0c;农业现代化也迎来了崭新局面&#xff0c;田间随处可见无人机矫健的身影。当农业遇上科技&#xff0c;变革正悄然进行。农业无人机主要应用于农业、种植业、林业等行业。在使用过程中&#xff0c;其功能和作用并不单一&#xff0c;一般用于种植…...

opengaussdb在oepnEuler上安装

安装前提&#xff1a; 软件环境&#xff1a;openEuler 20.03LTS 个人开发者最低配置2核4G&#xff0c;推荐配置4核8G 数据库版本&#xff1a;openGauss-5.0.2-openEuler-64bit-all.tar.gz 数据库下载地址&#xff1a; https://docs-opengauss.osinfra.cn/zh/docs/5.0.0/docs/In…...

一些和颜色相关网站

1.中国传统色 2.网页颜色选择器 3.渐变色网站 4.多风格色卡生成 5.波浪生成 6.半透明磨砂框 7.色卡组合...

Linux系统编程-文件系统

目录 什么是Linux文件系统 文件系统的职责 存储介质抽象 inode&#xff1a;文件系统的核心 文件分配策略 目录结构 文件系统布局 日志和恢复机制 目录权限 粘滞位(t位)&#xff1a; 硬链接和符号链接 硬链接的特点&#xff1a; 创建硬链接&#xff1a; 符号链接的…...

【解决】ubuntu20.04 root用户无法SSH登陆问题

Ubuntu root用户无法登录的问题通常可以通过修改‌SSH配置文件和系统登录配置来解决。 修改SSH配置文件 sudo vim /etc/ssh/sshd_config 找到 PermitRootLogin 设置&#xff0c;并将其值更改为 yes 以允许root用户通过SSH登录 保存并关闭文件之后&#xff0c;需要重启SSH服务…...

(前缀和) LeetCode 238. 除自身以外数组的乘积

一. 题目描述 原题链接 给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&…...

【JVM基础05】——组成-能不能解释一下方法区?

目录 1- 引言&#xff1a;方法区概述1-1 方法区是什么&#xff1f;(What)1-2 为什么用方法区&#xff1f;方法区的作用 (Why) 2- ⭐核心&#xff1a;详解方法区(How)2-1 能不能解释一下方法区&#xff1f;2-2 元空间内存溢出问题2-3 什么是常量池&#xff1f;2-4 运行时常量池 …...

前端:Vue学习-3

前端&#xff1a;Vue学习-3 1. 自定义指令2. 插槽2.1 插槽 - 后备内容&#xff08;默认值&#xff09;2.2 插槽 - 具名插槽2.3 插槽 - 作用域插槽 3. Vue - 路由3.1 路由模块封装3.2 声明式导航 router-link 高亮3.3 自定义匹配的类名3.4 声明式导肮 - 跳转传参3.5 Vue路由 - 重…...

npm 安装报错(已解决)+ 运行 “wue-cli-service”不是内部或外部命令,也不是可运行的程序(已解决)

首先先说一下我这个项目是3年前的一个项目了&#xff0c;中间也是经过了多个人的修改惨咋了布置多少个人的思想&#xff0c;这这道我手里直接npm都安装不上&#xff0c;在网上也查询了多种方法&#xff0c;终于是找到问题所在了 问题1&#xff1a; 先是npm i 报错在下面图片&…...

江苏科技大学24计算机考研数据速览,有专硕复试线大幅下降67分!

江苏科技大学&#xff08;Jiangsu University of Science and Technology&#xff09;&#xff0c;坐落在江苏省镇江市&#xff0c;是江苏省重点建设高校&#xff0c;江苏省人民政府与中国船舶集团有限公司共建高校&#xff0c;国家国防科技工业局与江苏省人民政府共建高校 &am…...

20分钟上手新版Skywalking 9.x APM监控系统

Skywalking https://skywalking.apache.org/ Skywalking是专为微服务、云原生和基于容器的&#xff08;Kubernetes&#xff09;架构设计的分布式系统性能监控工具。 Skywalking关键特性 ● 分布式跟踪 ○ 端到端分布式跟踪。服务拓扑分析、以服务为中心的可观察性和API仪表板。…...

【07】LLaMA-Factory微调大模型——微调模型导出与微调参数分析

上文介绍了如何对微调后的模型进行使用与简单评估。本文将介绍对微调后的模型进行导出的过程。 一、llama-3微调后的模型导出 首先进入虚拟环境&#xff0c;打开LLaMA-Factory的webui页面 conda activate GLM cd LLaMA-Factory llamafactory-cli webui 之后&#xff0c;选择…...

动态路由协议 —— EIGRP 与 OSPF 的区别

EIGRP&#xff08;增强内部网关路由协议&#xff09;和 OSPF&#xff08;开放式最短路径优先&#xff09;是两种最常见的动态路由协议&#xff0c;主要是用来指定路由器或交换机之间如何通信。将其应用于不同的情况下&#xff0c;可提高速率、延迟等方面的性能。那么它们之间到…...

【中项】系统集成项目管理工程师-第5章 软件工程-5.1软件工程定义与5.2软件需求

前言&#xff1a;系统集成项目管理工程师专业&#xff0c;现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试&#xff0c;全称为“全国计算机与软件专业技术资格&#xff08;水平&#xff09;考试”&…...

HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 多选题序号1

基础认证题库请移步&#xff1a;HarmonyOS应用开发者基础认证题库 注&#xff1a;有读者反馈&#xff0c;题库的代码块比较多&#xff0c;打开文章时会卡死。所以笔者将题库拆分&#xff0c;单选题20个为一组&#xff0c;多选题10个为一组&#xff0c;题库目录如下&#xff0c;…...

Windows11(24H2)LTSC长期版下载!提前曝光Build26100?

系统&#xff1b;windows11 文章目录 前言一、LTSC是什么&#xff1f;二、 Windows 11 Vision 24H2 LTSC 的版本号为 Build 26100&#xff0c;镜像中提供以下三个 SKU&#xff1a;总结 前言 好的系统也能给你带来不一样的效果。 一、LTSC是什么&#xff1f; & & L…...

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第四十三章 驱动模块传参

i.MX8MM处理器采用了先进的14LPCFinFET工艺&#xff0c;提供更快的速度和更高的电源效率;四核Cortex-A53&#xff0c;单核Cortex-M4&#xff0c;多达五个内核 &#xff0c;主频高达1.8GHz&#xff0c;2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…...

uniapp 小程序 支付逻辑处理

uniapp 小程序 支付逻辑处理 上代码如果你不需要支付宝适配&#xff0c;可以删除掉支付宝的条件判断代码 <button class"subBtn" :disabled"submiting" click"goPay">去支付</button>// 以下代码你需要改的地方// 1. order/app/v1…...

scikit-learn库学习之make_regression函数

scikit-learn库学习之make_regression函数 一、简介 make_regression是scikit-learn库中用于生成回归问题数据集的函数。它主要用于创建合成的回归数据集&#xff0c;以便在算法的开发和测试中使用。 二、语法和参数 sklearn.datasets.make_regression(n_samples100, n_feat…...

经典文献阅读之--World Models for Autonomous Driving(自动驾驶的世界模型:综述)

Tip: 如果你在进行深度学习、自动驾驶、模型推理、微调或AI绘画出图等任务&#xff0c;并且需要GPU资源&#xff0c;可以考虑使用UCloud云计算旗下的Compshare的GPU算力云平台。他们提供高性价比的4090 GPU&#xff0c;按时收费每卡2.6元&#xff0c;月卡只需要1.7元每小时&…...

孙健提到的实验室的研究方向之一是什么?()

孙健提到的实验室的研究方向之一是什么?&#xff08;&#xff09; 点击查看答案 A.虚拟现实B.环境感知和理解 C.智能体博弈D.所有选项都正确 图灵奖是在哪一年设立的?&#xff08;&#xff09; A.1962B.1966 C.1976D.1986 孙健代表的实验室的前身主要研究什么?&…...

初级java每日一道面试题-2024年7月23日-Iterator和ListIterator有什么区别?

面试官: Iterator和ListIterator有什么区别? 我回答: Iterator和ListIterator都是Java集合框架中用于遍历集合元素的接口&#xff0c;但它们之间存在一些关键的区别&#xff0c;主要体现在功能和使用场景上。下面我将详细解释这两种迭代器的不同之处&#xff1a; 1. Iterat…...

2024-07-23 Unity AI行为树2 —— 项目介绍

文章目录 1 项目介绍2 AI 代码介绍2.1 BTBaseNode / BTControlNode2.2 动作/条件节点2.3 选择 / 顺序节点 3 怪物实现4 其他功能5 UML 类图 项目借鉴 B 站唐老狮 2023年直播内容。 点击前往唐老狮 B 站主页。 1 项目介绍 ​ 本项目使用 Unity 2022.3.32f1c1&#xff0c;实现基…...

Unity-URP-SSAO记录

勾选After Opacity Unity-URP管线&#xff0c;本来又一个“bug”, 网上查不到很多关于ssao的资料 以为会不会又是一个极度少人用的东西 而且几乎都是要第三方替代 也完全没有SSAO大概的消耗是多少&#xff0c;完全是黑盒(因为用的人少&#xff0c;研究的人少&#xff0c;优…...

无人机上磁航技术详解

磁航技术&#xff0c;也被称为地磁导航&#xff0c;是一种利用地球磁场信息来实现导航的技术。在无人机领域&#xff0c;磁航技术主要用于辅助惯性导航系统&#xff08;INS&#xff09;进行航向角的测量与校正&#xff0c;提高无人机的飞行稳定性和准确性。其技术原理是&#x…...

使用 cURL 命令测试网站响应时间

文章目录 使用 cURL 命令测试网站响应时间工具介绍cURL 命令详解命令参数说明输出格式说明示例运行结果总结使用 cURL 命令测试网站响应时间 本文将介绍如何使用 cURL 命令行工具来测试一个网站的响应时间。具体来说,我们将使用 cURL 命令来测量并显示各种网络性能指标,包括 …...

「网络通信」HTTP 协议

HTTP &#x1f349;简介&#x1f349;抓包工具&#x1f349;报文结构&#x1f34c;请求&#x1f34c;响应&#x1f34c;URL&#x1f95d;URL encode &#x1f34c;方法&#x1f34c;报文字段&#x1f95d;Host&#x1f95d;Content-Length & Content-Type&#x1f95d;User…...

科普文:后端性能优化的实战小结

一、背景与效果 ICBU的核心沟通场景有了10年的“积累”&#xff0c;核心场景的界面响应耗时被拉的越来越长&#xff0c;也让性能优化工作提上了日程&#xff0c;先说结论&#xff0c;经过这一波前后端齐心协力的优化努力&#xff0c;两个核心界面90分位的数据&#xff0c;FCP平…...

LeetCode-day23-3098. 求出所有子序列的能量和

LeetCode-day23-3098. 求出所有子序列的能量和 题目描述示例示例1&#xff1a;示例2&#xff1a;示例3&#xff1a; 思路代码 题目描述 给你一个长度为 n 的整数数组 nums 和一个 正 整数 k 。 一个 子序列的 能量 定义为子序列中 任意 两个元素的差值绝对值的 最小值 。 请…...

CSS3雷达扫描效果

CSS3雷达扫描效果https://www.bootstrapmb.com/item/14840 要创建一个CSS3的雷达扫描效果&#xff0c;我们可以使用CSS的动画&#xff08;keyframes&#xff09;和transform属性。以下是一个简单的示例&#xff0c;展示了如何创建一个类似雷达扫描的动画效果&#xff1a; HTM…...

单例模式懒汉模式和饿汉模式

线程安全 单例模式在单线程中&#xff0c;当然是安全的。但是如果在多线程中&#xff0c;由于并行判断&#xff0c;可能会导致创建多个实例。那么如何保证在多线程中单例还是只有一个实例呢? 常见的三种方式: 局部静态变量 原理和饿汉模式相似&#xff0c;利用static只会初始…...

python __repr__和__str__区别

1. __repr__ __repr__ 方法由 repr() 内置函数调用&#xff0c;用于计算对象的“正式”字符串表示形式。理想情况下&#xff0c;这个字符串应该看起来像一个有效的 Python 表达式&#xff0c;可以在适当的环境下用来重新创建具有相同值的对象。如果这不可能实现&#xff0c;那…...

huawei USG6001v1学习----NAT和智能选路

目录 1.NAT的分类 2.智能选路 1.就近选路 2.策略路由 3.智能选路 NAT:&#xff08;Network Address Translation&#xff0c;网络地址转换&#xff09; 指网络地址转换&#xff0c;1994年提出的。NAT是用于在本地网络中使用私有地址&#xff0c;在连接互联网时转而使用全局…...