用 Wireshark 在 Firefox 或 Google Chrome 上使用 SSLKEYLOGFILE 环境变量解密 SSL 流量
原文:这
您希望使用 SSL 会话密钥解密和检查 SSL 应用程序数据。
您希望在客户端系统上记录 SSL 会话密钥。
您正在客户端系统上使用 Firefox 或 Google Chrome 浏览器来访问 Web 应用程序。
注意:您还可以在客户端系统上使用 Microsoft Edge (Chromium) 浏览器访问 Web 应用程序。
描述
您可以使用 SSL 会话密钥解密 SSL 流量。执行此操作的一种方法是将 SSLKEYLOGFILE 环境变量设置为客户端操作系统上的文件名,以记录 SSL 密钥信息。此方法在以下任何情况下都很有用:
出于安全原因,您只能记录一个用户的 SSL 会话密钥。
您无权访问 BIG-IP 系统,或者不想在 BIG-IP 系统上运行命令。
您可以使用此方法解密 RSA 以及基于 Diffie-Hellman 的密钥交换(如 DHE 或 ECDHE)。
记录 SSL 会话密钥的其他方法是使用 K10209:使用 ssldump 实用程序进行数据包跟踪概述中描述的 ssldump 命令,或使用 K16700:使用 SSL::sessionsecret iRules 命令 (11.6.x) 解密 SSL 流量中描述的 iRules。
先决条件
必须满足以下先决条件才能使用此过程:
您正在客户端系统上使用 Firefox 或 Chrome 浏览器来访问 Web 应用程序。
在客户端系统上安装了 Wireshark。
程序
要在使用 Firefox 或 Chrome 时通过设置 SSLKEYLOGFILE 环境变量来解密 SSL 流量,请根据计算机的操作系统执行以下两个过程:
通过设置 SSLKEYLOGFILE 环境变量,在以下客户端系统之一上记录 SSL 会话密钥:
在 Windows 上记录 SSL 会话密钥
在 Mac 上记录 SSL 会话密钥
在 Linux 上记录 SSL 会话密钥
在 Wireshark 中加载 SSL 密钥日志文件
在 Tshark 中加载 SSL 密钥日志文件(Wireshark 的命令行版本)
注意:本文介绍如何使用 Wireshark 应用程序在数据包捕获中解密 SSL 应用程序数据;但是,您不必使用 Wireshark 来收集初始数据包捕获。有关详细信息,请参阅 Wireshark.org。此链接会将您带到 AskF5 之外的资源,并且可能会在我们不知情的情况下删除该文档。
重要提示:F5 支持 BIG-IP 系统软件。F5 不支持第三方软件,例如客户端操作系统或安装在客户端系统上的非 F5 应用程序。有关详细信息,请参阅操作系统手册。
有关这些过程的简要演示,请观看以下视频:
在 Windows 上记录 SSL 会话密钥
要通过设置 SSLKEYLOGFILE 在 Windows 上记录 SSL 会话密钥,请执行以下过程:
程序影响: 执行以下过程不应对系统产生负面影响。
登录到 Windows。
关闭所有 Firefox 和 Chrome 浏览器。
通过选择屏幕左下角的 Windows 图标来打开环境变量。
输入 env。
选择编辑帐户的环境变量。
在“环境变量”弹出窗口中,在“<用户名>的用户变量”下,选择“新建”。
对于 Variable name (变量名称),输入以下名称:
SSLKEYLOGFILE
对于 Variable value (变量值),输入 SSL 日志文件的完整路径名。
例如:
C:\Users\user1\Desktop\sslkeylog.txt
注意:您必须对输入的位置具有写入权限。
选择“确定”。
使用 Wireshark 等应用程序启动数据包捕获。
启动 Firefox 或 Chrome。
访问 Web 应用程序并执行要进行故障排除的步骤。执行此操作时,SSL 会话密钥将记录在步骤 8 中指定的文件中。
停止数据包捕获并将文件保存到客户端系统。
注意:在Wireshark中执行上传SSL密钥日志文件过程并查看解密的数据包捕获文件后,可以删除SSL日志文件以还原更改。
在 Mac 上记录 SSL 会话密钥
要通过设置 SSLKEYLOGFILE 在 Mac 上记录 SSL 会话密钥,请执行以下过程:
程序影响:执行以下过程不应对系统产生负面影响。
登录 Mac。
确保所有 Firefox 和 Chrome 浏览器都已关闭。
注意:在 Mac 中,应用程序可能会在后台运行。您必须使用屏幕左上角 Apple 菜单中的“强制退出”来强制退出应用程序。
启动 OS X 终端以进行命令行访问。
使用以下命令语法为您的帐户设置 SSLKEYLOGFILE 环境变量:
导出SSLKEYLOGFILE=“/Users/<account_name>/sslkeyfile”
例如:
导出 SSLKEYLOGFILE=“/Users/user1/sslkeyfile”
使用 Wireshark 或 tcpdump 等应用程序启动数据包捕获。使用以下命令在 Mac 上打开 Wireshark 应用程序,然后开始捕获:
打开 /Applications/Wireshark.app
有关 tcpdump 的信息,请参阅 K411:使用 tcpdump 实用程序进行数据包跟踪概述。
使用以下命令语法从同一终端启动 Firefox 或 Chrome:
打开 /Applications/
注: 您必须从同一命令终端启动浏览器,因为会话变量仅在终端上设置。
例如:
打开 /Applications/Firefox.app
访问 Web 应用程序并执行要进行故障排除的步骤。执行此操作时,SSL 会话密钥将记录在步骤 4 中指定的文件中。
停止数据包捕获并将文件保存到客户端系统。
注意:在Wireshark中执行上传SSL密钥日志文件过程并查看数据包解密的捕获文件后,可以通过输入以下命令删除SSL日志文件以还原更改:export SSLKEYLOGFILE=“”。
在 Linux 上记录 SSL 会话密钥
要通过设置 SSLKEYLOGFILE 在 Linux 上记录 SSL 会话密钥,请执行以下过程:
程序影响:执行以下过程不应对系统产生负面影响。
登录 Linux。
关闭所有 Firefox 和 Chrome 浏览器。
打开用于命令行访问的终端。
使用以下命令语法为您的帐户设置 SSLKEYLOGFILE 环境变量:
导出 SSLKEYLOGFILE=“/home/<account_name>/sslkeyfile”
例如:
导出 SSLKEYLOGFILE=“/home/user1/sslkeyfile”
使用 Wireshark 或 tcpdump 等应用程序启动数据包捕获。有关 tcpdump 的信息,请参阅 K411:使用 tcpdump 实用程序进行数据包跟踪概述。
从同一终端启动 Firefox 或 Chrome。
例如:
Firefox 和
注: 您必须从同一命令终端启动浏览器,因为会话变量仅在终端上设置。
访问 Web 应用程序并执行要进行故障排除的步骤。执行此操作时,SSL 会话密钥将记录在步骤 4 中指定的文件中。
停止数据包捕获并将文件保存到客户端系统。
注意:在 Wireshark 中执行上传 SSL 密钥日志文件过程并查看解密的数据包捕获文件后,可以通过输入以下命令删除 SSL 日志文件以还原更改:export SSLKEYLOGFILE=“”。
在 Wireshark 中加载 SSL 密钥日志文件
在客户端系统上打开 Wireshark。
转到编辑>首选项>协议> TLS。
注意:对于低于 3.0.0 的 Wireshark 版本,请转到编辑>首选项>协议> SSL。对于 Mac,请转到 Wireshark >首选项>协议> TLS。
对于“(Pre)-Master-Secret”日志文件名,请选择“浏览”并找到您创建的 SSL 日志文件。
选择“确定”。
在 Wireshark 中打开数据包捕获文件。
在 Wireshark 数据包窗口中,选择以前加密的数据包以查看未加密的应用程序数据。
在 Tshark(Wireshark 的命令行版本)中加载 SSL 密钥日志文件
在 Tshark 命令行上指定 tls.keylog_file: 选项。例如:
tshark -o ‘tls.keylog_file:日志文件.pms’ -r capture.pcap
相关文章:
用 Wireshark 在 Firefox 或 Google Chrome 上使用 SSLKEYLOGFILE 环境变量解密 SSL 流量
原文:这 您希望使用 SSL 会话密钥解密和检查 SSL 应用程序数据。 您希望在客户端系统上记录 SSL 会话密钥。 您正在客户端系统上使用 Firefox 或 Google Chrome 浏览器来访问 Web 应用程序。 注意:您还可以在客户端系统上使用 Microsoft Edge ÿ…...

