Fiddler-基础四大功能

fiddler的配置和抓包使用等功能已经在前面文章中做了详细说明,这篇文章主要针对fiddler常用的四大功能做说明

 

简单原理解释和注意事项:

Fiddler-option-connect配置了8888端口的代理打开后,表示这台PC机已经打开了代理,我们可以从浏览器--设置--网络设置中看到代理已经被勾选

手机代理连接后,是通过同一IP网段的的pc机上的8888端口进行代理(手机怎样连接代理见之前文章),所以,如果pc机上的fiddler关闭,手机代理网络是连接失败的

每个手机和PC机都需要唯一证书,所以每个手机连其它PC机上的fiddler时,需要重新安装证书(注意:ios证书安装完成后,还需要去设置-通用-关于本机-打开证书开关)

 

一、解析请求:如:解析http请求状态,请求头,请求正文,返回头,返回正文等

详见抓包内容解析

 

二、修改请求,如:设置断点,则可以修改发出去的请求数据,或者修改请求返回的数据

步骤一:拦截HTTP请求

设置断点共有两种方式:

1、fiddler菜单栏->rules->automatic Breakpoints->选择断点方式,这种方式下设定的断点会对之后的所有HTTP请求有效。有两个断点位置:

1)before response。也就是发送请求之后,但是Fiddler代理中转之前,这时可以修改请求的数据(修改请求数据)

2)after response。也就是服务器响应之后,但是在Fiddler将响应中转给客户端之前。这时可以修改响应的结果(修改返回的数据)

3)如何消除命令呢?点击Rules->Automatic Breakpoint->Disabled

2、命令行设置断点

1)bpu在请求开始时中断

2)bpafter在响应到达时中断

3)bps中断HTTP响应状态为指定字符的全部session响应

4)bpv/bpm中断指定请求方式的全部session响应

 

步骤二:修改数据

拦截Http请求后修改方式有两种,一种是临时修改,即结果只对当次请求有效,另一种是永久修改,可以通过urlreplace命令实现。

①临时修改请求

即在fiddler中执行Inspectors->WebForms,修改请求变量参数后执行Run to Completion,服务器返回新的请求结果

②永久性修改请求

1)命令行设置修改规则,修改请求:urlreplace 旧请求值 新请求值

fiddler命令行输入:urlreplace pageid=103 pageid=105

其中pageid是请求参数,输入命令后回车即可,新的请求设置成功,除非释放请求,否则请求值不变,释放请求命令urlreplace

2)脚本中修改规则,打开脚本方式:fiddler执行Rules->Customize Rules

 

注意:由于在请求过程中,接口刷的比较快,很难把断点打在需要修改数据的接口地方,可以在请求开始前就打上断点,这样每一步骤都会停住,手动点击Run to Completion,直到走到需要修改数据的接口

 

3、重定向请求,如:替换远程文件,则可以调试线上的js/css代码(mock功能)

可参考操作步骤

https://blog.csdn.net/weixin_42606128/article/details/81015282

 

Fiddler-基础四大功能

简单来说从clent,server端发出来的请求,都需要通过Fiddler进行代理走一遍。如果有任何请求需要做修改,都可以用Fiddler拦截以后进行修改转发一次。

也就是一旦用fiddler mock出来的接口,必须要fiddler抓到了这个接口请求,才会替代成mock数据。比如其它非此fiddler服务器请求的,不经过代理的,不走mock接口

 

 

4、构造请求,如:构造请求发送数据,比如可以用于的测试网站安全性(可以当成接口请求工具使用)

注意:当提交数据为formdata格式时,一定要在header处content-Type注明类型

Fiddler-基础四大功能