TLS/SSL协议

2023-11-07

1、TLS协议的工作原理

TSL设计目的:

  • 身份验证
  • 保密性
  • 完整性

在这里插入图片描述

Record记录协议

  • 对称加密

Handshake握手协议

  • 验证通讯双方的身份
  • 交换加解密的安全套件
  • 协商加密参数

在这里插入图片描述

2、对称加密的工作原理

1)、XOR与填充

在这里插入图片描述

在这里插入图片描述

明文P和密钥K基于AES加密函数生成密文C,密文C通过网络传输给接收方,接收方拿到密文C基于相同的密钥K和AES解密函数就可以得到明文P

在这里插入图片描述

对称加密之所以能实现同一把密钥既能加密也能解密,就是基于对称加密与XOR异或运算

密钥序列1010和明文0110进行异或运算得到密文1100,密文1100和密钥序列1010进行异或运算得到明文0110

在这里插入图片描述

2)、工作模式

1)分组工作模式

允许使用同一个分组密码密钥对多于一块的数据进行加密,并保证其安全性

2)ECB(Electronic codebook)模式

在这里插入图片描述

直接将明文分解为多个块,对每个块独立加密

问题:无法隐藏数据特征

3)CBC(Cipher-block chaining)模式

在这里插入图片描述

第一组明文加密得到密文,第一组密文与第二组的明文先做一次异或再进行加密,第二组的密文与第三组的明文先做一次异或再进行加密

每个明文块先与前一个密文块进行异或后,再进行加密

问题:加密过程串行化,没完成第一步不能进行第二步和第三步的操作

4)CTR(Counter)模式

在这里插入图片描述

通过递增一个加密计数器以产生连续的密钥流

计数器、密钥、明文共同产生的密文就没有数据特征了,因为每一个都引入了不同的变量,同时可以并行运算

问题:不能提供密文消息完整性校验

5)验证完整性:MAC(Message Authentication Code)

在这里插入图片描述

在这里插入图片描述

发送方生成密文后,把密文和密钥使用hash算法生成MAC值,密文和MAC值传输给接收者,接收者接收到消息后,先根据同样的MAC算法和同一把密钥生成MAC值,与传输过来的MAC值比较是否相等,相等说明消息是完整的,不想等说明出现了差错

6)GCM(Galois/Counter Mode)=CTR+GMAC

在这里插入图片描述

3、详解AES对称加密算法

AES(Advanced Encryption Standard)加密算法

  • 常用填充算法:PKCS7
  • 常用分组工作模式:GCM

AES的三种密钥长度

在这里插入图片描述

AES的加密步骤

  1. 把明文按照128bit(16字节)拆分成若干个明文块,每个明文块是4*4矩阵
  2. 按照选择的填充方式来填充最后一个明文块
  3. 每一个明文块利用AES加密器和密钥,加密成密文块
  4. 拼接所有的密文块,成为最终的密文结果

在这里插入图片描述

1)AddRoundKey步骤

在这里插入图片描述

这里的密钥并不是原始的密钥,是做过密钥扩展算法的

在这里插入图片描述

密钥扩展是把每一轮使用的密钥生成下一轮使用的不同的新密钥

每一轮密钥是一个4*4 16字节的矩阵,先把每四个字节构成一个字,每个字4字节,把矩阵变成了4个元素的数组,基于g函数和异或生成下一轮的密钥

2)SubBytes步骤

在这里插入图片描述

3)ShiftRows步骤

在这里插入图片描述

4)MixColumns步骤

在这里插入图片描述

4、非对称加密与RSA算法

在这里插入图片描述

在这里插入图片描述

根据非对称加密算法生成一对密钥:公钥和私钥,公钥向对方公开,私钥仅自己使用

加密的时候使用对方的公钥加密消息,解密的时候使用自己的私钥解密

在这里插入图片描述

在这里插入图片描述

5、基于openssl实战验证RSA

1)、使用openssl基于RSA算法生成公私钥

生成私钥openssl genrsa -out private.pem

