(在客户端)https抓包解密
(一)原理分析
https的数据包是用对称秘钥(https协议协商出来的随机数)加密后的密文。
对称秘钥在传输线路上是密文的(被非对称加密过),但是在client、server端是明文的(因为要用于加解密)。
对称秘钥如何获取?谷歌浏览器有一个接口,chrome浏览器的https协议中的对称秘钥会保存在”SSLKEYLOGFILE" (windows的一个环境变量,值为自定义的一个文本文件)中,wireshark有读取对称秘钥文件的接口。
这样一来,就可以抓包和解密了。
说明:不要以为会获取对称秘钥就可以破解网络上任意的https数据包了。这个对称秘钥是临时协商出来的。你下一次访问,对称秘钥又要改变了。所以,你不参与到client、server端,只参与到传输过程抓包,是无法获取当时的对称秘钥的(被非对称秘钥加了密),也就无法解密https的。所以本文名称为(在客户端)https抓包解密。
(二)操作演示
1、获取对称秘钥
1)windows中设置全局变量
新建一个文件:D:\Temp\sslkey.log (空文件,不用管里面的内容)
配置环境变量:
变量名:SSLKEYLOGFILE
变量值:D:\Temp\sslkey.log
2)wireshark中设置读取全局变量
2、抓对应的包
1)选择需要抓包的网卡
2)重启谷歌浏览器,访问目标网站(如:https://www.baidu.com)。必须重启谷歌浏览器,否则无法解密。
3)几秒后终止wireshark抓包
4)cmd中ping www.baidu.com 获取ip:163.177.151.109
5)ip.addr == 163.177.151.109 过滤wireshark中的包。
6)wireshark底部查看明文数据
(二)解密成功后的标记
1、数据包背景色为浅绿色
2、wireshark底部有解密后的选项卡
取消解密文件后报错;
进入
C:\Users\xxxuser\AppData\Roaming\Wireshark
删除文件:ssl_keys
重启wireshark不再报错。
其他参考:
https解密
https://www.cnblogs.com/aucy/p/9082429.html
https://blog.csdn.net/u010726042/article/details/53408077
https://www.2cto.com/article/201502/377678.html
相关文章
- linux发邮件2种常见客户端命令[通俗易懂]
- Redis Desktop Manager – Redis可视化管理工具、redis图形化管理工具、redis可视化客户端、redis集群管理工具「建议收藏」
- Redis的Python客户端实例详解大数据
- Linux安全协议:借助HTTPS保障信息安全(linux支持https)
- 安装Linux下快速安装HTTPS的方法(linux下https)
- Linux系统下HTTPS安装指南(linux安装https)
- 方法使用Redis客户端的简明步骤(redis客户端使用)
- 网易新闻客户端下载 网易新闻手机客户端4.3.1去广告版
- 为什么我用Outlook客户端收信后网页端的收件箱里的邮件被删除了?
- 一个用户友好,轻巧,快速的电子邮件客户端。
- 使用mssql查询客户端IP地址(mssql 获取ip地址)
- MySQL客户端C语言连接数据库的服务(c mysql客户端)
- 本地连接Redis实现客户端操作(本地连接redis客户端)
- 使用 Oracle 客户端轻松解决C语言问题(c oracle 客户端)
- 如何使用Redis客户端轻松连接Redis服务器(如何redis客户端连接)
- 玩转在线Redis客户端,快速节约管理时间(在线redis客户端)
- 安装Oracle18c客户端的轻松安装体验(oracle18c客户端)
- 深入分析WPF客户端读取高清图片卡以及缩略图的解决方法详解