Fiddler用法整理

Posted 软件测试经验与教训

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Fiddler用法整理相关的知识,希望对你有一定的参考价值。

★fiddler学习手册★

读书与实践是获取知识的主要渠道,学习的权力只掌握在每个人自己手中,让学习成为一种生活的习惯,这比任何名牌大学的校徽重要得多!

——张老师

张老师寄语


目 录




1 Fiddler的基本介绍

    1.1 下载安装

    1.2 适用平台

2 Fiddler的工作原理

3 同类工具

4 捕获非IE浏览器的会话

5 捕获不同请求的设置方法

    5.1 Web HTTPS会话

    5.2  手机app请求

    5.3  手机APP的HTTPS请求

6 基本界面

    6.1 会话列表图标的含义

7 QuickExec命令行的使用

8 HTTP统计视图

9 Fiddler中设置断点

    9.1 修改Request

    9.2 修改Response

    9.3 拦截来自某个网站所有请求

10 模拟服务端响应

11 过滤会话

12 会话比较

13 查询会话

14 保存会话

15 网速限制

16 常用插件






1. Fiddler的基本介绍

Fiddler的官方网站:  

https://www.telerik.com/fiddler

Fiddler是最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,以及修改输入输出数据。

1.1 下载安装:

官网下载速度较慢,可以通过360软件管家下载。安装时一直下一步即可。

1.2 适用平台

Fiddler用法整理

2. Fiddler的工作原理

Fiddler用法整理
Fiddler用法整理

3. 同类工具

同类的工具有: 

Burpsuit,Charles,Httpwatch,Firebug,Wireshark,Hping,Ostinato,Scapy,Libcrafter,

Yersinia,packETH,Colasoft Packet Builder,

Bit-Twist,Libtins,Netcat,WireEdit,

epb – Ethernet Packet Bombardier,Fragroute,

Mausezahn,EIGRP-tools


4. 捕获非IE浏览器的会话

Fiddler启动时会把IE等浏览器的代理自动设为127.0.0.1:8888。非IE浏览器可以自行检查其代理设置。


5. 捕获不同请求的设置方法

Fiddler用法整理

Web HTTPS会话

默认下,Fiddler不会捕获HTTPS会话,需要打开Tools->Options->HTTPS tab进行如下设置。

Fiddler用法整理
Fiddler用法整理

app请求

第一步,设置代理

打开fiddler,选择Tools -> Options -> Connections ,勾选 Allow_remote computers to connect。然后点击ok按钮,这样就完成了代理的设置。重启fiddler。

Fiddler用法整理
Fiddler用法整理

第二步 手机连接代理服务器

长按已连接的wifi网络,点击修改网络。在代理上面选择手动,IP填写上面获取的192.168.0.102,端口填写Fiddler的监听端口8888,之后点击保存。


Fiddler用法整理

第三步

此时,我们在手机上面,打开被测试移动APP,就可以在Fiddler里看到捕获的会话了。


Fiddler用法整理

APP的HTTPS请求

第一步:首先对Fiddler进行设置。

打开工具栏->Tools->Options->HTTPS 选项卡,进行如下设置:

Fiddler用法整理


第二步:手机安装Fiddler证书。

Fiddler用法整理


接着点击最下方的FiddlerRoot certificate,这时候点击确定安装就可以下载Fiddler的证书了。

下载安装完成好后,我们用手机客户端或者浏览器发出HTTPS请求,Fiddler就可以截获到了,就跟截获普通的HTTP请求一样。

ios中安装的证书需要认证,否则无法使用,ios设置证书认证:设置-->通用--->描述文件与设备管理 。找到刚才安装的证书点击信任。

第三步,设置手机代理。设置方式与5.2中描述的相同。


6. 基本界面

Fiddler用法整理

会话颜色代表什么意思:状态码的颜色

图标含义:如下图


Fiddler用法整理

7. QuickExec命令行的使用


Fiddler的左下角有一个命令行工具叫做QuickExec,允许你直接输入命令。

常见得命令有:

  • help    打开官方的使用页面介绍,所有的命令都会列出来

  • cls    清屏  (Ctrl+x 也可以清屏)

  • select  选择会话的命令

  • ?.png   用来选择png后缀的图片

  • bpu     截获request


8. Fiddler的HTTP统计视图


通过陈列出所有的HTTP通信量,Fiddler可以很容易的向您展示哪些文件生成了您当前请求的页面。使用Statistics页签,用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。

选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化。


Fiddler用法整理

9. 设置断点

Fiddler用法整理

修改Request


为什么要设置断点? 断点是什么?

比如一个购买的金额输入框,输入框前端做了限制100-1000,那么我们测试的时候,需要测试小于100的情况下。很显然前端只能输入大于100的。这是我们可以先抓到接口,修改请求参数,绕过前端,传一个小于100的数,检查服务端的功能是否OK。也就是说此时接口测试其实是不需要管前端的,主要测后端的功能。


Fiddler最强大的功能莫过于设置断点了,设置好断点后,你可以修改httpRequest的任何信息包括host, cookie或者表单中的数据。设置断点有两种方法:

第一种:打开Fiddler 点击Rules-> Automatic Breakpoint  ->Before Requests(这种方法会中断所有的会话)  

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

