手把手Fiddler掌握
目录
- 概述
- 功能
- 工具条使用
- 状态栏使用
- 监控面板使用
- HTTPS捕获设置
- 实际运用
- HOSTS设置
- 文件代理
- 伪造请求
- 模拟网络请求延迟
- 插件
- 结语
概述
Fiddler是一款HTTP协议调试代理工具,它能够抓取记录本机所有HTTP(S)请求,通过设置断点等方法我们可以任意修改进出Fiddler的数据(cookie,html,js,css)完成测试。戳 此处下载。
Fiddler极大方便了我们工作中对接口的调试和数据分析,同时可以通过抓包获取许多我们想要的数据,下面我们就从使用上全面地了解Fiddler
ps:熟悉了解Http协议才能更好更快地理解掌握
功能
- Web调试
- 性能测试
- Http/Https流量记录
- Web会话处理
- 安全测试
- 自定义拓展性
工具条使用
对请求的操作栏目
从左到右依次介绍
- 对请求选中添加注释
-
Replay
: 选中请求重新提交 -
X
: 按照条件清除请求列表 -
Go
: http请求或者返回断点查看- 如同开发中我们常用的Debug
- 配合状态栏中的断电开关使用
- 支持打开请求断点和响应断点
-
Stream
: Http的流模式和缓冲模式切换- 默认是缓冲模式 : 请求完全结束才会返回
-
Decode
: 解压请求,更加方便查看Http请求里面的信息 - session保持数量
- 过滤请求: 使用方式如同颜色拾取器
- 只接受选中的浏览器的请求回话
-
Find
: 条件搜索 -
Save
: 保存当前所有请求到本地 - 截图
- 计时器
- 选择浏览器打开请求
-
Clear Cache
: 清除缓存 -
TextWizard
: 编码解码文本内容
- 快捷的对文本编码解码(其实就是一个集成的小工具而已)
-
Tearoff
: 窗口分离 - 搜索:基本不用
状态栏操作
- 黑色条块: 命令行, 输入help 就能去官网查看详细命令
-
Capturing
: Fiddler是否启动工作 - 过滤回话来源
- Debug请求断点开关
- 请求条目数
- 当前选中的资源地址
监控面板的使用
请求详细数据监控与操作的主要模块
左半边就不做解释了,不懂的可以去复习一下Http协议
这里简述一下右半边监控面板的使用
-
status
: 性能指标统计-
RTT
: 数据请求往返时间 -
showChat
: 以图表形式展现数据
-
-
Inspectors
: 对请求解包,数据分析最主要的模块-
Requset
: 上半部分 -
Response
: 下半部分 - 请求和响应信息一目了然
-
-
AutoResponder
: 资源代理- 拖动目标资源地址
- 替换返回结果,200.。。。或者本地文件地址或者其他资源地址都ok
- save(记得enable rules)
-
Composer
: 伪造请求,方便调试接口(后面详细讲) -
Filter
: 过滤器- 比较简单,大家可以看看英文就能使用咯
- 对于过滤无用请求还是十分常用的
-
TimeLine
: 性能测试分析,多个接口耗时对比 -
FiddlerScript
: 请求代码化(后面详细讲)
HTTPS抓取设置
HTTPS正常是无法抓取的,需要导入安装Fiddler的证书
步骤如下:
进入Tools -> Telerik Fiddler Options
如图配置
- 在
HTTPS
的Actions
里面选择Export Root Certificate to Destop
生成Fiddler证书到桌面
-
截获浏览器HTTPS请求
- 找到自己常用浏览器的设置
- 管理证书,导入自己刚刚生成的证书就ok啦
-
截获手机HTTPS请求
- 获取PC的ip地址:命令行中输入:
ipconfig
,获取ip地址 - 保证设备与电脑连接的是同一个网络
- 手动设置手机代理地址就是本机地址,端口号就是
Connections
页卡下的端口号 - 将刚刚生成的证书导入手机并安装(部分手机因为权限问题无法直接安装,需要去安全管理界面才可以选择证书安装)
- 获取PC的ip地址:命令行中输入:
ip地址查看
手机设置代理
实际运用
HOSTS设置
对于域名映射的服务器地址动态修改配置
把网站所有文件映射到指定的服务器
- Tools -> HOSTS
- ENable.....(开启HOSTS设置)
- 配置格式如下: 映射到的服务器地址 替换HOSTS映射的域名
- 如将www.baidu.com 映射到我本地服务器 :
127.0.0.1 www.baidu.com
文件代理
监控面板的AutoResponder
-
Enable Rules
开启资源代理 - 拖拽目标资源,默认是EXACT,也就是指定完整资源路径代理,也支持关键字和正则表达式
- 选择需要代理的资源(可以是其他返回码如404,500.....)
save
伪造请求
监控面板的Composer
- 将请求拖拽进来,或者直接输入请求地址
-
excute
就可以执行请求 -
POST
请求需要在RequestBody填写参数 - 请求头的信息都是可以任我们改写的
这样一来,我们调试接口就十分方便了~~~
模拟网络请求延迟
FiddlerScript
作用:把请求代码化,调用如方法名可见
在OnBeforeRequest
中
- 添加
oSession["request-trickle-delay"]="3000";
为请求添加3秒延时 - 添加
oSession["response-trickle-delay"]="3000";
为服务器响应添加3秒延时
记得saveScript
插件
除此之外,Fiddler还提供了大量好用的插件供我们特定的需求
这里就不一一赘述了,有需要的朋友可以自己上去看一看
官方下载地址
结语
Fiddler的使用到这里就差不多了
熟练使用Fiddler可以给工作或者自己个人项目带来莫大的帮助