hanxiantaodeMBP:tls hanxiantao$ openssl genrsa -out private.pem
Generating RSA private key, 2048 bit long modulus
........................+++
.................................+++
e is 65537 (0x10001)
hanxiantaodeMBP:tls hanxiantao$ cat private.pem 
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAy5bTnsjJXtBMuafMmATFdAAX0jwTCpuuhclvF5y1+5gZ/uRM
dgRVwqnc3aFxHJbXv3rzwy0ehCKkOGue6Qw3FGUTWph573lNbFTI45VhsnllEvM3
cWkdljZ09LLbbOi+iuHrJV+xwauoH/UddiZ40Ih33Wg8wNSqe7KnSgBWK8ABr7Ke
YeimVrwO7hFqnOkjonD5lSamGOvEn5uqkQ5IQfc0gnPRYHrHXaw9xIZ5IRtww8pz
f+zO7XkAziWhLJ9kUtaSkL5Mifbw9kv8Gb+9epcWlBRGgFB/vPdJ+K4I59KMqAgf
zCKNEmGPT3sxBOzxpl5aV8LXFV8Da92nY0f86wIDAQABAoIBAEWF4AZdMsb6Avlz
X96Z4oPWdEwKz8XTnCl7vEAn981PB7GPbLzwhgjP0OiudN36dPqilhOUmNMusT3D
IqUa0sRYL9/EKf+pQNM5sNBm9tHnuqhZ/hjweHYPaqkVWvE6Gbd7pr1AjIdCg0tG
fSUXxjIQKD6nlfeTqBRN0ernaoXNk9K23DYVuBw4rtt4VpLlrABcX8klU1EEDy4s
lv9ZkzYV1F2brVxteaoXUqp7e4TguXLq/OpLC3fKGgn3pIpgILckB/8A3Rx6iH1/
lbj5IBxvy8tm4XtnFGt4nohkiYFlIN9wjiFYHbZ7x5i5Jgw7I1D5lIY5AyEMWyHl
35bcKuECgYEA6KO7UBZ8aYaCKcIpPbAsx6w3oY+tEUJla5G230ZPafT0UxmKLvVJ
/Q6guD850f8P/c5Qp4wZGXADRARKUCB8dqO2qE0IHlhjMq8tUf2s/mMR6lvKkh9q
KKHqiWezPvQAa0DuJ3zcWy1xliDgyOS6oE+CSCwOF+S6kZ3LEi7tGWcCgYEA4AhS
GKimUkvNPL6+j4krdx37HXuxiN5+Su+m9yv92AlIIDE6Z3BrhBRgKO/50CvVYrhL
0I8e0ZjZar+uCTwI0AsJx4wh10oPaIhGNLISXjXbX23WKasnZ/XLEhck9BIgWIf7
qX9iBln2Q4dEoUIWaYrffEd2OtezRGPdCEUyGd0CgYAUyKPwaMHer5yrXGRQ1Y96
m0ExFuPwWc0zygXbdq2bmr3FOs/kmBdvG0Jyk3t37mCgXTFJdrO7WQ2Boxx8ghp8
gu3LpW4nP+BE4++Zlp9A7trn5CF54oKadLS+Z9xUsHnlGxzrvDT3lFzEe9V5PS4L
Km9KQV1U9yNP5RgCXNzj2wKBgQCWXL9NEZRf08RyKsuXZscncZXjGev0IvC8ttBn
QL1kzAX+pUu/tTJUOaC4mSgf0eusEGnCFuzmXCJAhVn3lLWNfHsZ1TG5X1msHRqR
r5qoZJlSGVQOL3OJUOz0vVfuAGR5RvtfrcFK5gJlHFqxqLuGJtEMhqIRqEgHdMcb
D+YqeQKBgQC1Q1+2IikZSlc/Gw6rLeLcAyUerABygb+g6na27I4txpbBQWAk+D2n
rKdSWsk/9eTY5Th72T+zbxnyjaz0oCicyGsGLO0WrI0OxmpTCl5FfDbTBekb8Sps
YjCvQE22mket/sA6cYsCjtj2I4/2aNPIestlzZOeBmg22nDtLQtI9A==
-----END RSA PRIVATE KEY-----

从私钥中提取出公钥openssl rsa -in private.pem -pubout -out public.pem

