抓包分析:wireshark抓不到TLS1.3数据包中证书的解决方案

近日工作中遇到需要分析使用TLS1.3协议进行通信的数据包的情况,但使用wireshark进行分析发现不能抓到服务端证书,感到诧异遂设法解决

这篇博客给出解决方案,和简单的原理分析

解决方案:

第一步:在任意合适路径新建一文件,命名为"ssl.log"

我这里新建了一个记事本文件,不需要对文件进行任何编辑,直接重命名修改文件名以及拓展名。

第二步:修改计算机环境变量,将刚刚创建的"ssl.log"作为环境变量"SSLKEYLOGFILE"的值

按照数字顺序进行操作,在变量值部分需要输入你第一步创建的文件的路径

第三步:修改wireshark配置

打开wireshark,在顶部导航栏选中"编辑"->"首选项"->左侧"protocol"展开下拉找到"TLS"

(由于版本原因,找不到"TLS"的可以找"SSL")

在红框位置选中第一步所创建的文件的路径,点击确定即可。

至此,如果没有操作出错,重启wireshark后再次去抓包便可以解析TLS1.3协议中先前未能解密的部分了

(仅测试两款浏览器,Chorme浏览器可正常分析,Edge暂时不可)

原理分析:

在TLS1.3中,ChangeCipherSpec之后的消息都进行了加密,Wireshark没有主动存储HTTPS 连接产生随机数密钥等信息,所以缺乏对消息进行解密的能力,证书等部分信息只显示为ApplicationData,其内部其实是加密传输的数据。

包括chrome浏览器在内的一些浏览器会在系统中名为 SSLKEYLOGFILE 的环境变量已经设置的情况下,将每个 HTTPS 连接产生的客户端或服务端的随机数、preMasterSecret、MasterSecret 全部获取到并保存在这个环境变量指定的文件中,通过第二步设置让wireshark可以读取到这些参数,报文内加密的证书等信息就自然可以解密出来了

综上所述,今后再有针对TLS1.3进行抓包的情况,建议使用提前进行上述配置的电脑配合chrome浏览器进行抓包;如果情况不允许使用自带电脑时,应在测试电脑配置该log文件并设置为环境变量,使用chrome浏览器进行抓包后连同log文件和抓包文件一同拷贝留存,分析时将log文件导入wireshark进行分析。

参考链接:

①TLS1.3 抓包分析_tls1.3抓包分析-CSDN博客

②https - 🦈 如何用 wireshark 抓包 TLS 封包 - 前端和Node学习笔记 - SegmentFault 思否

ps.(别鉴抄了,隔壁站也是我发的qwq)抓包分析:wireshark抓不到TLS1.3数据包中证书的解决方案 - Draina - 博客园近日工作中遇到需要分析使用TLS1.3协议进行通信的数据包的情况,但使用wireshark进行分析发现不能抓到服务端证书,感到诧异遂设法解决这篇博客给出解决方案,和简单的原理分析https://www.cnblogs.com/Draina/p/18435981

相关推荐
lpfasd1231 小时前
网络盘上的同一个报错,两个 AI 各走了一条路
网络·ai编程
Meta Luo1 小时前
UI 自动化测试中的等待、超时和异步加载怎么处理
功能测试·测试工具·ui·回归·自动化
腾科IT教育1 小时前
HCIE-Datacom通关经验分享 - 毕业一年网工备考心得
网络·经验分享·学习方法·华为认证·hcie·数通
瑞克-桑切斯1 小时前
真实企业场景 运维安全与管理
java·网络·github
星恒讯工业路由器2 小时前
2030通信网络决策:5G-A与6G的战略选择框架
网络·物联网·信息与通信·6g·5g-a·通信物联网·tco成本
见合八方2 小时前
光通信系统中的光电探测器
网络·soa·光通信·激光雷达·半导体光放大器
星恒讯工业路由器2 小时前
双栈时代的访问断层:当同一个域名走向两条网络路径
网络·物联网·信息与通信·ipv4·通信·ipv6·双栈网络
猿究院_夏燊3 小时前
SpringMVC 到底是怎么干活的?
java·网络·职场和发展
电子制造自留地3 小时前
AI服务器高多层PCB设计:阻抗控制、层间对位与孔金属化工程要点
大数据·网络·人工智能·科技·pcb工艺