Fiddler是位于客户端和服务器端的http代理,目前最常用的http抓包工具之一,功能非常强大,是web调试的利器。

(注意:Fiddler是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。当Fiddler退出的时候它会自动注销。

这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。

解决的办法是新启动下Fiddler。)

主要功能:

1.监控浏览器所有的http/https流量;

2.查看、分析请求内容细节;

3.伪造客户端请求和服务器响应;

4.测试网站的性能;

5.解密https的web会话;

6.全局、局部断点功能;

7.第三方插件;

使用场景:

接口调试、接口测试、线上环境调试、web性能分析、判断前后端bug、开发环境hosts配置、mock、弱网断网测试。

主界面:

会话的概念:一次请求和一次响应就是一个会话。

修改监听端口:Options->connections->Fiddler listens on port;若不想做系统代理,取消勾选act as system ptoxy on startup即可。

工具条:

 

1.给会话添加备注信息

2.重放即重新加载当前会话(R键可以重放一次,Shift+R:弹出Repeat Count的界面,输入循环次数,就可以重放了)

3.删除会话选项(delete,删除其他的用:shift+delete)

4.放行,和断点对应

5.响应模式,即当Fiddler拿到远程的response后是缓存起来一次响应给客户端还是以stream的方式直接响应

6.解码。有些请求是被编码的,点击这个按钮后可以根据响应的编码格式自动解码

Keep All Session:保存会话占用内存

Any Pross选择你要监听的程序

7.查找会话

8.保存会话

9.截屏。截屏后,会以会话的方式返回一个截图

Clear Cache:清除缓存

TearOff:分离面板

Online:本机的在线信息

监控面板Session List(会话列表):Fiddler抓取到的每条http请求(每一条称为一个Session)。

主要包括了请求的ID编号,状态码、协议、主机名、URL、内容类型、body大小、进程信息、自定义备注等信息。

Fiddler添加ip列:

运行fiddler,菜单,Rules->Customize Rules,打开“Fiddler ScriptEditor”;

Ctrl+F查找“static function Main()”字符串,然后添加以下代码:

FiddlerObject.UI.lvSessions.AddBoundColumn(“ServerIP”, 120, “X-HostIP”)。

辅助标签+工具:

1.Fiddler Statistics统计分析:HTTP请求的性能和其他数据分析,如DNS解析的时间,建立TCP/IP连接的时间消耗等信息。

2.Inspectors:检查器,可以多种方式查看请求的请求报文和响应报文相关信息。

格式化格式:Headers:以层级或分类进行查看;TextView:文本格式;SyntaxView:语法格式;WebForms:表单提交的方式。

3.AutoResponder(自动响应器):可用于拦截某一请求,进行如下操作:

重定向到本地的资源;使用Fiddler的内置响应;自定义响应。

4.Composer设计器:设计请求报文,然后执行。

5.Filters(过滤器):多维度的过滤规则,可根据主机、进程、请求头、响应头、状态码、响应类型和大小、断点进行请求的过滤。

Fiddler抓包可以完成我们移动开发者的调试测试需求。但是多余的网页请求和手机的其他链接影响我们手机开发的需求。所以我们需要

排除其他无用的包,只关注我们指定的域名的请求包。

6.断点分为局部断点和全局断点。

bpu:请求前断点;

bpafter:请求后断点。

设置断点请求,访问网页点击对应的会话,查看请求报文信息,修改请求内容,完成断点,放行,把该请求发送给目标服务器。

配置:

1.弱网测试

Rules->Customize Rules->Fiddler ScriptEditor->搜索simulate修改配置参数;

重启,设置Rules->Performance->Simulate Modem Speeds勾选上。

 

2.HTTPS抓包(谷歌和IE都是系统证书)

点击Tools->FIddler Options->HTTPS;勾选Decrypt HTTPS Traffic;如果抓不到,可以重新安装证书。

3.获取Firefox HTTPS流量(自己来管理自己的证书)

打开Firefox浏览器,选择选项按钮,点击高级,导出Fiddler证书,导入到火狐浏览器。

4.Android设备抓包

设置手动代理,主机名为Fiddler所在的主机的IP,端口为Fiddler监听端口;

打开Android设备浏览器,访问http://主机IP:8888/;

点击页面底部FiddlerRoot certificate下载证书;

打开下载好的FiddlerRoot.cer给手机进行安装;

浏览器打开百度,已经可以抓取HTTPS包了。

注意:测试完毕,关闭代理,否则手机无法上网。

5.ios设备抓包

(1)抓ios设备APP包-Fiddler设置

点击Tools->Fiddler Options->Connections,勾选Allow rmote computers to connect,重启Fiddler,确保防火墙允许Fiddler进程可以远程连接。

(2)ios设备连接WiFi

确保ios设备可以访问httpp://FiddlerMachineIP:8888,该地址会返回Fiddler Echo Service页面。

(3)ios设备抓包-ios设备设置

点击设置->Wi-Fi->打开连接的Wi-Fi设置;

点击配置代理->手动;

设置ios代理服务端地址为Fiddler所在主机的ip地址;

设置端口为Fiddler监听的端口;

点击存储,保存代理设置;

打开一个非HTTPS的网站,此时Fiddler已经可以捕获HTTP请求了。

(4)ios设备抓包-安装证书解密HTTPS

在ios设备打开浏览器,访问http://主机IP:8888/;

点击Fiddler Echo Service页面底部FiddlerRoot certificate下载证书;

打开FiddlerRoot.cer文件并安装;

Safer打开百度,已经可以抓取HTTPS的包了。

Fiddler插件安装:https://www.telerik.com/fiddler/add-ons。

 

版权声明:本文为yy-123原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/yy-123/p/13709309.html