基于wireshark抓包的分析

首先使用wireshark并且打开浏览器,打开百度(百度使用的是HTTPS加密),随意输入关键词浏览。

我这里将抓到的包进行过滤。过滤规则如下

ip.addr == 115.239.210.27 && ssl
  • 1

下面用图来描述一下上面抓包所看到的流程。

1. Client Hello

打开抓包的详细,如下。

不难看出,这一握手过程,客户端以明文形式传输了如下信息:

  1. 版本信息(TLS 1.2)
  2. 随机数
  3. Session ID(用于加快握手过程,可参考TLS会话复用)
  4. 加密套
  5. 压缩算法
  6. 其它一些扩展的(Extension),比如签名算法,服务器名称(本例为sp1.baidu.com);

Server hello

这一阶段,服务端返回所选择的协议版本(Version),加密套,压缩算法,随机数,Session ID等;

from:https://blog.csdn.net/u010536377/article/details/78989931

数据传输

经过了 SSL 握手后,服务端的身份认证成功,协商出了加密算法为 AES,密钥为 xxxxx(客户端和服务端拿三个随机值用相同算法计算出来的,并没有明文传输)。一切准备就绪。

SSL 握手成功,已经可以对接下来的数据加密了,接下来各种应用层协议都可以加密传输。

Application Data

应用数据传输消息。因为这里是 HTTPS,所以可以对 HTTP 应用协议数据加密然后传输了。

Secure Sockets LayerTLSv1.2 Record Layer: Application Data Protocol: http Content Type: Application Data (23) Version: TLS 1.2 (0x0303) Length: 1072 Encrypted Application Data: 6d9b3c9089271630c33506fe28cd6a61fed1f4bd2808f537... 

从这里,不知道密钥是无法知道这里传输的是什么数据,连传输的是什么协议的内容都不知道。

所以之前创建 SSL 隧道,让代理服务器盲传 HTTPS 数据,就得通过 CONNECT 方法告诉代理服务器要连哪台主机,哪个端口号,要不然代理服务器也是一脸懵逼。

所以 SSL 协议是很独立的,这里是对 HTTP 进行了加密,也可以对其他协议进行加密。它就像是 TCP 和应用层协议的中间层,为上层协议提供了加密的数据传输。

Encryted Alert

SSL 警告消息,因为是加密的内容,所以单从 Wireshark 看不出警报的内容。

Secure Sockets LayerTLSv1.2 Record Layer: Encrypted Alert Content Type: Alert (21) Version: TLS 1.2 (0x0303) Length: 48 Alert Message: Encrypted Alert 

但因为警报消息经常只是客户端用来提示服务端 SSL 传输结束,对照抓包到的内容确实如此。所以这里只是 SSL 传输结束的一个信号。

发出了 Encryted Alert 后客户端数据传输完毕,准备进入四次挥手断开 TCP 连接。

from:https://www.jianshu.com/p/cf8c2f2cd18a

为什么Wireshark无法解密HTTPS数据

密钥交换算法

密钥交换算法目前常用的有RSA和Diffie-Hellman。
对于密钥交换使用RSA算法,pre-master-secret由客户端生成,并使用公钥加密传输给服务器。
对于密钥交换使用Diffie-Hellman算法,pre-master-secret则通过在Key Exchange阶段交换的信息,由各自计算出pre-master-secret。所以pre-master-secret没有存到硬盘,也没有在网络上传输,wireshark就无法获取session key,也就无法解密应用数据。那我们是否可以反向计算出pre-master-secret呢?理论上可以,但是非常困难。
对Diffie-Hellman算法感兴趣的可以参考https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange

解决方法

说了这么多,究竟有什么办法可以让wireshark解密数据?我们可以通过下面几种方法来使wireshark能解密https数据包。
1. 中间人攻击;
2. 设置web服务器使用RSA作为交换密钥算法;
3. 如果是用chrome,firefox,可以设置导出pre-master-secret log,然后wireshark设置pre-master-secret log路径,这样就可以解密了。

转载于:https://www.cnblogs.com/bonelee/p/9577115.html