hanxiantaodeMBP:tls hanxiantao$ openssl rsa -in private.pem -pubout -out public.pem
writing RSA key
hanxiantaodeMBP:tls hanxiantao$ cat public.pem 
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy5bTnsjJXtBMuafMmATF
dAAX0jwTCpuuhclvF5y1+5gZ/uRMdgRVwqnc3aFxHJbXv3rzwy0ehCKkOGue6Qw3
FGUTWph573lNbFTI45VhsnllEvM3cWkdljZ09LLbbOi+iuHrJV+xwauoH/UddiZ4
0Ih33Wg8wNSqe7KnSgBWK8ABr7KeYeimVrwO7hFqnOkjonD5lSamGOvEn5uqkQ5I
Qfc0gnPRYHrHXaw9xIZ5IRtww8pzf+zO7XkAziWhLJ9kUtaSkL5Mifbw9kv8Gb+9
epcWlBRGgFB/vPdJ+K4I59KMqAgfzCKNEmGPT3sxBOzxpl5aV8LXFV8Da92nY0f8
6wIDAQAB
-----END PUBLIC KEY-----

2)、使用RSA公私钥加解密

找一个原始文件,内容如下

hanxiantaodeMBP:tls hanxiantao$ cat hello.txt 
hello world

加密文件,生成hello.en

hanxiantaodeMBP:tls hanxiantao$ openssl rsautl -encrypt -in hello.txt -inkey public.pem -pubin -out hello.en

解密文件,生成hello.de

hanxiantaodeMBP:tls hanxiantao$ openssl rsautl -decrypt -in hello.en -inkey private.pem -out hello.de
hanxiantaodeMBP:tls hanxiantao$ cat hello.de 
hello world

6、非对称密码应用:PKI证书体系

在这里插入图片描述

在这里插入图片描述

注册用户使用RSA算法生成一对公私钥,私钥自己来保存,把公钥和个人的身份信息发起申请,给到CA认证机构。CA认证机构核实身份信息后,使用CA机构自己的私钥对这些信息进行加密,加密完成后证书就叫公钥证书

在这里插入图片描述

签名流程

对传输的数据data使用hash函数生成hash值,把hash值用CA机构的私钥进行加密,得到了一串密文

验签流程

对传输的数据data使用相同的hash函数生成hash值,把密文用CA机构的公钥进行解密,如果解密成功,证明这段信息确实是由CA机构加密的,验证CA机构身份真实性。再检查两段hash值是否匹配,如果匹配验签成功

在这里插入图片描述

小一点的CA可以让大CA签名认证,但链条的最后,也就是Root CA,就只能自己证明自己了,这个就叫自签名证书或者根证书

有了这个证书体系,操作系统和浏览器都内置了各大CA的根证书,上网的时候只要服务器发过来它的证书,就可以验证证书里的签名,顺着证书链一层层地验证,直到找到根证书,就能够确定证书是可信的,从而里面的公钥也是可信的

在这里插入图片描述

证书订阅人生成一对公私钥,把个人身份信息和公钥发给了CA登记机构,CA登记机构验证订阅人的身份,验证通过后把验证签名申请发给CA机构,CA机构用自己的私钥签名后颁发证书,最后传递给证书订阅人,证书订阅人在Web服务器上部署证书

用户建立好连接后,执行TLS握手,TLS握手的时候会先请求证书,服务器把公钥证书发给信赖方,信赖方(浏览器)根据证书链验证证书是否可信

在这里插入图片描述

在这里插入图片描述

7、非对称密码应用:DH密钥交换协议

在这里插入图片描述

RSA密钥交换没有前向保密性,在没有破解私钥之前,保存密文,破解私钥后,就可以解密之前所有保存的密文

在这里插入图片描述

DH密钥交换可以让双方在完全没有对方任何预先信息的条件下通过不安全信道创建起一个密钥,每次这个密钥都是是实时生成的,具备前向保密性

Server先生成公私钥private key1和public key1,公钥public key1发给Client,Client也生成一对公私钥private key2和public key2,公钥public key2发给Server,Client基于private key2和public key1基于一种算法生成密钥,Server基于private key1和public key2生成密钥,Client和Server生成的密钥是完全相同的,所以可以用作后面的对称加密

在这里插入图片描述

在这里插入图片描述

DH密钥交换协议的问题

中间人伪造攻击

  • 向Alice假装自己是Bob,进行一次DH密钥交换
  • 向Bob假装自己是Alice,进行一次DH密钥交换

解决中间人伪造攻击:身份验证

8、TLS1.2与TLS1.3中的ECDH协议

ECDH协议是ECC算法和DH结合使用,用于密钥磋商(双方可以在不共享任何秘密的情况下协商出一个密钥),这个密钥交换算法称为ECDH。ECDH协议使用ECC算法比DH密钥交换协议计算速度更快

在这里插入图片描述

