Wireshark 解密並導出TLS 1.2 / TLS 1.3 明文的方法(可控制 Client 端)
文章目录前情提要前提說明方法一:RSA 私鑰解密(僅適用 TLS 1.2,且 Cipher Suite 無 ECDHE/DHE)方法二:SSLKEYLOGFILE(推薦,TLS 1.2 與 TLS 1.3 皆適用)1. 設置環境變數2. 依 Client 類型確認接入方式3. 抓包 產生流量4. Wireshark 指向 keylog 檔案5. 驗證總結建議前情提要Wireshark will decrypt the TLS (HTTPS) traffic and save the plain text: 將TLS (https) decrypt 並保存明文筆者現職開發 WiFi router/AP/bridge/local controller 產品經常遇到各類傳輸throughput/traffic 問題加上 cyber security 要求高漲的情況下提供一種 debug 的方法前提說明項目TLS 1.2TLS 1.3是否支援 RSA 靜態私鑰解密支援(僅限 Cipher Suite 為 RSA key exchange,不含 ECDHE/DHE)不支援,協定已移除靜態 RSA 金鑰交換,憑證私鑰只用於簽章認證SSLKEYLOGFILE 是否適用適用適用(唯一可行方法)結論:若要一套方法同時涵蓋 TLS 1.2 與 TLS 1.3,應統一採用SSLKEYLOGFILE。RSA 私鑰法僅作為 TLS 1.2 且未使用前向保密時的備選。方法一:RSA 私鑰解密(僅適用 TLS 1.2,且 Cipher Suite 無 ECDHE/DHE)Wireshark → Edit → Preferences → Protocols → TLS「RSA keys list」→ Edit → 新增一筆:IP address(伺服器 IP,可用any)Port(通常 443)Protocol(通常http)Key File(PEM 格式私鑰路徑,若有密碼則填入 Password)抓包須包含完整 handshake(ClientHello ~ Certificate),Wireshark 會自動解密對應 Application Data,顯示在「Decrypted TLS」層。限制:Cipher Suite 名稱含ECDHE/DHE即代表前向保密,此法無效;TLS 1.3 一律無效。方法二:SSLKEYLOGFILE(推薦,TLS 1.2 與 TLS 1.3 皆適用)1. 設置環境變數exportSSLKEYLOGFILE/path/to/keylog.txt需在啟動 client 進程之前設置,同一 shell/進程環境下執行。2. 依 Client 類型確認接入方式Client是否原生支援環境變數備註Chrome / Chromium / Edge是易上手但系統笨重設好變數直接啟動即可自動寫入Firefox是同上curl(OpenSSL/BoringSSL/LibreSSL 編譯,7.61)是環境變數自動生效OpenSSLs_client(1.1.1)否,用參數openssl s_client -keylogfile keylog.txt ...最推薦openssl compile 可以比 curl 更加輕量化Python(3.8)否,需程式碼設置ctx.keylog_filename /path/keylog.txt(需自建ssl.SSLContext,requests需搭配urllib3/httpx自訂 adapter)Node.js(12)否,需程式碼設置監聽tlsSocket.on(keylog, line fs.appendFileSync(path, line))Java(JSSE)否需額外掛 Java agent(如SSLKeyLogWriter)產生自寫 C/C(OpenSSL 1.1.1)否輕量化的極致。需呼叫SSL_CTX_set_keylog_callback()自行寫檔3. 抓包 產生流量先啟動 Wireshark 抓包(或 tcpdump/dumpcap),再執行 client 產生目標連線,抓包時間需涵蓋完整連線過程。此時問題就變成如何將 sslkeylog 移動到 wireshark 的運行平台畢竟比較不可能是使用 client 來運行4. Wireshark 指向 keylog 檔案Edit → Preferences → Protocols → TLS → 「(Pre)-Master-Secret log filename」→ 選擇keylog.txt。5. 驗證打開對應 TCP 連線,Application Data 封包下應出現「Decrypted TLS」層並顯示明文(如 HTTP/2 請求回應)。常見失敗原因:keylog 檔案沒有對應連線記錄(client 實際未寫入,常見於 Python/Node.js 未在程式碼中顯式設置)抓包未包含 ClientHello 等握手起點封包Wireshark 版本過舊,不支援 TLS 1.3 解密(建議 3.0)總結建議若目標流量可能含 TLS 1.3,直接採用 SSLKEYLOGFILE,不要依賴 RSA 私鑰法。RSA 私鑰法僅在舊系統、明確使用 RSA key exchange 且無法修改 client 時才考慮。Python / Node.js / Java 等語言需要額外修改程式碼或掛載 agent 才能產生 keylog,不能只靠設環境變數。

