wireshark如何抓取分析https的加密报文

【问题概述】

https流量基于ssl/tls加密,无法直接对报文进行分析。

【解决方案】

方案1 —— 利用“中间人攻击”的代理方式抓包分析。整个方案过程比较简单,这里不赘述,大致如下(详细可参见:https://www.cnblogs.com/liulinghua90/p/9109282.html):

    

方案2 —— 基于Chrome/Firefox等浏览器工作过程中需要在PC本地存储RSA密钥协商过程日志数据的原理基础,同时将协商过程的日志文件共享给wireshark从中提取过程密钥信息,从而得以解密。

  首先,咱们回顾下https协议交互的过程,大致如下:

    

  通过上面的协商过程可以看出,此次请求和响应使用的加密套件cipher suit是通过Client和Server双方协商出来的,并且整个协商由Client端的ClientHello发起。

  然后,基于原理分析,咱们可以通过以下三点使得wireshark对https的抓包、解密分析得以实现:

    1. 修改PC系统对cipher suit的支持情况,使其只支持基于RSA实现的一系列套件;

    2. 修改PC系统环境变量,使得wireshark得以共享协商过程的日志文件;

    3. 修改wireshark相关配置,使其能够实时提取到协商过程的密钥信息。   

  接下来,咱们详细总结下每个配置步骤的注意事项:

      1)修改PC系统对cipher suit的支持情况,使其只支持基于RSA实现的一系列套件:

    1. Win10下 Win + R 后的对话框中输入 gpedit.msc 打开“本地组策略编辑器”

    2. 按照以下路径找到“SSL 密码套件”: 计算机配置--管理模板--网络--SSL配置设置--SSL 密码套件

    3. 默认“未配置”,修改为“已启用”。此时能够看到系统支持的密码套件及其优先级顺序(TLS_AES_256_GCM_SHA384、TLS_AES_128_GCM_SHA256、TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384、TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256、TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384、TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256、TLS_DHE_RSA_WITH_AES_256_GCM_SHA384、TLS_DHE_RSA_WITH_AES_128_GCM_SHA256、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA、TLS_RSA_WITH_AES_256_GCM_SHA384、TLS_RSA_WITH_AES_128_GCM_SHA256、TLS_RSA_WITH_AES_256_CBC_SHA256、TLS_RSA_WITH_AES_128_CBC_SHA256、TLS_RSA_WITH_AES_256_CBC_SHA、TLS_RSA_WITH_AES_128_CBC_SHA、TLS_RSA_WITH_3DES_EDE_CBC_SHA、TLS_RSA_WITH_NULL_SHA256、TLS_RSA_WITH_NULL_SHA、TLS_PSK_WITH_AES_256_GCM_SHA384、TLS_PSK_WITH_AES_128_GCM_SHA256、TLS_PSK_WITH_AES_256_CBC_SHA384、TLS_PSK_WITH_AES_128_CBC_SHA256、TLS_PSK_WITH_NULL_SHA384、TLS_PSK_WITH_NULL_SHA256)

    4. 去除抓包方案中不支持的AES、PSK、ECDHE_ECDSA等诸多密码套件只保留RSA相关即可(TLS_RSA_WITH_AES_256_GCM_SHA384、TLS_RSA_WITH_AES_128_GCM_SHA256、TLS_RSA_WITH_AES_256_CBC_SHA256、TLS_RSA_WITH_AES_128_CBC_SHA256、TLS_RSA_WITH_AES_256_CBC_SHA、TLS_RSA_WITH_AES_128_CBC_SHA、TLS_RSA_WITH_3DES_EDE_CBC_SHA、TLS_RSA_WITH_NULL_SHA256、TLS_RSA_WITH_NULL_SHA) 

    5. 应用,确定(Tips:实验结束后还原系统密码套件,否则后续可能出现上网异常)

      2)修改PC系统环境变量,使得wireshark得以共享协商过程的日志文件;

    1. 按照以下路径找到“系统变量”: 控制面板--系统和安全--系统--高级系统设置--环境变量,具体配置如图所示:

    2. Chrome访问下百度主页,检查下此时系统变量里面的日志文件中成功记录了一些密钥协商的过程信息

      3)修改wireshark相关配置,使其能够实时提取到协商过程的密钥信息:

    1. 按照以下路径找到“(Pre)-Master-Secret log filename”: 编辑--首选项--协议--SSL--(Pre)-Master-Secret log filename

    2. 选择刚才环境变量中设置的文件路径和文件名,保存 

  最后,咱们看看抓包解密后的效果:

