对于fiddler大家都知道用它可以抓取https请求,但是用过的人或多或少都遇见过一些问题
首先 先介绍一下 大家的常规思路 如果要抓取https的请求
1.设置中开启下列选项
2.然后电脑浏览器输入ip+8888(端口号) 进行安装证书
3.在这里小编解释一下,小编的实际经验告诉小编,
如果是第一次安装fiddler(系统环境比较纯净也就是说从来没安装过fiddler)
也就是说当你打开https的开关按钮的时候 点击勾选的那个时候 如果会弹出一个安装证书的操作 之后你点击yes
那么恭喜你 你的系统比较纯净 所以这么设置之后 你可以直接抓取https请求 不会提示你网络连接不安全
4.那么肯定也有人遇上过 这么操作设置 还是抓取不了 一访问https的就提示不安全, 或者直接访问https网址 都甚至没有经过fiddler(也就是说你访问https网址,fiddler无法捕获请求)
5.那么原因在哪里呢?这里小编想了很多 第一种原因 可能是你证书没装好 也可能是因为你系统fiddler装的证书太多了 也有可能装了 但是你的系统始终没有信任你的证书
6.好了现在给大家介绍一下原因,首先大家就需要先了解下fiddler抓取https的原理
首先fiddler接收到客户端的https的请求,fiddler将这个请求转发给了服务器
然后服务器会圣城公钥证书,返回给fiddler,可是这个时候fiddler会将真正的公钥证书拦截下来,然后伪造一个假的 发送给客户端
客户端就接受到了假的公钥证书,并且使用这个假的公钥证书加密共享秘钥发送给了fiddler,所以这个时候fiddler是用自己伪造的私钥解密获取共享秘钥
于是fiddler将解密后的共享秘钥,并且使用真正的公钥加密传输发送给服务器 ,服务器使用真正的共享秘钥跟fiddler通信
fiddler使用了共享秘钥跟客户端通信
7.了解了原理之后,小编觉得fiddler会对每个域名都会生成公钥证书,浏览器会用根证书验证公钥证书的合法性
8.所以这个原因就是 系统浏览器根本没有信任我们所安装的第三方证书
9.说了那么多 只是给大家介绍一下原理 下面介绍解决方式,
10.首先在下图设置,点击圈记处(内容是 信任根证书)
11.这个时候 有些人可能已经可以抓取https请求了,但是有人还是会没什么用 这个时候 我们需要重置证书 ,点击下方
12.重置之后 在此点击信任根证书(执行第十步操作)
13.重启fiddler 这个时候 你的fiddler就老老实实的抓取https了
好了 如果在fiddler抓取数据包有任何证书问题 欢迎联系微信17673231234 大家一起学习 (如果是想抓取app的 或者抓取https总是提示某些app网络不安全的 请阅读下篇文章)