当前位置: 首页 > news >正文

用 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 流量

原文&#xff1a;这 您希望使用 SSL 会话密钥解密和检查 SSL 应用程序数据。 您希望在客户端系统上记录 SSL 会话密钥。 您正在客户端系统上使用 Firefox 或 Google Chrome 浏览器来访问 Web 应用程序。 注意&#xff1a;您还可以在客户端系统上使用 Microsoft Edge &#xff…...

京东大数据:2023年Q3美妆行业数据分析报告

近日&#xff0c;珀莱雅发布三季报&#xff0c;今年前三季度&#xff0c;公司实现营收52.49亿元&#xff0c;同比增长32.47%。分季度看&#xff0c;“618大促”所在Q2业绩增长最为亮眼&#xff0c;营收同比增速达到46.22%&#xff0c;进入Q3&#xff0c;在电商大促缺席情况下&a…...

[题] 改革春风吹满地 #图论 #多边形面积

题目 HDU 2036 改革春风吹满地 题解 参考博客&#xff1a;HDU 2036 改革春风吹满地 代码 #include<bits/stdc.h> using namespace std; const int N 110; //叉乘计算面积的公式&#xff0c;以(0,0)为起始点划分 int main() {int n;while(~scanf("%d", &…...

FPGA时序分析与约束(2)——时序电路时序

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

明御安全网关任意文件上传漏洞复现

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

JVM虚拟机:如何查看自己的JVM默认的垃圾回收器

只需要在程序运行的时候指定下面的参数就可以看到当前自己的JVM默认的垃圾回收器是什么&#xff1f;如下所示&#xff1a; 如上所示&#xff0c;默认使用的是G1回收器&#xff0c;这是我的电脑&#xff0c;因为我的电脑安装jdk的版本是1.9 如果你的jdk的版本是1.8&#xff0c;那…...

目标检测YOLO系列从入门到精通技术详解100篇-【目标检测】机器视觉

目录 前言 几个高频面试题目 像素和像元如何选择?...

设计模式——建造者模式

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

Go语言用Colly库编写的图像爬虫程序

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

14.2 并发与竞争实验

一、原子操作实验 这节使用原子操作来实现对 LED 设备的互斥访问&#xff0c;也就是只有一个应用程序能使用 LED。 1.1 实验程序编写 因为是 12 章已经修改了设备树&#xff0c;所以这里暂时不用修改。 在 /linux/atk-mpl/Drivers 该目录下创建 7_atomic 子目录&#xff0c;并且…...

【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多输入多输…...

数字滤波器之高通滤波器设计

文章来源地址&#xff1a;https://www.yii666.com/blog/393376.html 通过在Z平面放置零极点的来设计数字滤波器 要求&#xff1a;设计一款高通滤波器&#xff0c;用在音频信号处理过程中&#xff0c;滤掉100Hz以下的信号。 实现方法&#xff1a;通过在Z平面放置零极点的来设…...

【leetcode】58.最后一个单词的长度

题目 最后一个单词的长度 给你一个字符串 s&#xff0c;由若干单词组成&#xff0c;单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1&#xff1a; 输入&#xff1a;s “Hello World”…...

用Java(C语言也可以看)实现冒泡排序和折半查找(详细过程图)+逆序数组

目录 一、冒泡排序 1.冒泡排序介绍 2.排序的思路 3.完整代码 二、折半查找 1.折半查找介绍 2.查找的思路 3.完整代码 三、逆序数组 1.逆序思路 2..完整代码 一、冒泡排序 冒泡排序是众多排序的一种&#xff0c;无论在C语言或者Java中都很常见&#xff0c;后续在数据…...

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

fiddler抓包拦截请求转发到其他地址

使用Fiddler拦截请求转发到指定地址方便于本地调试&#xff0c;不需要进行打包切换地址&#xff0c;可以加快问题的确定修复效果 内容&#xff1a; 1&#xff1a;首先给app进行设置代理抓包内容&#xff0c;给进行 https://blog.csdn.net/qq_43717814/article/details/84317038…...

【Shell编程】| if 判断

最近在编写一些测试程序的时候&#xff0c;对if的使用较为片面&#xff0c;很多小的功能都需要去各个地方百度查询&#xff0c;极为不便&#xff0c;因此也想着空闲时候&#xff0c;对if进行详细总结&#xff0c;一来加深印象&#xff0c;二来是为了打造一个if语句的最详细的使…...

Java手动引入Maven依赖的Jar包

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开心好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;…...

计算机毕设 基于大数据的社交平台数据爬虫舆情分析可视化系统

文章目录 0 前言1 课题背景2 实现效果**实现功能****可视化统计****web模块界面展示**3 LDA模型 4 情感分析方法**预处理**特征提取特征选择分类器选择实验 5 部分核心代码6 最后 0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路&#xff1a; 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑&#xff1a;async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

高防服务器价格高原因分析

高防服务器的价格较高&#xff0c;主要是由于其特殊的防御机制、硬件配置、运营维护等多方面的综合成本。以下从技术、资源和服务三个维度详细解析高防服务器昂贵的原因&#xff1a; 一、硬件与技术投入 大带宽需求 DDoS攻击通过占用大量带宽资源瘫痪目标服务器&#xff0c;因此…...

归并排序:分治思想的高效排序

目录 基本原理 流程图解 实现方法 递归实现 非递归实现 演示过程 时间复杂度 基本原理 归并排序(Merge Sort)是一种基于分治思想的排序算法&#xff0c;由约翰冯诺伊曼在1945年提出。其核心思想包括&#xff1a; 分割(Divide)&#xff1a;将待排序数组递归地分成两个子…...