(0)

相关推荐

  • 再次折腾 RSS 之搭建 FreshRSS 服务

    为什么要自己搭建 RSS 服务 在 2020 年的今天,各种推荐算法和信息流已经很完善了,而选择使用 RSS 这种获取信息的方式,一方面是为了不陷入推荐算法的信息茧房,另一个原因是为了能够无障碍获取到 ...

  • 密码套件:密码,算法和协商安全设置(一)

    如果我们在与SSL / TLS和HTTPS加密的交互时间足够长,那么我们将会遇到"密码套件"这一个词组.听起来像一个某种服务套餐,但确实密码套件在我们通过Internet建立的每个 ...

  • 这 HTTPS,真滴牛逼!

    HTTPS 常用的密钥交换算法有两种,分别是 RSA 和 ECDHE 算法. 其中,RSA 是比较传统的密钥交换算法,它不具备前向安全的性质,因此现在很少服务器使用的.而 ECDHE 算法具有前向安全 ...

  • 群晖NAS安装KodExplorer文件管理器(域名绑定 外网访问)

    群晖NAS安装KodExplorer文件管理器 1.套件安装 KodExplorer 对于安装环境比较友好,已安装了PHP5.6套件和Apache2.2套件就能轻松应对了.但我这里推荐大家安装WebS ...

  • 华为ap3010DN

    [Huawei]dis current-configuration # http secure-server ssl-policy default_policy http server enable ...

  • Wireshark数据抓包分析之传输层协议(TCP协议)

    使用TCP协议传输数据相对来说更安全,因为通信双方拥有一个专属的通信通道,每发送一个数据包都有确认回复,若数据包丢失.如果发送放没收到确认包,就可以重发这个数据包. 最经典的例子就是三次握手.三次握手 ...

  • Wireshark 抓取127.0.0.1 本地包&&CPPhttplib&&postman

    Wireshark 抓取127.0.0.1 本地包&&CPPhttplib&&postman

  • Python 抓取网页乱码原因分析

    在用 python2 抓取网页的时候,经常会遇到抓下来的内容显示出来是乱码. 发生这种情况的最大可能性就是编码问题:运行环境的字符编码和网页的字符编码不一致. 比如,在 windows 的控制台(gb ...

  • Python做简单爬虫(urllib.request怎么抓取https以及伪装浏览器访问的方法)

    一:抓取简单的页面: 用Python来做爬虫抓取网站这个功能很强大,今天试着抓取了一下百度的首页,很成功,来看一下步骤吧 首先需要准备工具: 1.python:自己比较喜欢用新的东西,所以用的是Pyt ...

  • 耶鲁大学公布第一个仿生手抓取视频数据集,超60个小时22种分析法27000个抓取实例

    科幻电影中,动作自如的仿生假肢使身体残缺的人行动与常人无异,人类可以利用肌电信号,控制身外之物. 这一切都从内到外渗透着天马行空的想象力,各种未来科技世界的场景不禁让人心存涟漪--一位失去手臂的残疾人 ...

  • 使用wireshark抓取bilibili直播的真实地址

    一. 概述 我之前测试过bilibili的直播(主播使用OBS-studio推送),延迟是相当低,大概就是3s-4s延迟,所以猜测网上说的直播客户端使用hls协议播放是不可能的.hls如果是按照5秒切 ...

  • 如何抓取和分析互联网公开数据

    文/郑晓伟 导读:互联网蕴藏着丰富的公开数据资源,通过获取这些数据,作为城市研究的辅助支撑,是未来城市研究者必备的技能之一,近期我们也会继续介绍一些简单有趣的公开数据分析应用. 在互联网领域,对数据的 ...

  • Log抓取和分析

    参考文章: http://blog.csdn.net/createchance/article/details/51954142 Google为了方便Android开发人员分析整个系统平台或者某个AP ...

  • 英雄联盟地图的抓取与分析

    第 50 篇 读完需要 14 分钟 速读仅需 5 分钟 / 0.背景 / S11 比赛正在如火如荼的举行.作为一个 S3 赛季的老玩家和地理人,我想从另外个角度带你了解 LOL 的世界. / 1.数据 ...