-
网络与系统安全第四次作业
实验内容:访问使用安全协议HTTPS建立连接的网站,用Wireshark捕获连接建立过程并分析报文序列。
- 访问网站:www.baidu.com
用wireshark抓包,已知网站的IP地址为61.135.169.125,过滤规则如下:ip.addr == 61.135.169.125 && ssl。过滤出与之相关的SSL协议,如下图所示:
![](https://img2018.cnblogs.com/blog/1504872/201811/1504872-20181119211451850-66389343.png)
上边捕包所看的建立连接的握手过程可用下图2来描述.
![](https://img2018.cnblogs.com/blog/1504872/201811/1504872-20181119211501089-1940845047.png)
其中主要步骤有Client Hello、Server Hello和client key exchange 、change cipher spec。其中前两步生成了非对称加密的重要参数,创建了非对称密钥,后两个过程创建了对称加密密钥。
这里是TCP三次握手的包:
![](https://img2018.cnblogs.com/blog/1504872/201811/1504872-20181119211529380-1939002958.png)
此处不再对三次握手重点分析,三次握手之后就会建立SSL连接。
下边开始分析SSL连接的建立过程:
- 第一步:客户端发送 Client Hello数据包。
![](https://img2018.cnblogs.com/blog/1504872/201811/1504872-20181119211540065-83970918.png)
如图所示,851号包即为Client Hello数据包。数据包内的主要内容有:
支持的版本信息:TLS 1.2,随机数,Session ID、客户端支持的加密套件cipher suites列表、扩展字段extensions等。
- 第二步:服务端返回ServerHello数据包。
![](https://img2018.cnblogs.com/blog/1504872/201811/1504872-20181119211556282-282181561.png)
这个数据包中主要包含了服务器选择的版本,产生的随机字符串,使用的加密套件等。
服务器发送ServerHello的同时可能将包含自己公钥的证书发送给客户端(Certificate),如下图。
![](https://img2018.cnblogs.com/blog/1504872/201811/1504872-20181119211603855-1436676523.png)
- 第三步:客户端收到server hello之后,发送client key exchange,Change Cipher Spec,Encrypted Handshake Message给服务器端。
![](https://img2018.cnblogs.com/blog/1504872/201811/1504872-20181119211611409-1548756096.png)
- 第四步:客户端返回ACK以及会话的ticket。
![](https://img2018.cnblogs.com/blog/1504872/201811/1504872-20181119211618184-179373743.png)
这一步主要是建立ticket,修改加密方法,之后使用对称密钥加解密通行。
以上就是建立连接的大致过程。
-
相关阅读:
mysql之优化器、执行计划、简单优化
一条查询sql的执行流程和底层原理
mysql建立索引,实际工作中建立索引的示例
explain命令---查看mysql执行计划
mysql 一些知识点
开发中一些快捷键的使用
simple-rpc
maven
数组合并排序
SpringMVC配制全局的日期格式
-
原文地址:https://www.cnblogs.com/23du/p/9985785.html
Copyright © 2020-2023
润新知