# **Fiddler简介**
**今日内容概要**
1. Fiddler 工作原理分析(应知)
2. Fiddler的先关设置(应会)
3. Fiddler的使用(应会)
1.Fiddler 工作原理分析(应知)
1.1 Fiddler是位于客户端和服务器端之间的HTTP代理, 它能够记录客户端和服务器之间的所有 HTTP(S)请求,可以针对特定的HTTP(S)请求,分析网络传输的数据,还可以设置断点、修改请求的数据和服务器返回的数据。
Fiddler在浏览器与服务器之间建立一个代理服务器,Fiddler工作于七层中的应用层,能够捕获通过的HTTP(S)请求。Fiddler启动后会自动将代理服务器设置成本机,默认端口为8888。Fiddler不仅能记录PC上浏览器的网络请求数据,还可以记录同一网络中的其他设备的HTTP(S)请求数据。数据传递流程大致如下:
![](https://img.kancloud.cn/d1/af/d1af8fe31be374f7117f7943948ebe79_850x356.png)
1.2Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。当Fiddler退出的时候它会自动注销,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。同类工具还有MiniSniffer, Wireshark, Firebug, HttpWatch等
2.Fiddler的使用(应会)
![](https://img.kancloud.cn/36/75/3675f209d96d4f78f36b7f8d03a15330_370x169.png)
2.1 下载完成后安装,选中checkbox, 弹出如下的对话框,点击"YES"
![](https://img.kancloud.cn/3c/10/3c1053568225368e8296943952105bbf_448x192.png)
![](https://img.kancloud.cn/11/c6/11c6e718f920bb3e38b777474973caae_507x434.png)
2.2 设置代理和端口号安装完成后打开 如下图设置Fiddler代理:
![](https://img.kancloud.cn/f5/4f/f54fc2544b8dba673810d6c9166ed7ec_724x555.png)
![](https://img.kancloud.cn/59/dc/59dc47533daad8dbd4d96964a578644c_558x376.png)
2.3默认下,Fiddler不会捕获HTTPS会话,需要你设置下, 打开Fiddler Tool->Fiddler Options->HTTPS tab
![](https://img.kancloud.cn/ff/2c/ff2cf8fce40dd096e2fbacbe8b02102f_558x373.png)
2.4抓取模式设置
from all processes : 抓取所有的 https 程序, 包括 本机 和 手机
from browsers only : 只抓取浏览器中的 https 请求
from non-browsers only : 只抓取除了浏览器之外的所有 https 请求
from remote clients only : 抓取远程的客户端的 https ,可以代表手机
开启手机 Https 抓包
如果只想抓取 手机上的所有 https 请求,就应该选中 from remote clients only 。
![](https://img.kancloud.cn/63/3c/633c079388db2ed55c66c09687ba188f_556x363.png)
2.5 pc浏览器设置
在浏览器的最右侧,点击 三个点 图标,然后点击设置
![](https://img.kancloud.cn/32/2b/322bca1128ff93ff14a008482903616e_353x508.png)
![](https://img.kancloud.cn/90/ff/90ff1879761cc3fa4442b93ee57620a2_755x499.png)
![](https://img.kancloud.cn/f8/54/f8548c6fb00c466c7848dc04f569b425_594x207.png)
![](https://img.kancloud.cn/b4/2d/b42d88d674914744bafee50cccd2c2f8_1856x599.png)
2.6手机端配置
获取PC端IP地址
![](https://img.kancloud.cn/12/8a/128a90d72f820cc89c8dfbf213112831_677x442.png)
安卓手机设置代理
打开手机【设置】开启【wlan】-->连接路由器的wifi网络-->长按该wifi名称-->勾选【显示高级设置】,代理设置选择【手动】-->服务器处输入电脑ip,输入端口-->端口为:8888
连接后,fiddler就会显示手机上的相关浏览信息了
不同型号手机代理设置可能不太相同,基本都在设置中可找到(如魅族:长按wifi名称-->代理设置,进行连接设置;华为:长按wifi名称-->名称-->修改网络-->输入wifi密码,代理选择手动,输入服务器ip和端口号,点击连接即可)
2.ios手机设置代理
打开手机【设置】,无线局域网-->连接路由器的wifi网络-->点击网络名称-->HTTP代理,选择手动,服务器处输入电脑ip,输入端口后,fiddler连接成功
3.Fiddler的使用(应会)
3.1看看Fiddler的基本界面
![](https://img.kancloud.cn/53/69/536910dc4ee5cac863dabcee3ff1a1c8_997x694.png)
3.2工具栏快捷按钮介绍
![](https://img.kancloud.cn/65/6f/656f97a3b3c873c12d712c626aaa8d60_1161x183.png)
气泡图标:增加备注
点击一条会话,点击此按钮(或者右键Comment),弹出增加备注弹窗,点击OK后,备注就显示在Comment下
2.Replay:回放按钮,对捕捉到的某条会话进行回放操作
点击一条会话,点击Replay按钮(或者右键Replay),会话重新回放
3.X:清空监控面板
Remove all:清空所有
Images:过滤图片请求
Non-200s:过滤非200的请求
Non-Browser:过滤非浏览器的请求
Go:相当于调试Debug功能,请求断点的时候,让断点继续向下走
结合状态栏使用,点击底部状态栏,箭头朝上是请求发出时产生断点,箭头朝下是请求回来时产生断点
设置断点后,选中某条会话à使用Replay按钮,请求发送不出去,然后点击Go,请求成功
点击Find,Find Sessions弹窗-->Find 输入想要查找的Host名称,下面选择某种标示颜色-->点击Find Sessionsàfiddler页面中即标示查找的会话请求
Save:保存,便于清空会话后可从保存的文件中查看
Save把当前会话保存到一个地方-->清空所有会话-->左上角工具栏 点击File-->Recent Archives-->选择最近的文件,fiddler中即可显示之前所有会话
保存截图
保存后在fiddler底部出现一条图片会话,点击后右侧出现图片,可进行保存到桌面的操作
计时器
Browse:快速启动浏览器
选中一条会话,可以快速启动已安装的浏览器
Clear Cache:清除IE浏览器缓存
TextWizard:编码/解码文本内容
复制内容-->点击TextWizardàURLDeco
底部命令行工具
![](https://img.kancloud.cn/4e/d1/4ed15bd49764b4614fec0eb92ea818e8_659x26.png)
Capturing,控制捕获会话的快捷开关;
第二个是选择当前需要捕获的会话的来源程序,所有程序、浏览器、非浏览器、都不捕获选项。
第三个是会话request发送前的断点和response返回后且到浏览器前的断点,分别对应点一次,点两次该按钮(默认是空白即不设断点)
3.3如何开启/关闭 抓本机的包
如果需要抓取本机请求,有 3 中方式
方式 1
只需要启动程序并确保左下角为 Capturing状态 即可
![](https://img.kancloud.cn/9f/e4/9fe4999dc2fce865e2759202787642ca_690x94.png)
方式 2
按快捷键 F12 进行切换
方式 3
File --> Capture Traffic 勾选。
![](https://img.kancloud.cn/a4/27/a42783d40573940163560d1d6959540d_1162x434.png)
扩展:
注意这个很有用,可以开启抓本机的包,也可以过滤本机的包。当手机开启了开启了代理,就可以把本机的包过滤掉,专注抓手机的包,此时会话列表中都是手机的包了。
3.4 Fiddler中查询会话
用快捷键Ctrl+F打开Find Sessions的对话框,输入关键字查询你要的会话。 查询到的会话会用黄色显示。
![](https://img.kancloud.cn/c9/77/c9770ef14da5b2d7bbb367f326188714_304x305.png)
3.5 主界面的功能区
![](https://img.kancloud.cn/c0/55/c055e0b87dfd0b553ff4947d5fb7484c_807x54.png)
![](https://img.kancloud.cn/54/07/5407e980dcdfcddc3206bf1b59128197_496x253.png)
栏图标说明
![](https://img.kancloud.cn/b1/46/b146299b1ddd550e816367ddaa14ed89_431x394.png)
3.6 详情和数据统计板
inspector面板
针对每条http请求的具体统计(例如发送/接受字节数,发送/接收时间,还有粗略统计世界各地访问该服务器所花费的时间)和数据包分析。如inspector面板下,提供headers、textview、hexview,Raw等多种方式查看单条http请求的请求报文的信息:
![](https://img.kancloud.cn/9a/44/9a44bdec3508e96b751b18af136e8140_547x372.png)
ImageView标签
JPG 格式使用 ImageView 就可以看到图片,选择一条Content-Type是image/jpeg的回话,点击TextView
![](https://img.kancloud.cn/8a/d6/8ad66bdc73e5eefd2fe6fb941aa5125a_585x283.png)
TextView 标签
HTML/JS/CSS 使用 TextView 可以看到响应的内容。选择一条Content-Type是text/html的回话,点击TextView
![](https://img.kancloud.cn/6d/39/6d3945718cd77fe7d76bccfc5ee6c02f_574x266.png)
Raw标签
Raw标签可以查看响应报文和响应正文,但是不包含请求报文
![](https://img.kancloud.cn/73/31/7331a62fe26a5cb792d57691bf03f60d_567x201.png)
Auth标签
Auth则可以查看授权Proxy-Authorization 和 Authorization的相关信息
Cookies标签
Cookies标签可以看到请求的cookie和响应的set-cookie头信息。
![](https://img.kancloud.cn/5b/49/5b493389f6ba8a4073ccf9cc7b9c0056_605x406.png)
Statistics面板
HTTP请求的性能和其他数据分析
![](https://img.kancloud.cn/97/36/97365864a18bc76fb9c1a77d9202d315_556x392.png)
我们可以从中看出一些基本性能数据:如DNS解析的时间消耗是8ms,建立TCP/IP连接的时间消耗是8ms等等信息。
composer面板
可以模拟向相应的服务器发送数据的过程(不错,这就是灌水机器人的基本原理,也可以是部分http flood的一种方式)
![](https://img.kancloud.cn/36/a4/36a46af53d2469c1668d24338e293013_584x365.png)
- 第一章-测试理论
- 1.1软件测试的概念
- 1.2测试的分类
- 1.3软件测试的流程
- 1.4黑盒测试的方法
- 1.5AxureRP的使用
- 1.6xmind,截图工具的使用
- 1.7测试计划
- 1.8测试用例
- 1.9测试报告
- 2.0 正交表附录
- 第二章-缺陷管理工具
- 2.1缺陷的内容
- 2.2书写规范
- 2.3缺陷的优先级
- 2.4缺陷的生命周期
- 2.5缺陷管理工具简介
- 2.6缺陷管理工具部署及使用
- 2.7软件测试基础面试
- 第三章-数据库
- 3.1 SQL Server简介及安装
- 3.2 SQL Server示例数据库
- 3.3 SQL Server 加载示例
- 3.3 SQL Server 中的数据类型
- 3.4 SQL Server 数据定义语言DDL
- 3.5 SQL Server 修改数据
- 3.6 SQL Server 查询数据
- 3.7 SQL Server 连表
- 3.8 SQL Server 数据分组
- 3.9 SQL Server 子查询
- 3.10.1 SQL Server 集合操作符
- 3.10.2 SQL Server聚合函数
- 3.10.3 SQL Server 日期函数
- 3.10.4 SQL Server 字符串函数
- 第四章-linux
- 第五章-接口测试
- 5.1 postman 接口测试简介
- 5.2 postman 安装
- 5.3 postman 创建请求及发送请求
- 5.4 postman 菜单及设置
- 5.5 postman New菜单功能介绍
- 5.6 postman 常用的断言
- 5.7 请求前脚本
- 5.8 fiddler网络基础及fiddler简介
- 5.9 fiddler原理及使用
- 5.10 fiddler 实例
- 5.11 Ant 介绍
- 5.12 Ant 环境搭建
- 5.13 Jmeter 简介
- 5.14 Jmeter 环境搭建
- 5.15 jmeter 初识
- 5.16 jmeter SOAP/XML-RPC Request
- 5.17 jmeter HTTP请求
- 5.18 jmeter JDBC Request
- 5.19 jmeter元件的作用域与执行顺序
- 5.20 jmeter 定时器
- 5.21 jmeter 断言
- 5.22 jmeter 逻辑控制器
- 5.23 jmeter 常用函数
- 5.24 soapUI概述
- 5.25 SoapUI 断言
- 5.26 soapUI数据源及参数化
- 5.27 SoapUI模拟REST MockService
- 5.28 Jenkins的部署与配置
- 5.29 Jmeter+Ant+Jenkins 搭建
- 5.30 jmeter脚本录制
- 5.31 badboy常见的问题
- 第六章-性能测试
- 6.1 性能测试理论
- 6.2 性能测试及LoadRunner简介
- 第七章-UI自动化
- 第八章-Maven
- 第九章-测试框架
- 第十章-移动测试
- 10.1 移动测试点及测试流程
- 10.2 移动测试分类及特点
- 10.3 ADB命令及Monkey使用
- 10.4 MonkeyRunner使用
- 10.5 appium工作原理及使用
- 10.6 Appium环境搭建(Java版)
- 10.7 Appium常用函数(Java版)
- 10.8 Appium常用函数(Python版)
- 10.9 兼容性测试