前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Wireshark抓包分析SSL握手的过程

Wireshark抓包分析SSL握手的过程

作者头像
清菡
发布2022-06-21 15:21:03
2.5K0
发布2022-06-21 15:21:03
举报
文章被收录于专栏:清菡软件测试清菡软件测试

刚才用图和文字描述讲解了SSL协议的交互过程HTTPS协议--通过SSL协议实现安全保障的过程和原理

用Wireshark抓包进行详细的讲解。抓的是某机构腾讯课堂的首页。

(因为网页有变动,所以实际抓包抓到的内容与图片不符。但是图片中抓到的包是正确的,讲解的技术也是正确的。)

选择一个TLS的请求,右键--追踪流--TLS。

一、就能看到完整的SSL交互的过程:

上面是TCP三次握手,三次握手之后就进入SSL握手的过程。

二、SSL握手过程

1.第一个SSL握手是客户端向服务器发起的Client Hello消息。

点开这个请求看下内容:

可以看到第四层是TCP协议,源端口是随机的端口,目的端口是443。

SSL协议默认是基于TCP的443端口。HTTP默认是TCP的80端口。所以HTTPS默认是TCP的443端口。

TLS协议在四层之上。TLS协议里面是这样的类型:是一个握手协议,并且是个Client Hello。

支持TLS1.0,TLS1.2。

TLS是SSL协议的一个版本。 SSL协议版本:SSLv3,TLS1.0,TLS1.2

客户端把自己所支持的TLS版本都列在了Client Hello里面。就跟我们的加密套件是一样的。

这个是当前客户端所支持的所有的加密套件

以上就是Client Hello里面所包括的一些重要的消息。

2.Sever开始回复客户端Server Hello了。点开这个请求可以看到:

客户端支持TLS1.0和TLS1.2,服务器从中选了一个共同都支持的版本:TLS1.2。

这是个Server Hello的握手类型。

选一个共同都支持的加密套件:

服务器从客户端发的消息里面,选了版本选了套件。都在Server Hello里面都告诉了客户端。

3.Server Hello之后,服务器发了一个证书。

点开可以看到:

在这个里面主要看的是证书。服务器可能有很多个证书。它会把这些证书都加上都发给客户端。

4.客户端拿到证书去做验证。验证完毕后生成一个本地的随机密码,并且把密码发给服务器。

告诉服务器,我后面的报文开始加密了。点开请求可以看到:

里面可以看到:加密报文类型,会加密密钥。

这个是为了保证数据完整性的一个信息:

从抓包内容来看,客户端发完之后,这个过程完成了。(抓包工具将交互的过程简化了,都放一起了。如果看分开的具体过程就是上篇文章图片画的过程。)

三、握手结束,后面就开始发送HTTP数据包了。

可以看到这个HTTP数据包是加过密的:

http-over-tls意思是:是在tls基础上发的一个HTTP交互报文,是加密的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 清菡软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、就能看到完整的SSL交互的过程:
  • 二、SSL握手过程
    • 1.第一个SSL握手是客户端向服务器发起的Client Hello消息。
      • 2.Sever开始回复客户端Server Hello了。点开这个请求可以看到:
        • 3.Server Hello之后,服务器发了一个证书。
          • 4.客户端拿到证书去做验证。验证完毕后生成一个本地的随机密码,并且把密码发给服务器。
          • 三、握手结束,后面就开始发送HTTP数据包了。
          相关产品与服务
          SSL 证书
          腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档