fiddler抓取https请求(PC)

对于fiddler大家都知道用它可以抓取https请求,但是用过的人或多或少都遇见过一些问题

首先 先介绍一下 大家的常规思路  如果要抓取https的请求

1.设置中开启下列选项

fiddler抓取https请求(PC)_第1张图片

2.然后电脑浏览器输入ip+8888(端口号) 进行安装证书

fiddler抓取https请求(PC)_第2张图片

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.首先在下图设置,点击圈记处(内容是 信任根证书)

fiddler抓取https请求(PC)_第3张图片

fiddler抓取https请求(PC)_第4张图片

11.这个时候  有些人可能已经可以抓取https请求了,但是有人还是会没什么用 这个时候 我们需要重置证书 ,点击下方

fiddler抓取https请求(PC)_第5张图片

12.重置之后 在此点击信任根证书(执行第十步操作)

13.重启fiddler  这个时候  你的fiddler就老老实实的抓取https了

fiddler抓取https请求(PC)_第6张图片

好了  如果在fiddler抓取数据包有任何证书问题 欢迎联系微信17673231234 大家一起学习 (如果是想抓取app的 或者抓取https总是提示某些app网络不安全的  请阅读下篇文章)

你可能感兴趣的:(fiddler,软件测试)