京东大数据:2023年Q3美妆行业数据分析报告
近日,珀莱雅发布三季报,今年前三季度,公司实现营收52.49亿元,同比增长32.47%。分季度看,“618大促”所在Q2业绩增长最为亮眼,营收同比增速达到46.22%,进入Q3,在电商大促缺席情况下&a…...
[题] 改革春风吹满地 #图论 #多边形面积
题目 HDU 2036 改革春风吹满地 题解 参考博客:HDU 2036 改革春风吹满地 代码 #include<bits/stdc.h> using namespace std; const int N 110; //叉乘计算面积的公式,以(0,0)为起始点划分 int main() {int n;while(~scanf("%d", &…...

FPGA时序分析与约束(2)——时序电路时序
一、前言 在之前的内容中,我们介绍了组合电路的时序问题和可能导致的毛刺,强烈推荐在阅读前文的基础上再继续阅读本文, 前文链接:FPGA时序分析与约束(1)——组合电路时序 这篇文章中,我们将继续…...

明御安全网关任意文件上传漏洞复现
简介 安恒信息明御安全网关(NGFW) 秉持安全可视、简单有效的理念,以资产为视角的全流程防御的下一代安全防护体系,并融合传统防火墙、入侵防御系统、防病毒网关、上网行为管控、VPN网关、威胁情报等安全模块于一体的智慧化安全网关。 较低版本的系统存…...

