Wireshark + Chrome HTTPS 数据包抓取配置指南
本文详细介绍如何在Windows、Mac和Linux系统上配置Wireshark和Chrome浏览器,实现HTTPS数据包的捕获和解密。
Windows 配置过程
1. 配置系统环境变量
首先需要设置系统环境变量,让Chrome浏览器能够输出SSL密钥日志。
操作步骤:
- 打开系统属性 > 高级 > 环境变量
- 在用户变量或系统变量中新建:
- 变量名:
SSLKEYLOGFILE
- 变量值:指定日志文件存储路径,如
C:\\\\path\\\\to\\\\sslkey.log
- 变量名:
2. 配置 Wireshark
接下来配置Wireshark使用Chrome生成的SSL密钥日志文件来解密HTTPS流量。
操作步骤:
- 打开Wireshark
- 进入首选项设置:
- 中文界面:编辑 > 首选项 > 协议 > SSL
- 英文界面:Edit > Preferences > Protocols > SSL
- 在SSL设置中,找到
(Pre)-Master-Secret log filename
选项 - 填入之前设置的
SSLKEYLOGFILE
文件路径
3. 验证配置
完成配置后,按照以下步骤验证:
- 启动Chrome浏览器访问HTTPS网站
- 在Wireshark中开始抓包
- 确认能够看到解密后的HTTPS内容
注意事项
重要提示:Chrome需要开启开发者模式才会记录TLS密钥。
开启步骤:
- 打开Chrome浏览器
- 点击右上角菜单 > 更多工具 > 扩展程序
- 在扩展程序页面右上角开启"开发者模式"
Mac 配置过程
1. 设置环境变量
vim ~/.bash_profile
export SSLKEYLOGFILE=~/ssl_key/ssl.log
2. 启动Chrome浏览器
使用特殊命令启动Chrome,确保记录SSL密钥:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --user-data-dir=/tmp/chrome --ssl-key-log-file=~/ssl_key/ssl.log
3. 验证密钥日志
tail -f ~/ssl_key/ssl.log
4. 配置Wireshark
- 打开Wireshark
- 设置TLS密钥日志路径为
~/ssl_key/ssl.log
- 开始抓包
Linux 配置过程
1. 设置环境变量
# 创建密钥日志目录
mkdir -p ~/ssl_key
# 设置 SSL 密钥日志文件环境变量
export SSLKEYLOGFILE=~/ssl_key/ssl.log
# 验证环境变量设置
echo $SSLKEYLOGFILE
2. 使用 curl 访问 HTTPS 站点
//此时通过tcpdump 等工具即可开始进行抓包。
# 基本的 curl HTTPS 请求
curl https://www.qinzc.me
# 带详细输出的 curl 请求
curl -v https://www.qinzc.me
# 使用特定 SSL 库的 curl 请求(如果需要)
curl --tlsv1.2 https:///www.qinzc.me
3. 验证密钥日志生成
# 查看密钥日志文件内容
cat ~/ssl_key/ssl.log
# 实时监控密钥日志文件
tail -f ~/ssl_key/ssl.log
看到如图CLIENT等开头的信息,说明已经导出密钥成功O(∩_∩)O
4. 密钥导入Wireshark
从Linux系统中下载 ~/ssl_key/ssl.log
文件至本地,
- 打开Wireshark
- 进入首选项设置:
- 中文界面:编辑 > 首选项 > 协议 > SSL
- 英文界面:Edit > Preferences > Protocols > SSL
- 在SSL设置中,找到
(Pre)-Master-Secret log filename
选项 - 填入保存的
ssl.log
文件路径,后即可进行分析
停留在世界边缘,与之惜别