Fiddler使用教程
工具简介
菜单栏
File
Capture Traffic 捕获流量
New Viewer 打开新的fiddler窗口
Load Archive 加载saz文件 注解: Session Archive Zip 保存压缩后的http请求
Recent Archive 打开最近的saz文件
Save 保存session,如下图:
Import session 导入session
Export session 导出session
Exit 退出
Edit
- Copy 复制会话信息
- Remove 删除会话信息
- Select All 全选
- Paste as Sessions 黏贴会话信息
- Mark 标记会话
- Find Sessions 查找会话
Rules
- Hide Image Requests 隐藏图片请求
- Hide CONNECTs 隐藏https请求
- Automatic Breakpoints 自动设置断点
请求之前拦截
请求之后拦截
常用场景:断点调式的demo, 修改form表单请求
- Customize Rules 自定义规则
1 | m_SimulateModem // 修改上传下载速度, 每上传/下载1KB 要delay多久 |
Require Proxy Authentication 密码代理验证
Apply GZIP Encoding 采用GZIP编码
Remove All Encodings 删除全部编码
Hide 304s 隐藏304会话
Request Janpanese Content 要求日语内容
Automatically Authentication 自动认证
User-Agents 用户代理
两个方法
方法1:点击rules → Customize Rules → 查找“OnBeforeRequest” → 添加代码(代码如下)
方法2:直接点击 fiddlerScript→ 查找“OnBeforeRequest” → 添加代码(代码如下)1
2
3
4
5//根据host判断
if(oSession.host=="www.baidu.com"){
oSession.RequestHeaders.Remove("User-Agent");
oSession.RequestHeaders.Add("User-Agent","Mozilla/5.0 (iPhone; CPU iPhone OS 10_2_1 like Mac OS X) AppleWebKit/602.4.6 (KHTML, like Gecko) Mobile/14D27 baiduboxapp/0_01.5.2.8_enohpi_4331_057/1.2.01_1C2%258enohPi// 1");
}Performance 性能
- Simulate Modern Speeds 调制解调器速度(低速)
- Disable Caching 禁止缓存
- Cache Always Fresh 刷新缓存
Tools
options 配置捕获https请求
- 步骤一
步骤二
步骤三
步骤四
步骤五
步骤六
WinINET Options WinINET选项
Clear WinINET Cache 清除WinINET缓存
Clear WinINET Cookies 清除WinINET的Cookies
TextWizard 文字编码解码
Compare Sessions 比较会话
New Session Clipboard 新会话写字板
HOSTS hosts配置
Reset Script 重置脚本
Sandbox 沙箱
View IE Cache 查看IE缓存
View
Help 帮助
快捷方式
- Winconfig 捕获应用请求
- 给session增加注释
- Replay 再次请求一次该操作
- 按条件删除session
- Go 断点往前走
- Stream 流的方式运行
1
2
3
4【steam】模式切换:fiddler有两种模式:
1、流模式:可实时把服务器数据返回给客户端;
2、缓冲模式:http请求所有的数据都准备好之后
才把数据返回给客户端;一般默认情况下时缓冲模式,点击【stream】之后变成了流模式。 - Decode 解压请求
- 显示多少条会话
- Any Process 任何进程
- Find 会话搜索
- Save 保存会话
- 屏幕快照,倒计时5s
- 计算请求时间
- 浏览器打开当前请求
- 清除缓存
- textWizard 输入的内容进行编码和解码
- Tearoff 可将右侧的工具栏进行分离
会话列表
1.会话框主要查看请求一些基本信息,如# 、result、protocol、host、url、body、 caching、content-type、process
2.会话框列表最左侧
#号这一栏是代表这个请求大概是什么内容,
<>这个符号就是我们一般要测试的请求与响应的类型。
3.result:这里是服务器返回的代码,如
- 200,请求ok;2xx一般是服务器接受成功了并处理
- 3xx,重定向相关
- 4xx, 404最常见的的就是找不到服务器,一般是请求地址有问题
- 5xx, 这个一般是服务器本身的错误
4.protocol:这个是协议类型,如http、https
5.host:主机地址或域名
6.url:请求的路径
7.body:该条请求产生的数据大小
8.caching:缓存相关
9.content-type:连接类型
10.process:客户端类型
2.4 工具栏
接口测试(Composer)
Fiddler最大的优势在于抓包,我们大部分使用的功能也在抓包的功能上,fiddler做接口测试也是非常方便的。
对应没有接口测试文档的时候,可以直接抓完包后,copy请求参数,修改下就可以了。
Composer简介
1 | // 案列demo |
点开右侧Composer区域,可以看到如下界面,就是测试接口的界面了
- 1.请求方式:点开可以勾选请求协议是get、post等
- 2.url地址栏:输入请求的url地址
- 3.请求头:第三块区域可以输入请求头信息
- 4.请求body:post请求在此区域输入body信息
- 5.执行:Execute按钮点击后就可以执行请求了
- 6.http版本:可以勾选http版本
- 7.请求历史:执行完成后会在右侧History区域生成历史记录
1 | 直接在fiddler里把请求拖拽过去可以了 |
模拟get请求
1.在Composer区域地址栏输入博客首页:https://www.baidu.com/
2.选择get请求,点Execute执行,请求就可以发送成功啦
3.请求发送成功后,左边会话框会生成一个会话记录,可以查看抓包详情(双击)
4.右侧history区域会多一个历史请求记录
5.会话框选中该记录,查看测试结果:
- 选中该会话,点开Inspectors
- response区域点开Raw区域
- Raw查看的是HTML源码的数据
- 也可以点WebView,查看返回的web页面数据
模拟post请求
1.请求类型勾选post
2.url地址栏输入对应的请求地址
3.body区域写登录的json参数,json参数直接copy上一步抓包的数据,如下图红色区域
4.header请求头区域,可以把前面登录成功后的头部抓包的数据copy过来
(注意,有些请求如果请求头为空的话,会请求失败的)
5.执行成功后查看测试结果:
– 执行成功如第三所示的图,显示success=True
– 执行失败如下图所示,显示
message=Invalid length for a Base-64 char array or string.
success=False
request请求信息
1.Request是客户端发出去的数据
2.headers:请求头,这里包含client、cookies、transport等
3.webfroms:请求参数信息表格展示,更直观。可以直接该区域的参数, 可篡改form表单
4.Auth:授权相关,如果显示如下两行,说明不需要授权,可以不用关注(这个目前很少见了)
- No Proxy-Authorization Header is present.
- No Authorization Headeris present.
5.cookies:查看cookie详情
6.raw:查看一个完整请求的内容,可以直接复制
7.json:查看json数据
8.xml:查看xml文件的信息
decode解码
1.如果response的TextView区域出现乱码情况,可以直接点下方黄色区域解码
2.或者选中上方快捷菜单decode,这样后面的请求都会自动解码了
reponse返回信息
Response是服务端返回过来的数据,request信息差不多
命令行
1 | bpu //请求前断点 |