刚才用图和文字描述讲解了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交互报文,是加密的。


公众号 清菡软件测试 首发,更多原创文章:清菡软件测试 190+ 原创文章,欢迎关注、交流,禁止第三方擅自转载。如有转载,请标明出处。

Wireshark抓包分析SSL握手的过程相关推荐

  1. linux服务器抓包分析,抓包分析SSL/TLS连接建立过程总结

    1.前言 最近在倒腾SSL方面的项目,之前只是虽然对SSL了解过,但是不够深入,正好有机会,认真学习一下.开始了解SSL的是从https开始的,自从百度支持https以后,如今全站https的趋势越来 ...

  2. 抓包分析SSL/TLS连接建立过程

    点击上方蓝字,关注我们 1.前言 如今全站https的趋势越来越强烈,互联网对安全的认识越来越深入.本文根据自己的实际情况,对SSL链接建立做个总结.SSL相关的非对称加密和加密,涉及到公钥.私钥.证 ...

  3. 抓包分析SSL/TLS连接建立过程【总结】

    1.前言 最近在倒腾SSL方面的项目,之前只是虽然对SSL了解过,但是不够深入,正好有机会,认真学习一下.开始了解SSL的是从https开始的,自从百度支持https以后,如今全站https的趋势越来 ...

  4. wireshark抓包分析SSL/TLS协议

    SSL/TLS协议一般有两种握手过程,一种是SSL握手,一种是会话恢复.前些时候在写HTTP和HTTPS协议区别的时候介绍了SSL协议的相关理论知识,但多少还是有点抽象,今天我们可以通过wiresha ...

  5. 用wireshark抓包分析TCP协议的三次握手连接、四次握手断开

    用wireshark抓包分析TCP协议的三次握手连接.四次握手断开 一.TCP三次握手图解 二.TCP得四次挥手过程 三.用Fiddler抓包,分析验证一个HTTPS网站的TCP连接过程 一.TCP三 ...

  6. Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析

    Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析 一.介绍计算机网络体系结构 1.计算机的网络体系结构 在抓包分析TCP建立链接之前首先了解下计算机的网络通信的模型,我相信学习过计 ...

  7. Wireshark抓包分析TCP连接、发送数据与断开过程

    准备工具: 1. 两台连接到同个局域网的电脑,或者虚拟机; 2. 在其中一台电脑安装Wireshark; 3. 在两台电脑上面都有TCP&UDP测试工具软件 TCP连接建立过程(三次握手): ...

  8. Wireshark 抓包分析 RTSP/RTP/RTCP 基本工作过程

    整体而言,RTSP 通常工作于可靠的传输协议 TCP 之上,就像 HTTP 那样,用于发起/结束流媒体传输,交换流媒体元信息.RTP 通常工作于 UDP 之上,用于传输实际的流媒体数据,其中的载荷格式 ...

  9. 用Wireshark抓包分析协议 计算机网络

    此篇博客记录使用Wireshark抓包分析协议. 目录 一.DNS 二.分析TCP握手过程 三.TLS报文 四.HTTP协议 五.SMTP 六.ARP 七.RTP 八.RTMP 一.DNS DNS是域 ...

最新文章

  1. appium安装部署第二季
  2. mysql二进制日志文件差不多_mysql数据同步-基于二进制日志文件和position复制点的方式...
  3. python读取视频显示视频和保存视频文件
  4. 如何理解并学习javascript中的面向对象(OOP)
  5. cJSON_译(C中的超轻量级JSON解析器)
  6. 快速pow算法c语言_嵌入式必知基础算法(二)
  7. python中xpath_Python爬虫之Xpath语法
  8. 第三次学JAVA再学不好就吃翔(part85)--静态导入
  9. 如何校验内存数据的一致性,DynamicExpresso 算是帮上大忙了
  10. Linux struct itimerval用法
  11. @程序员,如何花式构建线程?
  12. 【软件测试】软件测试的基本流程(一般步骤)
  13. mysql 队列表设计_mysql主从同步操作,及队列设计
  14. 七阶拉丁方阵_C语言实例 拉丁方阵
  15. python docker sdk_使用Python Docker SDK命名镜像并创建容器
  16. 经典的EDA设计软件Protel99SE
  17. 蓝牙芯片 csr8645 和 qcc3005 哪个比较
  18. 文本蕴涵模型测试过程
  19. 【资讯】FL6410改名OK6410-B,硬件接口丰富,挑战mini6410送19张ARM光盘
  20. SAP中物料质检过程中检验批/物料凭证/过账变更通知之间的业务关联图

热门文章

  1. JAVA-BeanDefinition是什么?是干什么的?在哪里?里面有什么?
  2. java nmt_强大的nmt
  3. 机架式服务器要不要装系统,机架式服务器安装方法
  4. 基于STM32的常用数码管芯片TM1637驱动
  5. APP使用相机CameraX
  6. thinkphp mysql分表_数据库分表和分库的原理及基于thinkPHP的实现方法
  7. php 获取ip地址所在的区域
  8. js数组遍历的方法的一些细节
  9. linux tcpdump抓包命令使用详解
  10. Git 如何退出 git log 状态