您的位置:首页 > 理论基础 > 计算机网络

抓包工具Fiddler的使用教程(十二)下:Fiddler抓取HTTPS

2017-03-15 14:37 525 查看
在教程十二(上),我们也了解了HTTPS协议,该教程就和大家分享Fiddler如何抓取HTTPS

抓包工具Fiddler的使用教程(十二):【转载】HTTPS协议

再次回忆一下关键内容:

iddler如何在服务器与客户端之间充当第三者呢?

服务器—>客户端:Fiddler接收到服务器发送的密文, 用对称密钥解开, 获得服务器发送的明文。再次加密, 发送给客户端。
客户端—>服务端:客户端用对称密钥加密,被Fiddler截获后,解密获得明文。再次加密,发送给服务器端。由于Fiddler一直拥有通信用对称密钥enc_key, 所以在整个HTTPS通信过程中信息对其透明。
从上面可以看到,**Fiddler抓取HTTPS协议成功的关键是 根证书 (具体是什么,可Google),这是一个信任链的起点,这也是Fiddler伪造的CA证书能够获得客户端和服务器端信任的关键。**


Fiddler抓取HTTPS设置

注意以下操作的前提是,手机已经能够连上Fiddler,这部分的配置过程简单就不赘述了,可参考:手机如何连接Fiddler 。

如何继续配置让Fiddler抓取到HTTPS协议呢?

(一)给fiddler安装certmaker插件

由于默认的证书不符合Android和iOS的证书要求,所以,需要下载 certmaker 插件,双击安装后,重启fiddler。注意这一步很重要,必须使用certmaker插件,不要使用默认的证书生成器,否则抓不到包。

(备注:经验证,android 和 ios ,如果不安装此插件,也是可以抓到包的,官方的文档上也是用了一个很模棱两可的说明,may ,可能,都不是那么的绝对。如果是抓不到包,此步骤可以作为一个解决方案)



(二)首先对Fiddler进行设置:打开工具栏->Tools->Fiddler Options->HTTPS



对Fiddler进行设置

选中Capture HTTPS CONNECTs,因为我们要用Fiddler获取手机客户端发出的HTTPS请求,所以中间的下拉菜单中选中from remote clients only。选中下方Ignore server certificate errors.

Actions-> Trust Root Certificate。



点击Yes。



点击是,留意一下红框里面的内容,DO_NOT_TRUST_FiddlerRoot ,这个就是证书的名称。



点击是。



点击确定,这样Fiddler证书就已经添加成功了。



查看一下证书,Actions—>open windows certificate Manager



可以证书已经添加进去了,证书名称就是之前提醒大家留意的,【DO_NOT_TRUST_FiddlerRoot】,但是我很搞不懂为什么是两条记录,有待深究啊。



(三)然后,就是手机安装Fiddler证书。

这一步,也就是我们上面分析的抓取HTTPS请求的关键。

操作步骤很简单,打开手机浏览器,在浏览器地址输入代理服务器IP和端口,会看到一个Fiddler提供的页面。



接着点击最下方的FiddlerRoot certificate,这时候点击确定安装就可以下载Fiddler的证书了。

查看手机上的安装证书,设置->系统->安全->信任的证书-用户(位置可能有因为手机的不同多少有些区别):



下载安装完成好后,我们用手机客户端或者浏览器发出HTTPS请求,Fiddler就可以截获到了,就跟截获普通的HTTP请求一样。

如下下图所示,绿色标志的接口都是HTTPS协议:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  抓取HTTPS