TLS1.2通讯过程:

  1. Client告诉Server自己支持哪些安全套件
  2. Server选择安全套件告知Client
  3. Server发送证书,用于Client验证身份
  4. 传递Server生成的公钥给Client
  5. 告知Server以上步骤都完成
  6. Client生成相应的公钥发送给Server
  7. Server和Client根据自己的私钥和对方提供的公钥生成密钥,两边生成的密钥是相同的
  8. 基于生成的密钥进行通讯加密了

在这里插入图片描述

openssl 1.1.1版本对TLS1.3的支持情况

Ciphersuites安全套件

  • TLS13-AES-256-GCM-SHA384
  • TLS13-CHACHA20-POLY1305-SHA256
  • TLS13-AES-128-GCM-SHA256
  • TLS13-AES-128-CCM-8-SHA256
  • TLS13-AES-128-CCM-SHA256

TLS1.3中大大减少了所支持的安全套件的数量,特别是把一些不够安全的安全套件算法全部取消了

在这里插入图片描述

Client Hello和Server Hello选择安全套件导致TLS1.2有一个RTT的不必要的延时

TLS1.3中,Client在握手之前预先生成公私钥,在握手的第一次中就把公钥发送给Server,Server也会生成公私钥,Client和Server根据自己的私钥和对方提供的公钥生成密钥,接下来就开始通讯了

TLS1.3支持5种加密套件,那么Client和Server通信使用哪一种呢

Client会把这5种加密套件的公私钥全部生成,然后把5种公钥全部发给Server,由Server选定加密套件,并告知Client自己选定的公钥

9、握手的优化:session缓存、ticket票据及TLS1.3的0-RTT

1)、session缓存

在这里插入图片描述

第一次握手后服务器会生成一个session ID传给Client,在一定时间内,Client携带session ID再次访问Server,Server从缓存中取到session ID所对应的加密密钥,Server告知Client使用上次所使用的加密密钥即可,不需要再生成密钥

要求Client和Server缓存session ID和加密密钥

存在的问题

  • Server将session ID缓存到内存中,Server具有多个应用实例时,无法共享存储的session ID
  • 在内存中缓存session ID是有内存消耗的

2)、session ticket

在这里插入图片描述

每一台Server不需要再耗费内存存储session ID,而是基于集群中共享的密码,使用该密码加密相关的加密信息发送给Client,下次握手的时候Client把相关的加密后的信息发送给Server,Server解密后获取上次握手成功后的密钥

3)、TLS1.3的0RTT握手

在这里插入图片描述

TLS1.3的0RTT是指握手的时候携带相关的数据,在一个RTT后就可以收到response,握手过程中没有占用额外的RTT,所以称为0RTT

0RTT也是在第二次握手才可以完成的,在第一次握手的时候,Client和Server将相关的密钥信息缓存下来,第二次握手基于上次缓存的信息发送给Server,如果Server上次密钥的相关信息没有过期的话,就可以解密到密钥,把相应的response发给Client

在这里插入图片描述

Client发送一个POST请求,使用了上次缓存的密钥进行加密,最终改变了Server数据库中的内容,如果报文被截获,截获者不需要解密报文,只需要再重新发送该报文,就可以不停改变Server数据库中的内容

所以0RTT、session ticket、session ID都需要设置合理的过期时间

10、总结HTTPS的工作模式

下面使用《趣谈网络协议》中的流程图来总结下HTTPS的工作模式:

Client会发送Client Hello消息到Server,以明文传输TLS版本信息、加密套件候选列表、压缩算法候选列表等信息。另外,还会有一个随机数,在协商对称密钥的时候使用

Server返回Server Hello消息,告诉Client,Server选择使用的协议版本、加密套件、压缩算法等,还有一个随机数,用于后续的密钥协商

Server发送服务器端的证书,然后说:Server Hello Done,我这里就这些信息了

Client从自己信任的CA仓库中,拿CA的证书里面的公钥去解密Server的证书。如果能够成功,则说明Server是可信的

证书验证完毕之后,觉得这个Server可信,于是Client计算产生随机数字Pre-master,发送Client Key Exchange,用证书中的公钥加密,再发送给Server,Server可以通过私钥解密出来

到目前为止,无论是Client还是Server,都有了三个随机数,分别是:自己的、对端的,以及刚生成的Pre-Master随机数。通过这三个随机数,可以在Client和Server产生相同的对称密钥

