使用wireshark抓取https明文包

## 设置wireshark抓取本地https包


### 原理
1. 几乎所有的浏览器以及curl默认支持一个环境变量,当存在该环境变量时。浏览器会自动将https协商用的对称密钥写入该环境变量指向的文件(按照一定的格式)
2. wireshark可以从指定文件中读取密钥,从而使用该密钥对https报文进行解密
3. 该方式不区分平台


### 方法
  1. 新建环境变量,name为`SSLKEYLOGFILE`,value为指定的某一调试文件路径,如`D:\sslkey.log`
     该文件存储ssl握手时的pre-master信息
  2. 重新打开chrome浏览器,发现指定路径下,chrome已经自行创建`sslkey.log`。如果没有的话需要重启PC后再打开浏览器,检查chrome是否创建了`sslkey.log`
  3. 配置wireshark:编辑->首选项->protocols->TLS,设置`pre-master-secret log file name`项为环境变量配置的文件路径
  4. 访问一个https服务器,追踪流可以发现https数据包已经是明文
  5. 抓取客户端的https包要注意,先启动wireshark,然后重启客户端的所有进程

###补充
1. 关于安全的问题,需要设置环境变量并且重启进程,因此除非攻击者已经攻陷了终端,一般情况下都是有保障的
2. 关于`SSLKEYLOGFILE`环境变量的补充,这是一个通用的环境变量,大多数网络库的实现都使用到了这一环境变量进行ssl调试。比如chorme浏览器,curl网络库等。具体使用根据不同软件而异,一般默认会启用该调试功能(参考curl源码)
3. 因为使用的是环境变量,以上方法跨平台通用(已经测试linux(包括国产的信创系统)/mac/windows)。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值