版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sarafina527/article/details/89333536
目录
2.2.3.406:Certificate 发送服务端的证书及其根证书,
2.2.4.411:Server Key Exchange ,
2.2.5.412: Server Hello Done hello结束通知
2.2.6.417:Client Key Exchange 交换客户端的加密密钥
2.2.7.418:Application Data 应用数据
0.SSL握手
类似与TCP的3次握手建立TCP连接,SSL握手是用于建立SSL(Security Socket Layer)层的连接。SSL握手的场景很多,比如最常见的HTTPS,访问https://www.baidu.com 时,在进行HTTPS的应用数据传递之前,需要建立SSL的连接!!
1.SSL握手流程
- Client Hello 协商ssl/tls协议版本、加密算法套件
- Server Hello
- Certificate
- Server Key Exchange
- Server Hello Done
- Client Key Exchange
- Application Data Protocol: http-over-tls 业务数据安全传输
2.WireShark抓包分析
2.1握手数据包总览
3次握手TCP建立连接完成后,开始会话层的建立会话,
图中ip尾号为242的是客户端,121的是服务端
2.2数据包解析
每一个数据包的解析如下
2.2.1 客户端发送Client Hello,图中392号报文
主要是协商协议版本、加密算法套件(此处发送了17个套件)
通过一下的包,可以发现 主要时发送客户端SSL/TLS版本、随机数Random、计算算法套件Cipher Suites
2.2.2 服务端发送Server Hello ,403号
选择算法套件TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
2.2.3 Certificate 发送服务端的证书及其根证书,406
由于访问的是https://www.baidu.com/,所以需要传输Subject是baidu.com的公钥证书,以供客户端认证服务端的身份。
2.2.4 Server Key Exchange ,411
服务端交换通信密钥,如图发送了服务端加密公钥和签名算法
2.2.5 Server Hello Done hello结束通知 412:
2.2.6.417:Client Key Exchange 交换客户端的加密密钥
2.2.7 Application Data 应用数据 418号
业务数据加密后安全传输
总结
此处是访问百度主要的抓包分析,是单向认证的握手过程。
主要的握手过程 就是协商加密算法、客户端认证服务端,传输双方密钥等过程