有了对称密钥,Client就可以说:Change Cipher Spec,以后都采用协商的通信密钥和加密算法进行加密通信了

然后发送一个Encrypted Handshake Message,将已经商定好的参数等,采用协商密钥进行加密,发送给服务器用于数据与握手验证

同样,Server也可以发送Change Cipher Spec,说:没问题,以后都采用协商的通信密钥和加密算法进行加密通信了,并且也发送Encrypted Handshake Message的消息试试。当双方握手结束之后,就可以通过对称密钥进行加密传输了

参考

《Web协议详解与抓包实战》:https://time.geekbang.org/course/intro/100026801

《HTTPS协议:点外卖的过程原来这么复杂》:https://time.geekbang.org/column/article/9492

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TLS/SSL协议 的相关文章

  • 计算机网络笔记整理2——物理层

    点此链接可跳转到 计算机网络笔记整理 目录索引页 参考书籍 计算机网络 第八版 谢希仁编著 文章目录 点此链接可跳转到 计算机网络笔记整理 目录索引页 物理层的基本概念 物理层接口的基本特性 数据通信的基础知识 信道的极限容量 信道能够通过
  • 【计网】5.链路层:链路、接入网和局域网

  • SSL/TLS原理 详细整理版

    1 SSL TLS握手 简化版 浏览器 服务器 发起 gt 1 浏览器通知服务器浏览器所支持的加密协议 接收 接收 lt 2 服务器通知浏览器从1中选用的加密协议 并给予证书 发起 3 用CA的公钥鉴别服务器的证书是否有效 有效则生成一个随
  • 计算机网络 笔记 1 电路交换 报文交换 分组交换

    一 介绍 1 电路交换 应用实例 电话机 从电话发明至今 过程 建立连接 占用通信资源 gt 通话 一直占用通信资源 gt 释放连接 归还通信资源 特点 在通话的全部时间内 通话的两个用户始终占用端到端的通信资源 分析 电路交换主要应用在电
  • WebSocket协议

    文章目录 备注 一 什么是WebSocket 二 为什么要有WebSocket 三 WebSocket特点 3 1 全双工 3 2 数据传输使用二进制帧 3 3 服务地址沿用HTTP格式 3 4 默认端口为80和443 四 WebSocke
  • 【计算机网络】HTTP首部详解

    HTTP首部详解 HTTP 协议的请求和响应报文中必定包含 HTTP 首部 首部内容为客户端和服务端分别处理请求和响应提供所需要的信息 对于客户端用户来说 这些信息中的大部分内容都无需亲自查看 1 HTTP请求报文 2 HTTP响应报文 3
  • CSMA/CD与CSMA/CA区别

    CSMA CD与CSMA CA区别 CSMA CD可以检测冲突 但无法避免 CSMA CA发送包的同时不能检测到信道上有无冲突 本结点处没有冲突并不意味着在接收结点就没有冲突 只能尽量避免 传输介质不同 CSMA CD用于总线形以太网 CS
  • 【WIN7】基本【网络参数配置】

    可视化界面 步骤 控制面板 网络和Internet 网络和共享中心 连接 本地连接 属性 Internet协议版本4 TCP IPv4 属性 需要手动更改的有 IP地址 子网掩码 默认网关 DNS服务器 示例 IP地址 192 168 1
  • 小米路由器4A千兆版 OpenWRTInvasion 刷机教程

    2023 03 23 补充内容 最近又入手一台小米路由器4A千兆版 打算通过 CH341A 编程器刷成老毛子的 结果一拆机傻眼了 整个电路板上的芯片和硬件布局都换了 如果最近想刷机的先别着急开刷 先看看这篇文章 小米路由器4A千兆版更换5G
  • 【计算机网络】传输层——TCP

    文章目录 TCP TCP协议的特点 TCP报文段 TCP连接管理 TCP连接的建立 TCP连接的释放 TCP可靠传输 序号 确认 重传 超时 冗余ACK 冗余确认 TCP流量控制 TCP拥塞控制 慢开始和拥塞避免 慢开始算法 拥塞避免算法
  • 【一台服务器】【Web服务器】【DNS服务器配置】测试访问

    本次实验仅使用了一台服务器系统虚拟机 后续会在两台服务器系统虚拟机中进行 1 Windows Sever 2008 基本网络参数设置 如果不能解析域名 则需设置红框里面的DNS服务器地址 2 Web服务器网站设置 3 DNS服务器设置 3
  • UDP协议全面实验分析详解

    Thank For LYJ 目录 一 实验目的 二 实验环境 三 实验原理 四 实验内容 练习1 编辑并发送UDP数据报 练习2 UDP单播通信 练习3 UDP广播通信 五 实验结果 练习1 练习2 练习3 六 思考题 1 UDP协议的 校
  • 计算机网络常见题目

    题目地址 https www nowcoder com exam interview TCP和UDP的区别 回答要有条理 记起来好记 是什么 TCP是传输控制协议 UDP是用户数据报协议 它们都是属于传输层的协议 为应用层提供服务 而且他们
  • TLS/SSL协议

    1 TLS协议的工作原理 TSL设计目的 身份验证 保密性 完整性 Record记录协议 对称加密 Handshake握手协议 验证通讯双方的身份 交换加解密的安全套件 协商加密参数 2 对称加密的工作原理 1 XOR与填充 明文P和密钥K
  • 小米路由器4A千兆版更换5G芯片和硬件布局后出现的刷机问题

    最近又入手一台小米路由器4A千兆版 打算通过 CH341A 编程器刷成老毛子的 结果一拆机傻眼了 整个电路板上的芯片和硬件布局都换了 这是老板子 这是新板子 两张图可以很清楚的看到有很大的变化 那么 之前的那种刷机方式还管用吗 经过测试后出
  • 【计算机网络】JWT(JSON Web Token)初识

    JWT JSON Web Token 初识 JWT JSON Web Token 是目前最流行的跨域认证解决方案 1 跨域认证的问题 互联网服务离不开用户认证 一般流程是下面这样 用户向服务器发送用户名和密码 服务器验证通过后 在当前对话
  • 【计算机网络】图解应用层协议

    图解应用层协议 1 应用层 2 远程登录 2 1 Telnet 2 2 SSH 3 文件传输 3 1 FTP 3 2 TFTP 4 电子邮件 4 1 通信架构 4 2 邮件地址 4 3 SMTP 协议 4 4 POP3 协议 4 5 IMA
  • 王道考研计算机网络第二章--物理层

    目录 2 1通信基础 2 1 1物理层基本概念 1物理层基本概念 2 1 2数据通信基础知识 1典型的数据通信模型 2数据通信相关术语 3三种通信方式 4两种数据传输方式 2 1 3码元 波特 速率 带宽 1码元 2速率 波特 带宽 2 1
  • 计算机网络 第1章 概述 知识小结

    1 电路交换 报文交换和分组交换的主要优缺点 电路交换 优点 通信双方时延小 缺点 网络传输易堵塞 浪费资源且效率低 报文交换 优点 网络信道利用率较高 缺点 延时长 对转发中心要求高 需占用较大存储空间 分组交换 优点 高效 逐段占用 灵
  • 计算机网络:计算机网络拓扑结构的五种分类方式

    计算机网络拓扑分类 计算机网络的拓扑结构指网络节点和链路之间的分布和互连形成的物理形状 分类一 星形拓扑结构 一种以中央节点为中心 把若干外围节点连接起来的辐射状互联结构 优点 易扩充 控制简单 中央节点实施对全网的控制 缺点 中央节点会成

