目录
1.Fiddler是什么?
2.Fiddler的原理
3.Fiddler安装
4.Fiddler界面
4.1.常用工具
4.2 会话列表
4.3 状态栏
4.4 内容显示区
1.Fiddler是什么?
Fiddler是客户端与服务器之间的HTTP代理,是当前最常用的HTTP协议抓包工具。
主要功能:
- 监控浏览器HTTP或HTTPS发送和接收的数据包
- 测试网站性能
- 通过抓取来往的数据包,分析网络问题
- 伪造客户端请求或服务器响应
- 解密HTTPS会话
Fiddler经常在接口测试,web应用性能分析,接口问题分析等场景中,也经常用在Mock工具,用来模拟请求或响应数据。
2.Fiddler的原理
Fiddler的位置:
Fiddler是位于浏览器和服务器之间的请求和响应代理,所以它可以截获浏览器和服务器之间的所有HTTP通讯,(可以打开Fiddler,然后使用chrome查看一下代理设置)
3.Fiddler安装
Fiddler | Web Debugging Proxy and Troubleshooting SolutionsExplore the Fiddler family of web debugging proxy tools and troubleshooting solutions. Easily debug, mock, capture, and modify web and network traffic.https://www.telerik.com/fiddler选择经典版选择!
根据要求填写基本信息!
找到安装包直接双击安装接口!
4.Fiddler界面
4.1.常用工具
为请求增加备注,在接口测试时可以对有问题的请求做备注,可以导出(File -》Export session)
保存所有的对话
导入,导出
再次发送请求,快捷键R, shift+r 可以输入重复发送的次数
删除请求,shift+delete 反向删除(即保留选中的请求,删除其他请求),ctrl+x清除所有的请求
代理端口号:
设置编码方式
和断点配合使用,执行下一步的意思
打断点:
直接刷新界面就可以进入断点了
在点一次就断点发送到浏览器 ,点第三次断点结束
解码(不是解密),即将机器可以看懂的编码解码为人可以看懂的信息
流模式,当服务器有内容回来时立即返回给浏览器,但在这种情况下断点模式会失效,默认使用缓存模式,即fiddler先接收到所有数据再给浏览器。
保持会话的数量,点击出现下拉列表可以选择需要保持的会话数量
用来选择需求监听HTTP请求的进程(应用),指向该按钮按住鼠标键可以以移动鼠标的方式选择需要监听的应用
查找功能,比较常用,快捷方式ctrl+f
保持所有会话,可以先将不需要的请求删除,整理除需要的,保存为一个文件。可以作为附件提交到bug记录,开发人员可以直接打开查看。
快捷打开浏览器
删除浏览器缓存
编码解码功能,可以方便我们查看信息的编码,比如我们向看看:你好世界,对应的base64编码长得啥样,可以用这个
分离面板,可以将右边的内容显示区分离成独立的显示窗口
在线信息,可以显示当前主机的IP
4.2 会话列表
用于展示每一个抓取的HTTP会话信息(session)
会话信息:
- ID号
- 状态码
- 协议
- 主机名
- url
- 内容类型
- body大小
- 进程信息
- 自定义备注,根据自己的需求 自己增加的说明信息,一般可以写简单的问题描述
增加显示IP列,以便于显示域名对应的IP地址:
1.打开Fiddler工具,Rules->Customize rules
2.Ctrl+F搜索"static function Main()"方法,添加以下代码:FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");
4.3 状态栏
这个是快捷命令窗口
正在捕获HTTP会话,再次点击就关闭捕获
可以过滤会话
再All Process右边的空白区,可以点击断点,点击1次为请求前断点,点击2次为响应后断点。
4.4 内容显示区
该区域主要是用来显示选择的请求的详情信息,双击需要查看的请求即可。
请求的性能数据
检查器,检查请求信息,可以用来查看请求头,请求体,响应头,响应体等等信息。
支持创建规则,可以在响应请求时自动触发,常见例子是返回之前捕捉的响应,而不需要访问服务器。通俗点讲,就是它能在不访问服务器的情况下,使发送的请求得到自己设置的响应。
在测试接口时,可以自定义返回内容,通过自定义的返回内容,进而测试程序接收到不同返回后,不同的处理逻辑
Composer的功能就是用来创建HTTP Request然后发送请求。 允许自定义请求发送到服务器,即可以手动创建一个新的请求,也可在会话表中拖拽一个现有的请求。
- 可以手写一个Request
- 在Web sessions会话列表中拖拽一个已有的Request
Componser可以用来篡改数据,包括Cookies中的数据也可改。
抓取手机APP的HTTP数据包
FiddlerScript 是Fiddler 的一项非常强大的功能,它允许你增强Fiddler UI,添加新的特性,修改请求与响应内容等等
过滤器,这个功能经常使用,用于定义需要抓取的数据包