相关新闻

Kimi联网搜索结果精准度提升实战(实测提升67.3%召回率):从API调用链到缓存穿透的全栈优化路径

Kimi联网搜索结果精准度提升实战(实测提升67.3%召回率):从API调用链到缓存穿透的全栈优化路径

更多请点击: https://kaifayun.com 第一章:Kimi联网搜索结果精准度提升实战(实测提升67.3%召回率):从API调用链到缓存穿透的全栈优化路径 在真实生产环境中,Kimi大模型调用外部搜索引擎API时,原…

2026/7/23 16:49:58 阅读更多 →
AI与大模型新闻日报 | 2026-07-23

AI与大模型新闻日报 | 2026-07-23

AI与大模型新闻日报20260723大模型技术共 11 条新闻1. “Gemini,谁啊?”谷歌前沿 AI 模型迟迟未发布,竞争对手“群嘲”来源: IT 之家时间: 2026-07-22 23:25摘要: IT之家 7 月 23 日消息,据《商业内幕》今天(23 日&…

2026/7/23 16:49:58 阅读更多 →
2026制造业图纸协作网盘选型:CAD大文件同步慢、版本混乱怎么办?

2026制造业图纸协作网盘选型:CAD大文件同步慢、版本混乱怎么办?

选型前,先看清制造业图纸协作的真正痛点 做制造业信息化的人都知道,图纸文件管理和普通办公文档完全是两个世界。 一张SolidWorks装配体文件动辄500MB到2GB,包含了数百个零件引用、材质定义和约束关系。设计工程师改了一个倒角或者调整了一…

2026/7/23 16:49:58 阅读更多 →

最新新闻

基于springboot滑雪场预约系统

基于springboot滑雪场预约系统

滑雪场预约系统的选题背景随着冬季运动的普及和滑雪旅游的蓬勃发展,滑雪场逐渐成为人们休闲娱乐的热门选择。传统的滑雪场管理方式依赖人工预约和现场购票,效率低下且容易出错,尤其在旅游旺季,排队时间长、信息不对称等问题严重影…

2026/7/23 16:58:01 阅读更多 →
实用视频格式转换工具:转GIF、转音频和各类格式转换

实用视频格式转换工具:转GIF、转音频和各类格式转换

聊一聊这几天连续分享的都是跟视频有关的文章,现在的文章风格和上次写的《文档生成视频转换工具》一样了。另外,还分享了《视频横转竖神器》,为的就是能更好地适应各大平台,适应用户。现在大家看文章的少了,听文章&…

2026/7/23 16:58:01 阅读更多 →
MediaPipe手部追踪与Rerun可视化实战

MediaPipe手部追踪与Rerun可视化实战

1. 项目概述 MediaPipe作为Google开源的多媒体机器学习框架,其手部追踪解决方案在计算机视觉领域已成为实时手势交互的黄金标准。这个项目将展示如何利用MediaPipe的Hand Landmark模型配合Rerun可视化工具,构建一个端到端的手势识别系统。不同于传统Open…

2026/7/23 16:58:01 阅读更多 →
Unity射线检测与LineRenderer可视化实战:从原理到性能优化

Unity射线检测与LineRenderer可视化实战:从原理到性能优化

1. 项目概述:为什么射线检测是Unity开发的基石在Unity开发中,无论是制作一款第一人称射击游戏,还是开发一个VR交互应用,甚至是实现一个简单的UI点击反馈,有一个功能你几乎无法绕开,那就是射线检测。它就像开…

2026/7/23 16:58:01 阅读更多 →
Minidayz1.4.1网页版:生存游戏轻量化与跨平台优化

Minidayz1.4.1网页版:生存游戏轻量化与跨平台优化

1. Minidayz1.4.1网页版:经典生存游戏的轻量化重生作为一个从2013年就开始接触生存类游戏的硬核玩家,我至今还记得第一次在手机上打开Minidayz时的震撼。这款由Bohemia Interactive开发的像素风生存游戏,用极简的界面和硬核的机制&#xff0c…

2026/7/23 16:58:01 阅读更多 →
python 学习资源推荐系统

python 学习资源推荐系统

一、关键词学习资源推荐系统、学习资源推荐、学习资源推荐信息管理、学习资源推荐后台管理二、作品包含源码数据库PPT全套环境和工具资源本地部署教程三、项目技术前端技术: Html、Css、Js、Vue2.6、Element-ui后端技术:Java、SpringBoot2.2.2、MyBatis-…

2026/7/23 16:57:00 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 12:54:44 阅读更多 →

月新闻