开发人员的fiddler使用和常用配置

?1.打开Fiddler软件,界面和其他抓包软件大致一样,效果图如下



?2.真机抓包,首先,确保安装Fiddler 的电脑和你的手机在同一局域网内,因为Fiddler只是一个代理,需要将手机的代理指向PC机,不能互相访问是不行的。
?3.开启Fiddler的远程连接,Fiddler主菜单 Tools ->Fiddler Options…-> Connections页签,选中Allow remotecomputers toconnect。设置监听端口(默认为8888),然后点击‘ok’按钮,效果图如下:



4.默认情况下,Fiddler不会捕获HTTPS会话,需要你设置下, 打开Fiddler Tools -> Fiddler Options…->HTTPS页签勾选Decrypt HTTPStraffic和Ignore servercertificate errors(unsafe)两个选项,然后点击‘ok’按钮,如图所示:



?5.开启好远程连接之后,重启Fiddler,不然就不会更新你刚开启的远程配置
?6.下面开始设置手机端了,打开手机上的无线,找到你要连接的网络,点击代理设置->手动,填写代理服务器主机名及端口。主机名为电脑的IP地址,端口为Fiddler中设置的8888。设置完成之后就可以开始抓包了



抓包HTTPS手机端安装证书

?要抓取https请求,在fiddler中设置好之后,还需要在手机端安装证书,具体方法如下
?1.手机连接好电脑的代理,打开任意浏览器,输入网址: http://代理IP:代理端口,例如:10.1.29.00:8888
?2.在打开的页面中点击FiddlerRootcertificate,会提示让你安装证书,安装成功后,就可以抓取https的请求了






?1.手机需要有锁屏密码才能安装证书
?2.所使用的浏览器如果提示XX浏览器不支持打开此文件,或者是直接当普通文件去下载下来,都会造成证书的安装失败,此时需要更换其他浏览器去安装证书
?3. iPhone系统更新到ios 10.3后,安装了证书之后,需要手动打开开关以信任证书,方法为:设置->通用->关于本机->证书信任设置->找到相应的证书,然后信任该证书即可.

Fiddler的使用



统计资料信息(Statistics) 
?选择一个或多个http请求,通过Statistics面板可以查看到所选择请求的总的信息统计,例如发送/接受字节数,发送/接收时间等,粗略统计访问服务器所花费的时间。



检测器(Inspectors)
?Inspectors 页签中有很多查看请求报文和响应报文的具体信息,应用较多的部分是下几部分:
?Headers 用于查看http 请求和响应数据报文头部信息;
?WebForm用于查看http 请求数据报文中提交的表单及表单中包含具体字段名称和内容的信息;
?TextView可以查看 http 数据报文中HTML/JS/CSS 格式的响应内容 ;;
?Cookies用于查看http 数据报文中Cookie部分的详细信息;
Raw用于查看完整的HTTP数据报文信息。



过滤会话(Filter)
?1.当列表中显示的http请求较多时,可以启用 fiddler 的过滤功能,选择自己需要查看的请求。点击Filter页签,在页面上设置过滤的选项,点击Action->RunFilterset now后,左侧会话列表中会筛选出符合条件的http请求。


?2.或者用快捷键Ctrl+F 打开 Find Sessions的对话框,输入关键字查询需要的会话,查询到的会话会用黄色标注出来。 


命令行的使用 
?会话列表下边的黑色区域是QuickExec命令行,可以在里面输入命令,回车之后即可执行,非常方便,常用的命令如下:
?
?help 打开官方的使用页面介绍,所有的命令都会列出来
?cls 清屏 (Ctrl+x 也可以清屏)
??.png 用来选择png后缀的图片
?Bpu截获request
?Bpafter 截获response



设置断点(修改request)
?Fiddler设置好断点后,可以修改httpRequest的任何信息包括host, cookie或者表单中的数据。设置断点有两种方法:
?①点击Rules-> Automatic Breakpoint ->Before Requests,这种方法是中断所有的会话,如果想消除断点,点击Rules->Automatic Breakpoint ->Disabled就可以了。
?②在QuickExec命令行中输入:“bpu网址/会话名”,这种方法是中断某一具体的会话,如果想消除命令,在命令行中输入“bpu”。 




设置断点(修改response)
?①点击Rules-> Automatic Breakpoint ->Before Responses,这种方法是中断所有的会话,如果想消除断点,点击Rules->Automatic Breakpoint ->Disabled就可以了。
?②在QuickExec命令行中输入:“bpafter网址/会话名”,这种方法是中断某一具体的会话,如果想消除命令,在命令行中输入“bpafter”。 


fiddler显示hostip方法


?1、打开fiddler,菜单栏Rules -->Customize Rules ,打开 CustomRules.js ;
?(注:如果之前没下载 fiddlersyntaxsetup.exe的话,会提示下载。下载之后,点击CustomizeRules,就会自动打开CustomRules.js ,存储路径可能是:C:\Users\你的用户名\Documents\Fiddler2\Scripts,或者直接到这个目录下,编辑CustomRules.js 也行)


?2. 编辑 CustomRules.js 的内容,在 staticfunction Main() 中插入框中代码:
?FiddlerObject.UI.lvSessions.AddBoundColumn("Server",120,"@response.server");
?FiddlerObject.UI.lvSessions.AddBoundColumn("HostIP",120,"X-HostIP");
?(注:参数里的“Sever”和“HostIP”新增栏的名称,可以自行修改;)


?编辑完CustomRules.js点击保存,然后重启fiddler,HostIP 和 Server 两栏,是默认放在末尾的,被挡住看不见,可以自己拖动到前面方便看的位置。



使用fiddler进行弱网测试
   通过fiddler来模拟限速,因为fiddler本来就是个代理,它提供了客户端请求前和服务器响应前的回调接口,我们可以在这些接口里面自定义一些逻辑。Fiddler的模拟限速正是在客户端请求前来自定义限速的逻辑,此逻辑是通过延迟发送数据或接收的数据的时间来限制网络的下载速度和上传速度,从而达到限速的效果。


1.打开Fiddler,Rules->Performance->勾选 Simulate Modem Speeds,勾选之后访问网站会发现网络慢了很多



2.Rules—>Cutomize Rules打开CustomRules.js 文档(快捷键Ctrl+R)




自定义设置上传下载的Delay时间单位MS
这里表示上传1KB需要300MS
注意:更改CustomRules.js 文档后,需要重新设置勾选启用Simulate Modem Speeds




接口测试(测试get方法)

Execute执行结果:




接口测试(测试post方法)
?在请求头加上:
?Accept:application/xml---------------客户端接受的格式
?Content-Type:application/json-------请求的格式



简单模拟性能测试
?通过 Fiddler 可以简单的模拟性能测试的并发测试,此方法非常的简单,获取到响应的 HTTP请求后,在 Fiddler 界面按下快捷键【Shift + R】(在大写状态下),会弹出设置模拟并发次数的页面,如下所示:

输入模拟并发次数,例如 10,点击 OK 按钮,执行发送请求,结果如下图所示:


玩咖指针 2021-03-24 09:17:03