第二种:  在命令行中输入命令:  bpu www.baidu.com   (这种方法只会中断www.baidu.com)

如何消除命令呢?  在命令行中输入命令 bpu

Fiddler用法整理

看个实例,模拟某网站的登录, 在IE中打开网站的登录页面,输入错误的用户名和密码,用Fiddler中断会话,修改成正确的用户名密码。这样就能成功登录:

  1. 打开Fiddler,在命令行中输入bpu http://computer-database.gatling.io/computers

  2. 在查询框中输入ACE,点击查询按钮

  3. Fiddler能中断这次会话,选择被中断的会话,点击Inspectors tab下的WebForms tab 修改查询关键字,然后点击Run to Completion 如下图所示。

  4. 结果是按照修改后的查询条件进行了查询。

Fiddler用法整理


Fiddler用法整理

修改Response

第一种:打开Fiddler,点击Rules-> Automatic Breakpoint -> After Response  (这种方法会中断所有的会话)

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

第二种:  在命令行中输入命令:  bpuafter www.baidu.com (这种方法只会中断www.baidu.com)

如何消除命令呢?  在命令行中输入命令 bpuafter

具体用法和上节差不多,就不多说了。

Fiddler用法整理
Fiddler用法整理

拦截来自某网站的全部请求

  1. 在命令行输入:bpu www.cnblogs.com

  2. 打开博客园任意网页,发现都被拦截到了

  3. 打开博客园其他网站,其它网站可以正常请求

  4. 说明只拦截了来自部落论坛(www.cnblogs.com)的请求

  5. 清除输入bpu回车即可


10. 模拟服务端响应


Fiddler 的AutoResponder tab允许你从本地返回文件,而不用将http request 发送到服务器上。也就是用fiddler模拟服务端的响应。

看个实例:

1. 打开博客园首页,把博客园的logo图片保存到本地,并且对图片做些修改。

2. 打开Fiddler 找到logo图片的会话, http://static.cnblogs.com/images/logo_2012_lantern_festival.gif,  把这个会话拖到AutoResponer Tab下

3. 选择Enable automatic reaponses 和Unmatched requests passthrough

4. 在下面的Rule Editor 下面选择 Find a file... 选择本地保存的图片.  最后点击Save 保存下。

5. 再用IE博客园首页, 你会看到首页的图片用的是本地的。


Fiddler用法整理
Fiddler用法整理

11. 过滤会话


每次使用Fiddler, 打开一个网站,都能在Fiddler中看到几十个会话,看得眼花缭乱。最好的办法是过滤掉一些会话,比如过滤掉图片的会话。Fiddler中有过滤的功能, 在右边的Filters tab中,里面有很多选项, 稍微研究下,就知道怎么用。


12. 会话比较


选中2个会话,右键然后点击Compare,就可以用WinDiff来比较两个会话的不同了(当然需要你安装WinDiff)

Fiddler用法整理

12. 查询会话


用快捷键Ctrl+F打开Find Sessions的对话框,输入关键字查询你要的会话。 查询到的会话会用黄色显示。

Fiddler用法整理


13. 保存会话


有些时候我们需要把会话保存下来,以便发给别人或者以后去分析。保存会话的步骤如下:点击File->Save->Selected Sessions


14. 网速限制


Fiddle提供了一个功能,让我们模拟低速网路环境…启用方法如下:Rules → Performances → Simulate Modem Speeds (如下图)

Fiddler用法整理

打开之后即可,默认的请求的时间值是【300】,响应的值是【150】,我们也可以自行修改。具体方法是点开Rules → Customize Rules 。此时会弹出CustomRules.js的代码,Ctrl+F寻找m_SimulateModem关键字,你会找到下面这段:

Fiddler用法整理

这段代码是模拟网路速度的原理,每上传/下载1KB 要delay(推迟) 多久。

如果你习惯用kbps 去算的话,那么我们的算法就是 1000/下载速度 = 需要delay的时间(毫秒),比如50kb/s 需要delay200毫秒来接收数据。也就是说"request-trickle-delay”输入时间值越大,代表访问某网页的时间越久。

请注意,当你存档之后,原本已经勾选的Simulate Modem Speeds 会被取消勾选,要记得再到Rules → Performances → Simulate Modem Speeds 勾选,这样限制网速就成功了。


16. 常用插件


以下推荐几款插件:

1.代码格式化插件:javascript Formatter。安装完重启,右击会话,选择“Make JavaScript Pretty”,即可。

2.对比会话插件:Traffic Differ。安装完重启,可在“监控面板”右侧找到“Differ”选项,点击,拖动多个会话即可对比信息。

Fiddler用法整理

看了就要关注我,喵呜~

Fiddler用法整理

一个人失眠,全世界失眠

往期链接

小编微信

欢迎添加小编微信,与小编一起关注测试~~



以上是关于Fiddler用法整理的主要内容,如果未能解决你的问题,请参考以下文章

Fiddler教程——爆肝整理

Fiddler 高级用法:Fiddler Script 与 HTTP 断点调试

05_Fiddler的Script 脚本用法

fiddler几种功能强大的用法

Fiddler高级用法—Fiddler Script抓取app网页json数据并保存

Fiddler基本用法以及如何对手机抓包