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缓存

  • win8 loopback exemptions

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
2
// 案列demo
https://marketing-dev.saicmobility.com/mis-h5/couponPackageList

点开右侧Composer区域,可以看到如下界面,就是测试接口的界面了

图片

  • 1.请求方式:点开可以勾选请求协议是get、post等
  • 2.url地址栏:输入请求的url地址
  • 3.请求头:第三块区域可以输入请求头信息
  • 4.请求body:post请求在此区域输入body信息
  • 5.执行:Execute按钮点击后就可以执行请求了
  • 6.http版本:可以勾选http版本
  • 7.请求历史:执行完成后会在右侧History区域生成历史记录
1
2
直接在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
2
bpu //请求前断点
cls // 清除

【fiddler命令行文档】

其他推荐

pbMock
mockjs