JVM虚拟机:如何查看自己的JVM默认的垃圾回收器
只需要在程序运行的时候指定下面的参数就可以看到当前自己的JVM默认的垃圾回收器是什么?如下所示: 如上所示,默认使用的是G1回收器,这是我的电脑,因为我的电脑安装jdk的版本是1.9 如果你的jdk的版本是1.8,那…...
目标检测YOLO系列从入门到精通技术详解100篇-【目标检测】机器视觉
目录 前言 几个高频面试题目 像素和像元如何选择?...

设计模式——建造者模式
目录 建造者模式盖房项目需求基本介绍四个角色实例代码注意事项和细节抽象工厂模式 VS 建造者模式 建造者模式 盖房项目需求 传统方式:打地基,砌墙,封顶 盖房子步骤 public abstract class AbstractHouse {// 地基public abstract void b…...

Go语言用Colly库编写的图像爬虫程序
下面是一个使用Colly库编写的Go语言图像爬虫程序,该程序会爬取news.qq上的图片,并使用proxy_host:duoip和proxy_port:8000的爬虫IP服务器进行抓取。 package mainimport ("fmt""net/http""github.com/crawlab-collective/go-co…...

14.2 并发与竞争实验
一、原子操作实验 这节使用原子操作来实现对 LED 设备的互斥访问,也就是只有一个应用程序能使用 LED。 1.1 实验程序编写 因为是 12 章已经修改了设备树,所以这里暂时不用修改。 在 /linux/atk-mpl/Drivers 该目录下创建 7_atomic 子目录,并且…...
【MediaTek】T750实现Host 网络和Guest 网络隔离以及各个连接终端间隔离功能
T750 WiFi WiFi芯片MT7915AN Wi-Fi 标准IEEE 802.11a/b/g/n/ac/ax支持的速率802.11ax: 4 到 2400 Mbps802.11ac: 6.5 到 1732 Mbps802.11n: 6.5 到 600 Mbps802.11a/g:6 到 54 Mbps802.11b: 1 到 11 Mbps支持的信道2.4 GHz:1-135 GHz:36-64、100-144 和 149-165多输入多输…...

数字滤波器之高通滤波器设计
文章来源地址:https://www.yii666.com/blog/393376.html 通过在Z平面放置零极点的来设计数字滤波器 要求:设计一款高通滤波器,用在音频信号处理过程中,滤掉100Hz以下的信号。 实现方法:通过在Z平面放置零极点的来设…...
【leetcode】58.最后一个单词的长度
题目 最后一个单词的长度 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1: 输入:s “Hello World”…...

用Java(C语言也可以看)实现冒泡排序和折半查找(详细过程图)+逆序数组
目录 一、冒泡排序 1.冒泡排序介绍 2.排序的思路 3.完整代码 二、折半查找 1.折半查找介绍 2.查找的思路 3.完整代码 三、逆序数组 1.逆序思路 2..完整代码 一、冒泡排序 冒泡排序是众多排序的一种,无论在C语言或者Java中都很常见,后续在数据…...
antd本地上传excel文件并读取文件的数据转为json
1.写一个上传 这里直接用upload组件即可 <Upload {...uploadProps} maxCount{1} accept{".xlsx"}><Button icon{<UploadOutlined />}>{${formatMessage({id: clk_upload}, {file: formatMessage({id: excel_file})})}}</Button></Uploa…...

BI数据可视化:不要重复做报表,只需更新数据
BI数据可视化是一种将大量数据转化为视觉形式的过程,使得用户可以更容易地理解和分析数据。然而,传统的报表制作过程往往需要手动操作,不仅耗时还容易出错。为了解决这个问题,BI数据可视化工具通常会提供一些自动化的数据更新功能…...

fiddler抓包拦截请求转发到其他地址
使用Fiddler拦截请求转发到指定地址方便于本地调试,不需要进行打包切换地址,可以加快问题的确定修复效果 内容: 1:首先给app进行设置代理抓包内容,给进行 https://blog.csdn.net/qq_43717814/article/details/84317038…...
【Shell编程】| if 判断
最近在编写一些测试程序的时候,对if的使用较为片面,很多小的功能都需要去各个地方百度查询,极为不便,因此也想着空闲时候,对if进行详细总结,一来加深印象,二来是为了打造一个if语句的最详细的使…...

Java手动引入Maven依赖的Jar包
🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开心好久好久😎 📚系列专栏:Java全栈,…...

计算机毕设 基于大数据的社交平台数据爬虫舆情分析可视化系统
文章目录 0 前言1 课题背景2 实现效果**实现功能****可视化统计****web模块界面展示**3 LDA模型 4 情感分析方法**预处理**特征提取特征选择分类器选择实验 5 部分核心代码6 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...

黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门  B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...

自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...