随机推荐

  • Jmeter 压测工具的安装及使用

    目录 一 简介 二 下载 三 安装 四 启动 五 使用 1 调整界面显示大小 2 添加线程组 3 添加 HTTP 请求 4 添加 HTTP 请求头 5 保存压测配置 6 启动压测 7 查看结果树 8 查看聚合报告 六 补充 1 设置中文 2
  • 阿里云源 Python、npm、git、goproxy

    阿里云源 Python npm git goproxy 各种设置源的方式也都比较常见 但是根本记不住 每次都查感觉也不太好 正好发现了个宝藏地址 看起来还挺全的 以后找源也可以先在这个地方翻翻 顺便就搞了几个放到一个脚本里边 脚本内容 py
  • xxl-job项目集成到springBoot

    源码 http www xuxueli com xxl job id E4 B8 80 E3 80 81 E7 AE 80 E4 BB 8B 一初始化数据库 脚本位置 xxl job doc db tables xxl job sql xx
  • C++11中的std::function

    文章转载自 http www jellythink com archives 771 看看这段代码 先来看看下面这两行代码 std function
  • 4、Elasticsearch数据类型

    一 Elasticsearch时区类型 Elasticsearch时区划分 GMT 格林威治标准时间 默认时区 UTC 世界协调时 DST 夏日节约时间 CST 中国标准时间 二 Elasticsearch Mapping结构 Mappin
  • Gitlab 配置 SSH-Key

    SSH Keys 在 cicd 或者个人使用 gitlab 中有着重要的作用 本文将接入如何配置 ssh key 一 生成本地 rsa 公钥 1 1 mac 系统 1 打开vim terminal app 查看本地是否存在SSH Key l
  • Android Studio 为项目更改git仓库

    1 VCS gt Git gt remotes 2 重新Push就好了
  • const指针与函数模板的小问题

    最近在写c pp的一道练习题时发现了一些有趣的问题 在此分享一下 题目考察的主要是函数模板及其显式具体化相关知识 在此为节省空间就不放出来了 以下是我最开始写成的样子 include
  • vue+iview+drawer , vue抽屉效果

    前言 iview 抽屉效果 通过class来控制内容需要展示的内容 效果展示图 第一 封装的组件cdrawer vue
  • pd添加列名数据变为nan

    for i t in enumerate real time print i t temp for j in range len lat print i t j for k in range len lon data t mlon j k
  • 现在人手必备Java面试八股文,从起跑线开始冲刺

    前言 2022秋招即将来临 很多同学会问Java面试八股文有必要背吗 我的回答是 很有必要 你可以讨厌这种模式 但你一定要去背 因为不背你就进不了大厂 国内的互联网面试 恐怕是现存的 最接近科举考试的制度 而且 我国的八股文确实是独树一帜
  • java版本工程项目管理系统源码-简洁+好用+全面-工程项目管理

    工程项目管理系统是指从事工程项目管理的企业 以下简称工程项目管理企业 受业主委托 按照合同约定 代表业主对工程项目的组织实施进行全过程或若干阶段的管理和服务 系统定义 工程项目管理企业不直接与该工程项目的总承包企业或勘察 设计 供货 施工等
  • Vscode中css样式书写提示的插件及使用方法

    我们在使用vscode的时候 发现在css样式中 选择器选中类名或者id名的时候 第一次调用需要手动输入 第二次调用才会自动提示 这样导致开发的过程中很不方便 下面我们使用插件进行解决这个问题 达到调用的时候可以自动提示的效果 1 找到两个
  • 网络编程之:TCP服务器的简单实现

    说到TCP服务器 就不得不提socket编程 我们知道 在TCP IP协议中 IP地址 TCP或UDP端口号 唯一标识络通讯中的唯一一个进程 IP地址 端口号 就称为socket 在TCP协议中 建立连接的两个进程各自有一个socket来标
  • Lxc之二—网络设置

    按照博客一所述 应该能够创建lxc虚拟机并运行虚拟机 如果是本地的话 应该能够进入虚拟机操作了 会发现虚拟机只提供了最原始和简单的一些程序 如果使用template方式 甚至连vim gcc python等都没有安装 更别说myql了 安装
  • F5会话保持机制

    1 什么是会话保持 在大多数电子商务的应用系统或者需要进行用户身份认证的在线系统中 一个客户与服务器经常经过好几次的交互过程才能完成一笔交易或者是一个请求的完成 由于这几次交互过程是密切相关的 服务器在进行这些交互过程的某一个交互步骤时 往
  • 一文读懂BERT(原理篇)

    一文读懂BERT 原理篇 2018年的10月11日 Google发布的论文 Pre training of Deep Bidirectional Transformers for Language Understanding 成功在 11
  • python导入机制及importlib模块

    文章目录 写在篇前 import 关键字 先导概念 namespace scope Module Packages module packages regular package namespace package importlib Lo
  • 描述子距离种类

    1 hausdorff距离 微分动力系统原理 这本书里有介绍 Hausdorff距离是描述两组点集之间相似程度的一种量度 它是两个点集之间距离的一种定义形式 假设有两组集合A a1 ap B b1 bq 则这两个点集合之间的Hausdorf
  • TLS/SSL协议

    1 TLS协议的工作原理 TSL设计目的 身份验证 保密性 完整性 Record记录协议 对称加密 Handshake握手协议 验证通讯双方的身份 交换加解密的安全套件 协商加密参数 2 对称加密的工作原理 1 XOR与填充 明文P和密钥K