该文档写于 2018年下半年好像,工具的一些模块和细节上可能与最新版的Fiddler 有所出入,毕竟已经不用Fiddler页有段日子了…
一、Fiddler介绍与安装
Fiddler介绍
-
Fiddler是一款HTTP协议调试代理工具,它能够抓取记录本及所有HTTP(S)请求。 其运行机制其实就是本机127.0.0.1上监听8888端口的HTTP带理。 -
Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。 -
更多介绍见百度百科
![在这里插入图片描述](https://img-blog.csdnimg.cn/4dfd4e20f0054f3c873eef292b0d5258.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
Fiddler下载与安装
-
官网地址:http://www.telerik.com/fiddler -
先安装FiddlerXXX.exe -
再安装Fiddlercertmaker.exe (类似安全证书) -
然后就可以启动Fiddler了 -
启动之后的界面包括: 工具栏区、请求列表区、请求详情区、响应详情区、命令行区。
![在这里插入图片描述](https://img-blog.csdnimg.cn/9d9fd5b5ea2f4bd983a60268a4114c1e.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
二、WEB端抓包
初次安装是不可以抓HTTPS的包的
开启/关闭抓包
快捷键:F12 左下角的开关
![在这里插入图片描述](https://img-blog.csdnimg.cn/a53da279c927450bafbaa89956c8cda0.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
初次配置
点击工具栏区 Tools ---> Fiddle Options
选择 Fiddle Options 的 Connections
在 Connections 界面 选择
Captrue FTP requests、
Allow remote computers to connect、
Reuse client connections、
Reuse server connections
并输入端口号。
点击“OK”
这样我们就可以捕捉到大部分的请求。
![在这里插入图片描述](https://img-blog.csdnimg.cn/bc4fc21436cd4d589caf1d864d69f07f.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/8475b75b305c4003805e2c6489b89269.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
验证是否可以正常抓包
启动IE浏览器 输入 www.baidu.com 观察左侧 请求列表区 是否有百度的请求 如果有则证明当前配置是成功的,可以正常抓取数据包了。
Fiddle 抓包,默认使用IE浏览器,是不需要做任何配置的, 假如想使用Firefox之类的浏览器抓包的话,不见得能够抓到,需要在Firefox配置代理。
Filter请求过滤_过滤&筛选页签
使用 Filter 可以帮助我们只显示指定的请求、不显示指定的请求(即Filter请求过滤)
启用Filter
![在这里插入图片描述](https://img-blog.csdnimg.cn/3ef739e700a34507ad2b098993c11f8b.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
只显示指定的请求
![在这里插入图片描述](https://img-blog.csdnimg.cn/ea6c960535c34251a49b9f9e64a446d9.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
只显示内网的Hosts [使用频率较少]
![在这里插入图片描述](https://img-blog.csdnimg.cn/5d28b735164240a2bff76594c6cf4c4d.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
只显示外网的Hosts [使用频率较少]
![在这里插入图片描述](https://img-blog.csdnimg.cn/ca8332f00ccf4d069632581f4bfc8188.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
隐藏指定的Hosts
隐藏多个相关Hosts 的情况下,使用英文分号隔开,见下图。
![在这里插入图片描述](https://img-blog.csdnimg.cn/cf52d762212642f1962d2dce7a07aeed.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
只显示指定的多个Hosts
显示多个相关Hosts的情况下,使用英文分号隔开,见下图。
![在这里插入图片描述](https://img-blog.csdnimg.cn/df52b4d97f374ed38d38bf12817b5ab7.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
标记过滤到的域名
![在这里插入图片描述](https://img-blog.csdnimg.cn/dcf809bd97814aec9e1623f985169566.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
过滤指定url的css、js等
- 在
Hide if URL contains 输入 REGEX:\.(js|css|google|favicon\?.*)+ - 再点击
Actions ,选择 Run Filters now
![在这里插入图片描述](https://img-blog.csdnimg.cn/c8d5ea99581c4a3da19145383022f38e.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
查看响应
双击想要查看的请求,在 响应详情区 显示该请求的详细响应情况
![在这里插入图片描述](https://img-blog.csdnimg.cn/bd2bbf64a05e4601b05457a299b4ba19.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
如何抓包HTTPS请求
在菜单项 Toos —> Options —> HTTPS
![在这里插入图片描述](https://img-blog.csdnimg.cn/498ec2d0f96343cf900656fc6b13b470.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
勾选 CaptureHTTPS CONNECTs
勾选Decrypt HTTPS traffic
选择 ...from all processes
勾选 Ignore server certificate errors(unsafe)
![在这里插入图片描述](https://img-blog.csdnimg.cn/939f61c9cd7a4b5dadc9850823029ace.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
需要注意的是,在安装完Fiddle后,一定再安装Fiddlercertmaker.exe(类似安全证书)
在勾选CaptureHTTPS CONNECTs 、
Decrypt HTTPS traffic、
Ignore server certificate errors(unsafe) 时,
弹出两个对话框,直接选择是/yes!
重点:配置完成后,一定要重启Fiddle! 一定要重启Fiddle!一定要重启Fiddle!一定要重启Fiddle!
三、移动app端抓包
前置条件
1、手机与电脑在同一局域网 2、完成fiddler的基本配置,参照WEB端抓包
手机配置代理(以小米8手机为例)
设置 —> WLAN —> 选择wifi —> 点击右边的箭头 —> 代理(选择手动) —> 主机名(输入电脑IP)—> 端口默认为8888 —> 点击右上角确定
完成上述操作后,Fiddler就可以抓取到手机APP的请求了。
用完之后记得关闭手机的代理设置!否则可能无法上网!
抓取移动APP端https
1、打开手机浏览器输入:http://本机IP地址:8888(端口号根据自己实际设置情况进行输入) 2、在打开的页面中找到FiddlereRoot certificate字样的超级链接,点击即可。
四、模拟低速网络(限速)
为什么要模拟网络限速?
日常我们的网络状况都比较好,有时候经常忽略在低速或者网络不好的情况下系统的页 面表现,而Fiddler就可以帮助我们限速进而达到模拟低速网络的状态。
自定义限速
根据自己的需求做一个限速的设置
点开 Rules ---> Customize Rules,在弹出的页面搜索“Delay sends by 300ms per KB uploaded”
将参数修改需要的值。(单位:毫秒)
代码解读:
发送数据每 KB 延迟 300 毫秒
接收数据每 KB 延迟 150 毫秒
修改完之后一定要保存 【 CTRL + S 】
![在这里插入图片描述](https://img-blog.csdnimg.cn/ffc3ba98ff3c4ba1a2adf290a157d06d.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
启用限速功能
开启方法:
Rules ---> Performances ---> Simulate Modem Speeds
当 Simulate Modem Speeds 前面出现 “√”,即表示已经启用限速。
不用的时候记得关闭 限速的功能!
图片好像被我改变形了[抱歉] ![在这里插入图片描述](https://img-blog.csdnimg.cn/9697bd6cd610420baf5c64c7e27d5a8b.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/97af9866df3646939d9cbd6fda2f2eb9.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
五、如何篡改请求数据
什么是篡改请求数据?
可以理解为针对请求数据的修改,修改完成之后发送至服务器端,然后根据修改之后的 请求数据给出一个响应。
此处以登录51cto为例进行讲解,登录地址为 http://home.51cto.com/index
大致步骤如下:
用IE打开上面的登录页面
然后在Fiddler的命令行中输入
dpu http://home.51cto.com/index
bpu + url :当访问url时,对该url 进行一个拦截,bpu 就相当于一个拦截命令(如果想取消该命令,则在命令行中再次输入bpu 即可)
输入错误的用户名和密码,点击登录
Fiddler能中断这次会话,选择被中断的会话,点击Inspectors下的WebForms,然后修改用户名密码都为正确的,然后点击Run to Completion即可。
![在这里插入图片描述](https://img-blog.csdnimg.cn/75e3c805edf542f58dfcfabb1c3bd3c1.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/5b5db33af4334c0eaeb710decb099eb8.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/bd9dcc25fea74d98b2d954896b66a3bb.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
六、利用auto responder替换源资源
-
关于Fiddler的AutoResponder 其实就是重定向功能,主要是进行会话的拦截,然后替 换原始资源的功能。 -
举个例子,某网站上有一个logo,这个时候如果想在不替换logo图片文件的前提下换 一个logo看看效果,那怎么办呢?AutoResponder就可以完成。 -
使用IE浏览器获取图片属性(需要注意的是 刷新是 使用 CTRL+F5 强制刷新),这样 会重新请求资源。
![在这里插入图片描述](https://img-blog.csdnimg.cn/01e663fb8c404c77aea4d34df371c157.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/7db1327e3785465493ff4eeac704c0b6.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/0441c1eedced4259a359bd72658eedd2.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/6c1a3580e7074483a2dbd90548717e73.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/e52b78be88904cabbffee1f707a8f1bc.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/e3078323ac3148c9a4d5b790d28165c6.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/7f26a651f6394e98a4a990f4a7f7e85b.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/306af07917094dd09dc4ce6d0e759847.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
七、利用fiddler快速模拟mock
什么是mock?
可以理解为模拟一整套开发人员实现的逻辑接口 举例: 访问某URL,响应返回一个json串
本地新建一个txt文件,写一个json串
![在这里插入图片描述](https://img-blog.csdnimg.cn/a745f1dc4a2b4a2dac75a2a3ae8aec8f.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2492b5bd94db4ad6810abbd01fa2227c.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/308599bd123547348c0f0925b0c48a6b.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
八、利用Composer发送自定义请求
Composer组件:小型、迷你型的接口测试工具,比较简易。 功能上不如postman
![在这里插入图片描述](https://img-blog.csdnimg.cn/c6a65d8586364b04899e78cc852726c4.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/09b4d19c3b934d6ebb5e3ee230faa152.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/0a57971dfa7a4a0c8331348625034881.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
如何避免乱码
![在这里插入图片描述](https://img-blog.csdnimg.cn/7d0da9b806f544ae9c78c066f8f78b64.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/7192e8c3659f4669a3da44e0adda0468.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/8e4be5cf53a840fbb55c7f98067db143.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ri05pyb5Yqb6YeP55qE5ZOI5aOr5aWH,size_20,color_FFFFFF,t_70,g_se,x_16)
|