首页 > 其他分享 >TLS1.3抓包分析----解密Application Data

TLS1.3抓包分析----解密Application Data

时间:2024-12-09 19:21:24浏览次数:3  
标签:浏览器 log ssl Chrome TLS1.3 会话 ---- Application

一、问题描述

TLS1.3 在两次握手后,开始加入加密传输。具体表现Change Cipher Spec之后出现 Application Data(加密后的数据,WireShark不能解密)。

二、解决方案

tls1.3 交互的双方分别是 谷歌浏览器和 支持tls1.3的服务器。WireShark在抓包过程中的作用是呈现数据交互,它本身不会存储客户端和服务端交互的各种信息。包括会话密钥。

所以想要让WireSharke解密需要告诉指定会话密钥,但这个信息只有浏览器知道。又因为Firefox和Chrome浏览器都支持用log文件的方式记录下用来加密TLS数据包对称会话秘钥的,

所以创建ssl.log来保存会话密钥,然后把这个文件路径告诉wireShark就能看到明文。

三、具体操作步骤

我的设备:mac os Sequoia 15.1.1  M3

1. 终端方式启动Chrome浏览器

将Chrome浏览器按指定log文件的方式,记录加密TLS数据对称会话密钥。(ssl.log填写自己的绝对路径)

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --ssl-key-log-file=/Users/test/log/ssl.log

2. 配置wireshark 日志路径

wireshark -> preferences -> Protocols -> tls 

 3. 打开浏览器请求域名验证

浏览器输入https://api.github.com,查看ssl.log是否有内容产生(如下)。

4. 效果

可以看到Application Data变成了 Certificate, Certificate verify, Finished。

 

四、排查过程

https://www.jianshu.com/p/9c027c580f8d

网络上找了好久,都是在重复copy这个人的思路。可是这种windows的方式并不能解决我的问题。问题主要卡在了文内设置完系统变量后,浏览器就会自动使用,可是明显mac不是这样的。于是我就在寻找如果让我本地浏览器按指定日志的方式启动。

后来在一偏文章中看到了 --ssl-key-log-file=xx.log。到这里浏览器和抓包工具联系起来了,问题也解决了。

 

标签:浏览器,log,ssl,Chrome,TLS1.3,会话,----,Application
From: https://www.cnblogs.com/wangxiangstudy/p/18595848

相关文章

  • 解题报告-论对“分组背包”的新理解
    解题报告-论对“分组背包”的新理解分组背包都知道,但是有一种新式分组背包,它不像我们想的那样每组只能选一个,但是这样的背包问题又是与分组强相关的,那么怎么做呢?这道题、这道题和这道题就是这种分组背包的典范。这种背包问题的共同特征是:选完一组背包中的上一个后,才能选下一个。......
  • C# HTTP实现断点续传客户端和服务端
    一、开篇描述本篇博客所描述的断点续传功能是基于c#语言,服务器端采用.net mvc框架,客户端采用winform框架。本篇博客实现断点续传功能的基本思路:1)服务器端是把接收到的文件流,追加到已有的文件;2)客户端是把文件流截段上传;其实,任何一种计算机语言基于这个思路(web客户端JavaScript......
  • Mysql索引失效问题demo
    Mysql索引失效问题demo#1.准备工作CREATETABLE`user`(`id`INTNOTNULLAUTO_INCREMENT,`code`VARCHAR(20)COLLATEutf8mb4_binDEFAULTNULL,`age`INTDEFAULT'0',`name`VARCHAR(30)COLLATEutf8mb4_binDEFAULTNULL,`height`INTDEFAULT&#......
  • 【学习笔记】树分治
    点分治普通的分治在一段子段\([l,r]\)中处理和\(mid\)有关的信息然后递归处理\([l,mid)\)和\((mid,r]\)。由于中点的优秀性质这种看似暴力的做法实际复杂度是\(O(n\logn)\)的。点分治是一种把分治思想运用到树上解决问题的算法(但是其实更多人愿意称其为数据结构?)。它一......
  • Java 配置文件读取指南:多种方式解析与应用
    目录引言使用ResourceBundle读取配置文件使用Properties读取配置文件并创建DataSource3.1从文件系统读取配置文件3.2从类路径读取配置文件使用ConfigurableApplicationContext读取Spring配置文件使用YamlPropertiesFactoryBean读取YAML配置文件使用Hi......
  • 【redis】关于查询和分析redis中的bigkeys问题
    一、场景   今年的实际业务中,出现了一次redisbigkeys导致的生产事故,导致业务1个小时收不到指令。 二、关于bigkeys查询方法1、使用redis-cli加--bigkeys参数$redis-cli-h192.168.3.74-p6379--bigkeys  2、使用redis-cli中的scan和memoryusagehttps://op......
  • 上周热点回顾(12.2-12.8)
    热点随笔:· 网站刚上线,就被DDoS攻击炸了! (程序员鱼皮)· 终于解决了.net在线客服系统总是被360误报的问题(对软件进行数字签名) (升讯威在线客服系统)· 翻到了我2016年的面试经历,那是一个互联网的黄金时代。 (why技术)· 瞧瞧别人家的参数校验,那叫一个优雅! (苏三说技术)......
  • 【Fiddler】iOS抓取全部显示“Tunnel to......443”
     前面的流程正常配置 IOS下载证书:IP+端口--192.168.XX.XX:8888正常情况能抓取,如果出现无法抓取到https请求,显示http灰锁,报443。 fiddler中log报错:由于远程方已关闭传输流,身份验证失败。解决方法(原因-默认的证书不符合Android和iOS的证书要求): (1)将电脑端中的证书,使......
  • flask框架大学生校园兼职平台毕设源码+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于大学生校园兼职平台的研究,现有研究多集中在大学生兼职的一般情况分析,如兼职的种类、兼职的动机等方面。专门针对大学生校园兼职平......
  • SQL语句在数据库中的执行原理
    连接管理客户端发起连接当客户端应用程序(如MySQLWorkbench、命令行客户端或自定义的程序通过数据库连接库)希望与MySQL服务器交互时,它会使用特定的网络协议(如TCP/IP)向MySQL服务器发送连接请求。这个请求包含了客户端想要连接的MySQL服务器的地址(通常是IP地址和端......