《计算机网络—自顶向下方法》 第八章Wireshark实验:SSL

实验描述:

在本实验中,我们将研究安全套接层(SSL)协议,我们将会重点关注通过 TCP 连接发送的 SSL 记录。我们将会通过您的主机和电子商务服务器发送的 SSL 记录 的跟踪来实现。 我们将研究各种 SSL记录类型以及 SSL 消息中的字段。您可能会需要重新查看课本中的 8.6节。


实验过程:

1. 在 SSL 会话中抓包
  • 第一步是在 SSL会话中捕获数据包。要做这一步,您应该去你最喜欢电子商务网站开始购买物品(但是请勿真的购买)。使用 Wireshark捕获数据包后,应设置过滤器,使其仅显示包含主机发送和接收的 SSL记录的以太网帧。 (SSL记录就是 SSL消息)您应该获得如下屏幕截图所示的内容。

我这里访问的是淘宝,其实只要访问ssl加密的网站都可以(也就是以https开头的网站)。
在这里插入图片描述

2. 分析抓包结果

您使用的 Wireshark界面应该仅仅显示含有 SSL记录的以太网帧。建议您记住:每个以太网帧可能包含一个或多个的 SSL记录,这点很重要。(这与 HTTP消息不 同,每个以太网帧包含一个完整的 HTTP消息或者仅仅包含 HTTP消息的一部分) 因此,一个SSL记录可能会被多个以太网承载

回答问题:

  1. 对于前 8个以太网帧,请分别指出每一个帧的来源(客户端和服务器),确定每个帧包含的SSL记录的数量,并且列出包含SSL记录的类型。绘制客户端和服务器含有箭头指向的时序图。

答:
帧的来源直接可以通过SourceDestination可以看出,每个帧包含的SSL记录的数量可以在每个帧的Transport Layer Security可以看到,SSL记录的类型可以从Info看出。
在这里插入图片描述
时序图可以直接看WireShark自己绘制的,点击统计 -> 流量图 -> 限制显示过滤器
在这里插入图片描述

客户端发出请求 (ClientHello) 记录(ClientHello Record:) :
2. 每个 SSL记录都以相同的三个字段(可能具有不同的值)开头。 其中一个 字段是“内容类型”,长度为一个字节。 请列出所有三个字段及其长度。

答:Content Type字段为1字节,Version字段为2字节,Length字段为2字节:
在这里插入图片描述

  1. 展开 ClientHello记录(如果您的跟踪包含多个 ClientHello记录,请展开包 含第一个记录的以太网帧),内容类型的值是多少?

答:如上图:Content Type: Handshake(22)

  1. ClientHello记录是否包含随机数(也称为“挑战码”( challenge))? 如果是 这样,十六进制的挑战码值是多少?

答:包含,也就是下面的Random,太长了,就不写出来了。
在这里插入图片描述

  1. ClientHello记录是否通知了它所支持密码加密套件(suite)?如果是这样, 请在第一个密码套件, 分别指出非对称密钥加密算法,对称密钥加密算法,哈希算法分别都是什么?

答:
在这里插入图片描述
以下为别人总结的知识点:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

服务器回应(ServerHello) 记录 (ServerHello Record):
6. 找到 ServerHello SSL记录。 此记录是否指定了之前的密码套件之一? 选择的密码套件中有哪些算法?

答:指定了哈希加密算法(SHA哈希函数)。
在这里插入图片描述

  1. 此记录是否包含随机数?如果有,它有多长?SSL中客户端和服务器段随机数用来干什么?

答:
包含,有32字节,也就是用64个16进制数来表示。
多次随机数生成为未来生成对话密钥提高安全性能。
在这里插入图片描述

  1. 此记录是否包含会话 ID? 会话 ID的目的是什么?

答:包含(有的可能不会包含,也就是可以有也可以没有)
目的:用一定时间内端口连接快速恢复连接过程。
在这里插入图片描述

  1. 此记录是否包含证书,或者证书是否包含在单独的记录中。 证书是否适合一个单独的以太网帧传输?

答:此记录不包含证书,但是可以看到后面的一个Server Hello是包含证书的,而且包含在单独的记录内。
适合在一个单独的以太网帧传输。
在这里插入图片描述

客户端密钥交换记录(Client Key Exchange Record):
10. 找到客户端密钥交换记录。 此记录是否包含前主密钥(pre-master secret)? 这个前主密钥用于什么? 前主密钥加密了吗? 如果是这样,为什么? 加密的前主密钥有多长?

答:1)包含
2)
3)使用EC Diffie-Hellman(ECDH加密算法)进行加密传输,使用的是服务器公钥加密,用以给服务器让服务器用私钥解密并且使用前面两个hello过程的随机数生成本次的会话加密密钥。
4)32个字节
在这里插入图片描述

由客户端发送编码改变记录和加密握手记录:
11. 编码改变记录目的是什么?在您的跟踪中本记录有多少字节。

答:告诉服务器已经计算好加密密钥,以后将会用商定的加密方式和密钥加密传输了,在我的跟踪中该记录有6个字节。
在这里插入图片描述

  1. 在加密的握手记录中,什么是加密的? 为什么?

答:消息校验码是加密的,这个校验码是包含之前所有连接消息的摘要加密格式,只有服务器可以解开,因为在建立连接中,存在可能连接消息被侦听和更改的情况,因此还需要进行信息摘要计算和加密传输,判断是否存在异常,如果异常,将会直接关闭连接。

  1. 服务器是否还向客户端发送更改编码记录和加密的握手记录? 这些记录与客户发送的记录有何不同?

答:如下可以看出,服务器向客户发了。没有啥不同,加密握手记录中同样是包含之前所有连接消息摘要的加密形式,用以供客户端解密,判断是否存在异常选择处理。
在这里插入图片描述

应用数据(Application Data )
14. 如何加密应用程序数据? 包含应用程序数据的记录是否包含消息认证码 MAC? Wireshark是否区分加密的应用程序数据和消息认证码 MAC?

答:使用本次对话协商和交换好对称加密密钥应用程序数据,这个数据里同时包括消息本身和消息认证码,所以比消息本身要长,但是加密过,所以无法区分。
在这里插入图片描述

  1. 请您指出和解释您在跟踪中发现的任何其他内容。

答:Application Data报文中,没有发现其他内容。

发布了197 篇原创文章 · 获赞 18 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_41708792/article/details/103830097
今日推荐