wireshark + HTTPS

网络上http已经不常见了,所以解决HTTPS怎么解密。
默认情况下,https的协议是tls。
很不幸,tls流量包裹的加密数据中的HTML/CSS/JS/JSON…我们看不了。
这种情况下,我们有一种简单粗暴的方法看https流量。
就是用浏览器的调试模式。F12。
不幸的是,这种方式可能会导致https的网站用js使我们进入F12后陷入一个死循环,从而得不到有用的数据。我们还是需要除浏览器之外的软件来帮我们解密https。

Fildle,是作为一个代理服务器存在的。如果fq过,它其实就是ssr服务器。
或者可以理解成它是一个中间人,浏览器通过它,向服务器发送请求。服务器通过它,返回信息给浏览器。只不过两边都需要搞https那一套,因此得让浏览器知道它的证书。所以得安装证书到操作系统,就是这么来的。(让浏览器知道公钥麻)。

那么,貌似Finlde仅支持https的,那么像其他比如Mysql的通信协议它就不知道怎么解密了。

还是回到wireshark,看看它怎么解密https。顺便解密其他协议。(原理类似,都是密码学那一套。)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

开搞

经过上图我们发现需要wireshark接受一个文件。这个文件里面的内容张这个样子:
在这里插入图片描述
就是说全是公钥。
所以啊,这个文件就是说你用浏览器去上https网站,浏览器会拿到https网站的证书,证书里面包含了它的公钥。但是这是浏览器有服务器的公钥,wireshark只是个在网卡门口等着的破抓包的,它没有。所以就需要让浏览器自动把自己的公钥放到某个文件中,由此作为中介,wireshark再读这个文件。然后wireshark就可以解开了。上图的这个文件的来历就是这个。

那这得依靠客户端了,难道我们需要在浏览器上安装插件么?不,主流浏览器可以通过读取你自己设置的SSLKEYLOGFILE环境变量来写到这个文件。
打开一个终端:
以linux为例:

touch mylog.txt
export SSLKEYLOGFILE=~/mylog.txt
firefox/chromium/edge/somewhat...
然后就ok了。

设置完一定要关闭你要抓包的那个浏览器!!!。(因为设置环境变量麻,浏览器现在正在跑,才不鸟你的环境变量,只有等你再启动,浏览器才会读取这个环境变量)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值