wireshark 抓取 https

背景介绍:

首先,https双向加密的,如果需要解密数据,除非知道 客户端/服务器 任何一方私钥!否则无法解密,常用手段:
基于中间人攻击抓包。使用fiddler 或 charles ,实现的是中间人代理,将客户端私钥改为 fiddler 或 charles 的私钥,每次通信使用中间代理人的私钥加密,服务器就可以通过公钥解密。

wireshark 是基于网络层的抓包工具,通过捕获通信双方的TCP/IP包实现内容提取。对于应用层的数据,如果应用层协议是公开的,就可以直接显示数据。处理HTTPS 协议时,因为不知道客户端、服务端的私钥,所以对应的数据不可见。 也就是说,如果 wireshark 能够获取私钥,就能显示HTTPS的通信数据。

利用chrome浏览器实现对https的抓包:

  1. 配置环境变量 SSLKEYLOGFILE C:\Users\admin\sslkey.log
  • 注:
    这个环境变量用的时候添加,不用记得删掉。因为它在其他程序运行时可能给你带来异常:OPENSSL_Uplink(XX……XX,08): no OPENSSL_Applink 详情 https://blog.csdn.net/qq_17328759/article/details/127802435

    在这里插入图片描述
    2. 打开chrome浏览器,检查对应目录下是否已经创建了sslkey.log
    wireshark 抓取 https_第1张图片
    3. 配置 wireshark 的首选项,编辑–首选项–protocols–TLS:
    wireshark 抓取 https_第2张图片
    4. 开启 wireshark 抓包
    wireshark 抓取 https_第3张图片

你可能感兴趣的:(测试,tools,https,wireshark,http)