Fiddler简介
Fiddler是位于客户端和服务器端的HTTP(超文本传输协议)代理,目前最常用的http抓包工具之一。
它的功能非常强大,是web调试的利器:
- 监控浏览器所有的HTTP/HTTPS流量
- 查看、分析请求内容细节
- 伪造客户端请求和服务器响应
- 测试网站的性能
- 解密HTTPS的web会话
- 全局、局部断点功能
- 第三方插件
使用场景:
接口调试、接口测试、线上环境调试、web性能分析
判断前后端bug、开发环境hosts配置、mock、弱网断网测试
工作原理:
Fiddler工具栏
小工具:
气泡图标 对选中的会话进行注释/备注
Replay 重放功能(快捷键:R 重放一次 / shift+R 重放多次)
× 删除功能(快捷键:ctrl+X)
Decode 解码(全局)
Keep:All sessions 保持会话的数量(会话会占用内存,一般不会用到此功能)
Any Process 选择要抓包/监听的程序
Find 查找(/搜索 快捷键:ctrl+F)
Save 保存会话
Clear Cache 清楚IE浏览器缓存
TextWizard 编码/解码工具
Tearoff 分离右侧面板
Session List 会话列表
Fiddler抓取到的每条http请求(每一条称为一个session)
主要包含了请求的ID编号、状态码、协议、主机名、URL、内容类型、body大小、进程信息、自定义备注等信息
可以自定义添加列,如添加IP列:
Rules->Customize Rules...->Ctrl+F查找“static function Main()”字符串,然后添加代码:FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");
点击表头还可以进行排序~
在命令行里输入HELP,按回车键,会跳转到官方的帮助文档(里面有很多命令)~
如:
bpu 参数 设置断点(再次输入 bpu 可以取消断点)
点击Capturing可以取消设置代理~
All Processes可以选择性录制会话。如:Web Browsers
All Processes后面的空白处为设置断点处(点击一次为请求前断点,点击两次为响应后断点,点击三次会取消断点)
Statistics统计分析(测试人员应用场景比较少~)
HTTP请求的性能和其他数据分析。如:DNS解析的时间,建立TCP/IP连接的时间消耗等信息
Inspector 检查器
以多种形式来展示请求报文和响应报文。
Headers 分层级、分类来展示Headers信息
TextView 展示文本格式信息(一般不用TextView)
SyntaxView 展示xml/json格式信息
WebForms 展示表单格式信息
Cookies 展示cookies信息
Raw 以原生/原始格式展示
JSON 展示json格式信息
XML 展示xml格式信息