https wireshark抓包——要解密出原始数据光有ssl 证书还不行,还要有浏览器内的pre-master-secret(内存里)...相关推荐

  1. [实战]前端wireshark抓包协议解密

    前端wireshark抓包协议解密 废话不多说,先看看结果 该JSON文件是通过解密后的 HTTP 返回response结果再解密打开的新页面 有兴趣的小伙伴了解下之前的文章 Sha384解密[2] ...

  2. Wireshark抓包原理(ARP劫持、MAC泛洪)及数据流追踪和图像抓取(二)

    [网络安全自学篇] 十三.Wireshark抓包原理(ARP劫持.MAC泛洪)及数据流追踪和图像抓取(二) 2019年09月22日 21:55:44 Eastmount 阅读数 3515 文章标签:  ...

  3. wireshark 抓包 出现 SSL Continuation Data

    问题描述 使用 wireshark 抓包时,出现: 协议为 SSL Info 为 Continuation Data 但是 --却无法展开分析: 原因分析 ssl continuation data? ...

  4. https抓包_从Wireshark抓包看HTTPS的加密功能

    近几年,互联网发生着翻天覆地的变化,尤其是我们一直习以为常的HTTP协议,在逐渐的被HTTPS协议所取代,在浏览器.搜索引擎.CA机构.大型互联网企业的共同促进下,互联网迎来了"HTTPS加 ...

  5. hls二次加密 m3u8_HLS实战之Wireshark抓包分析

    0.引言 Wireshark(前称Ethereal)是一个网络封包分析软件.网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料.Wireshark使用WinPCAP作为接口,直 ...

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

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

  7. 访问网站,http、https协议抓包,完整分析

    HTTP.HTTPS协议 一.www.qq.com抓包 第一步:浏览器分析超链接中的URL www.qq.com 第二步:DNS请求 PC用本地IP地址向DNS服务器222.172.200.68发出D ...

  8. 【Wireshark系列十】wireshark怎么抓包、wireshark抓包详细图文教程

    wireshark怎么抓包.wireshark抓包详细图文教程 wireshark是非常流行的网络封包分析软件,功能十分强大.可以截取各种网络封包,显示网络封包的详细信息.使用wireshark的人必 ...

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

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

最新文章

  1. 接口测试 2021 接口测试白皮书 欢迎下载阅读
  2. IO实现账号密码校验
  3. 【周鸿祎:当下AI技术并不完善,存四大“冰点”】
  4. 树言树语:谁动了苹果的弦
  5. 推荐一个免费的最强刷题网站!
  6. 专家称 AI 可以在 120 年内接管人类的所有工作
  7. 使用JDK 11在Java字符串上的新方法
  8. js hover图片放大不遮挡_CSS3+JS 实现放大镜
  9. 160 - 9 Andrnalin.2
  10. BZOJ 1113: [Poi2008]海报PLA
  11. linux命令编写,Linux alias命令编写
  12. son-server模拟http mock数据
  13. linux resin mysql_【转】Linux下Resin+JSP+MySQL的安装和配置
  14. windows程序设计一 最简单的windows程序
  15. 计算激光雷达各点的仰角并分析其线数——根据lidar文档垂直角公式计算自己的激光雷达参数/以aloam为例子
  16. Win10系统怎么打开卓越模式?Win10这些隐藏模式你都知道吗?
  17. mysql jdbc密码密文_druid配置数据库连接使用密文密码
  18. 每一个梦想都要让它长上翅膀
  19. Lab、RGB、CMY、HSV、HSL
  20. 防止iOS自动识别数字为电话号码

热门文章

  1. 十二、解析H.264码流的宏块结构(上)
  2. gdb coredump
  3. 大数据SQL日常学习——CASE WHEN THEN END用法
  4. 小学计算机课总目标,小学信息技术课堂教学目标的确定与实现
  5. Linux下编译vtk的java版本,vtk在linux下的安裝(12月8日更新)
  6. php ios视频文件上传,iOS实现视频和图片的上传思路
  7. 【深度学习笔记】F1-Score
  8. scikit_image
  9. 求补码表示为10000000的真值
  10. 电脑主板维修_自学电脑主板维修第45讲