1 Fiddler的配置修改
在使用Fiddler去对电脑pc或者手机去抓包,一定要先进行下面的配置,不然会看不到https的请求或者看不到请求返回的数据。
1.1 电脑端pc监听配置
打开Fiddler和浏览器,界面会如下图,发现左边很多请求有个锁的图标,然后右边的响应里的TextView标签里返回明显不对的数据,这是因为https加密的原因,那么如何解决呢,往下看。
在上图右方也有提示,要在Fiddler的菜单栏上 Tools > Options > HTTPS > Decrypt HTTPS traffic option,勾选它,然后点击ok安装证书,后面弹出的弹窗都选择是就行。
然后重新打开一下百度验证一下。
做完这些后,pc浏览器的请求就能监听到了。
1.2 手机端监听配置
如果我们想要进行对手机上的app或者页面抓包,就要进行下面的配置。
-
首先你的电脑和手机必须要在同一个局域网
-
查看本机的ip。可以使用cmd 命令的ipconfig查看或者点击Fiddler右上角最下面的一行。
-
Fiddler的配置连接Tools > Options >Connections
端口默认8888,可以自行修改
需要勾选Allow remote computers to connect选项,然后重启Fiddler,再次打开时会弹出一个信息,选择ok即可。
-
接下来打开手机,连接wifi,连接一个跟电脑在同个局域网里wifi,然后在手机里的高级选项设置代理,设置手动,主机名输入上面查询的电脑ip地址,端口号填写上面fiddler设置的,没改默认就是8888,然后点确定连接即可。
-
然后手机这时还需安装手机证书,用手机打开浏览器输入 你的ip地址加端口号,例如:10.255.1.1:8888 ,此时会进入一个页面,点击最下面一行的FiddlerRoot certificate下载证书,下载成功后,就需要安装。
注意:因为系统的限制,不同手机不同的安装方式。我以小米8为例子:设置—>更多设置—>系统安全—>加密与凭据—>从存储设备安装—>选择要安装的fiddlerroot.cer证书—>输入锁屏密码
建议百度一下自己的手机型号如何安装fiddler证书
-
此时我测试一下,打开小米商场,就会发现Fiddler上出现了小米商场app的请求了
2 Fiddler的使用
下面简单介绍Fiddler比较常用的使用,注意:进行下面操作前先配置好1.1。
2.1 Statistics 请求性能数据分析(在右边的标签)
这个其实主要就是显示整个请求过程中,一些操作的时间,具体字段的意思可以参考这里
https://www.cnblogs.com/smallstone2018/p/9857999.html
2.2 Inspectors 查看数据内容(在右边的标签)
这个其实就看请求的内容,上面是请求的,下面是响应的。
2.3 AutoResponder 单文件替换
这个是Fiddler的强大的功能之一,它可以用本地的文件替换到你线上页面的资源,包括js,img这些都是可以。下面我会用图片演示一下操作和效果。(总共五个步骤,第三步骤不会写就往下看)
第三个步骤比较重要,就是写匹配和替换的规则,上面的空是写匹配,可以输入baidu,然后下面可以选择一个图片文件。它的字符串匹配(默认):只要包含指定字符串(不区分大小写),全部认为是匹配。所以看下图,我此时完成上面的操作后在浏览器打开了www.pan.baidu.com,显示以下效果。
当然,它不止可以替换图片,替换某个js文件也是可以。只要在第一个输入框输入需要被替换的js文件,然后再本地找一个js文件替换即可。
2.4 设置断点拦截客户端发出的请求并且修改请求数据
首先要先知道如何设置断点,有两种方法,一个是下图
一个是快捷键,点击下图的底部的一个空白位置,如下图。然后只要显示出右边的标识就是打开了断点。
注意要先去到你要调的接口再打开断点,不然页面发不出请求,浏览器跳转不了页面的。
下面我举个例子来修改。
上图,我用了一个弹框,然后点击立即查询,此时页面正常发出请求,服务器也正常返回操作成功。
此时我在点击立即查询按钮前,打开前面所说的断点,此时Fiddler如上图所示。可以看到请求的一些参数,然后此时我直接在这里去删除掉一些参数,删除后再点击下方的绿色按钮跑起来。此时再去看页面的服务器响应,下图,就会出现报错的响应。因为此时的请求已经是修改了参数再发出去的,所以肯定响应就不一样了。