fiddler的安装
通过fiddler官网,传送门 下载free trial的版本即可,然后直接下一步的傻瓜式安装即可
备注:windows版本安装fiddler很方便,如果使用mac电脑的同学,建议直接安装charles即可,两款工具的使用都是差不多的。
fiddler的工作原理
1、fiddler的代理模式(网图,如若侵权可联系我删除)
其实fiddler就相当于一个代理,它先接收到客户端的请求,然后再将请求转发到服务器上,再将服务器的响应转发给客户端。
2、fiddler的代理模式分为两种
fiddler对手机端进行抓包
1、先配置fiddler环境,允许抓取https请求,代理端口设置等
备注:勾上Decrypt HTTPS traffic,会抓到手机的https请求,如果想抓到https请求还需要在手机安装证书
2、手机上配置代理证书
1)先将电脑和手机连接同意网络,并修改手机端的网络高级连接,代理模式选为手动,然后输入电脑ip和端口号
2)连接好网络后,打开手机浏览器,输入ip地址信息后,下载证书,如我的手机浏览器就输入http://192.168.4.22:XXXX/FiddlerRoot,即可下载安装fiddler证书
部分手机下载好后,不能直接安装,需要自己去设置-安全里,然后选择从sd卡手动导入安装
1、测试中遇到一台Android手机需要用电脑下载证书为cer后缀的文件,然后导入到手机里安装
3)之后电脑端fiddler就可以看到手机端的请求了;但随着google安全升级,很多APP都需要加密处理,非公司业务的APP时,抓包时,很多请求都是无法抓取到的。
3、fiddler常用到的功能
1)将请求面板处的http和https做区分,可在FiddlerScript里,选择OnBeforeRequest,然后找到对应的位置,将红圈处的代码复制进去,之后请求面板处的http和https的请求就会有颜色区分
if(oSession.isHTTPS && oSession.url.indexOf(oSession.host)> -1){ oSession["ui-color"] = "blue"; } if(!oSession.isHTTPS && oSession.url.indexOf(oSession.host)> -1){ oSession["ui-color"] = "green"; }
2)fiddler可以对请求进行过滤
1、点击Filters,然后勾选use Filters
2、在文本框里输入自己想看到的请求地址后,点击Actions。
3、运行之后,请求面板处就只展示想要的请求,其他的请求都被过滤掉了
4、也可以针对选择是否只显示浏览器的请求,或者隐藏浏览器的请求
3)前后端接口调试功能
1、点击Composer以后,页面显示为接口请求的状态
2、此时选择一个请求面板处的接口,拖动到Composer里,对应的接口请求参数都自动同步过来了
3、可选择是post请求或者get请求(如果是post请求,请求参数需要以request body的样式传进来)
4、请求参数确认好后,点击Execute,请求面板会直接多出一个请求,跟Composer显示的接口一样
5、这个功能方便前后端的接口调试,以后可以多使用
4)修改接口的响应数据
1、点击AutoResponder,然后勾选Enable rules,可以选择添加规则
2、如选中请求面板的一个接口,然后点击Add Rule,之后,下方的文本框里自动填充改接口,以及该接口对应的响应数据
3、可以通过下拉选择,接口的响应数据,比如返回404,或者返回一个新的文档(可选择导入文档),修改好后,点击save
4、之后再重新调用接口,就发现请求的接口数据以变为我们修改过的响应数据