Wireshark分析https流量

这里写自定义目录标题

本文介绍使用wireshark分析https流量的方法。适用chromium内核的浏览器和firefox浏览器,前提是这些浏览器内核都支持如下选项:
–ssl-key-log-file

  1. 浏览器配置
    添加启动参数
    例如:
firefox.exe --ssl-key-log-file=c:/ssl-key-log-file

或者

chrome.exe --ssl-key-log-file=c:/ssl-key-log-file

或者curl命令行工具中

 export SSLKEYLOGFILE=/c/ssl-key-log-file

不建议使用全局环境变量的方式,因为很多app都是用chromium内核,或者基于chromium内核的渲染库libcef,比如PC版微信,这会带来很多的噪音干扰。

  1. wireshark配置
    设置过滤参数
tcp.port == 443 and ip.addr == 180.97.104.167 && http

上面的ip地址是 teiba.baidu.com的 ip地址,下面的hosts文件中会设置用到。

tcp.port == 443 && http 起到过滤https流量的作用。

“编辑”-> "首选项“-> "协议” -> “TLS”

设置tls协议选项,使用c:/ssl-key-log-file中的Pre-Master-Key解密https流量:
在这里插入图片描述

  1. 为域名解析配置hosts文件
    hosts文件路径:
C:\Windows\System32\drivers\etc\hosts

以teiba.baidu.com为例,设置如下:

180.97.104.167 tieba.baidu.com 
  1. 演示
export SSLKEYLOGFILE=/c/ssl-key-log-file
curl https://tieba.baidu.com/

在这里插入图片描述

<think>好的,用户想了解如何使用Wireshark解密HTTPS流量。我之前已经回答过相关问题,现在需要根据提供的引用资料整理出步骤。首先,根据引用[4],需要设置SSLKEYLOGFILE环境变量,让浏览器生成密钥日志文件。然后,在Wireshark中配置这个文件路径,引用[1]和[2]都提到了这一点。另外,引用[3]提到另一种方法是用RSA私钥,但这可能不如密钥日志文件方便,因为需要服务器私钥,可能不适用于所有情况。所以主要步骤应该是两种方法:密钥日志文件和RSA私钥。 接下来需要详细说明每个方法的步骤。对于密钥日志文件,用户需要设置环境变量,启动浏览器,然后开始捕获流量。之后在Wireshark的TLS协议设置中指定密钥文件路径。而RSA私钥的方法需要服务器私钥,这可能适用于自签名证书的情况,比如测试环境。需要强调两种方法的适用场景,比如密钥日志文件更适用于普通用户,而RSA私钥适合有服务器权限的情况。 用户可能遇到的问题包括环境变量设置不正确,或者Wireshark版本不支持。需要提醒用户检查日志文件是否生成,确保捕获的流量与浏览器会话匹配。此外,引用[2]提到从ZIP文件中提取pcap和密钥文件,可能用户需要练习的话可以参考这些资源。最后,生成相关问题来帮助用户深入理解,比如不同方法的优缺点,或者处理无法解密的情况。</think>### 使用Wireshark解密HTTPS流量的方法 #### 方法一:通过密钥日志文件(推荐) 1. **生成密钥日志文件** - 设置系统环境变量 `SSLKEYLOGFILE`,指定密钥日志文件的存储路径。例如,在Windows或Linux中: ```bash export SSLKEYLOGFILE=/path/to/sslkeylogfile.txt # Linux/macOS set SSLKEYLOGFILE=C:\path\to\sslkeylogfile.txt # Windows ``` - 启动浏览器(Chrome或Firefox),访问HTTPS网站时,密钥会自动写入该文件[^4]。 2. **配置Wireshark** - 打开Wireshark,进入 `Edit > Preferences > Protocols > TLS`。 - 在 `(Pre)-Master-Secret log filename` 字段中填入密钥日志文件路径[^1][^2]。 3. **捕获并解密流量** - 开始抓包后,Wireshark会自动使用密钥文件解密HTTPS流量,明文数据将显示为 `HTTP/2` 或 `HTTP` 协议。 #### 方法二:使用RSA私钥(需服务器支持) 1. **获取服务器私钥** - 适用于自签名证书或测试环境,需从服务器端导出RSA私钥(通常为 `.pem` 或 `.key` 文件)[^3]。 2. **配置Wireshark** - 在 `TLS` 协议设置中,点击 `RSA keys list` 添加私钥: ```text IP地址:端口 | 协议 | 私钥文件路径 ``` #### 注意事项 - 密钥日志文件需与抓包时间匹配,否则无法解密历史流量[^2]。 - 确保Wireshark版本支持TLS解密(推荐3.0+)。 - 部分现代加密算法(如ECDHE)无法通过RSA私钥解密,需依赖密钥日志文件[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值