fiddler 操作
Fiddler简介
- Fiddler是位于客户端和服务器端的HTTP代理
- 目前最常用的http抓包工具之一
- 功能非常强大,是web调试的利器
- 监控浏览器所有的HTTP/ HTTPS流量
- 查看、分析请求内容细节
- 伪造客户端请求和服务器响应
- 测试网站的性能
- 解密HTTPS的web会话、
- 全局、局部断点功能
- 第三方插件
- 场景使用场景
- 接口调试,接口测试。线上环境调试。weh性能分析
- 判断前后端bug、开发环境hosts配置、mock、弱网断网测试
原理

状态码
| 状态码 | 描述 |
|---|---|
| 1xx | 提示信息,请求被成功接收 |
| 2xx | 成功200 |
| 3xx | 重定向相关304 |
| 4xx | 客户端错误404 |
| 5xx | 服务器端错误500 |
请求头

响应头

fiddler操作
菜单栏

设置端口、启动自代理

隐藏通道连接和304重定向

工具条
一 、添加备注信息

二、重放请求
(多起请求也叫重放攻击,也对服务器做到了一定压力测试(串行的,而 jmeter 是并发的))

三、移除请求
删除选中的请求:Del 键
删除没被选中的请求:shift + Del 键
删除所有请求:ctrl + x (一个请求没选的话(点击请求空白地方),可以删除所有请求)

四、请求前断电
点击这个地方



请求还没发往服务器就被中断

此时点 Go 就可以将断点发送出去

五、stream一般不用
默认缓存模式
六、Decode解码
点上:对所有请求进行解码
七、保存多少条session

**八、Any Process **
抓程序进程
九、Find 查找

ctrl + F
可以快速定位包
十、save

将左侧所有请求保存成一个 .saz 的一个归档文件
十一、将一个请求快速用浏览打开

十二、清除浏览器缓存

十三、编码 、解码、MD5加密等等

例如:get请求的参数编码,?name=xxxxx&wassword=123456 ===》 P25hbWU9eHh4eHgmd2Fzc3dvcmQ9MTIzNDU2
命令行和状态

命令控制台
输入help可以在官网学习更多知识:https://docs.telerik.com/fiddler/knowledgebase/quickexec
capturing 设置fiddler是否设置为代理
断点
响应前的断点:
响应后的断点:
statistics(统计)
HTTP请求的性能和其他数据分析,如DNS解析的时间,建立TCP/IP链接的时间消耗信息等

Inspectors 检查器
双击请求自动切换到 inspectors
检查请求(检查请求报文,响应报文)


AutoResponde自动响应器
用于拦截某一请求,进行如下操作:
- 重定向到本地的资源
- 使用 Fiddle 的内置响应
- 自定应响应


示例:可以做mock
composer
通过fiddler,简单的接口测试工具(发包)
可以使用composer构造请求报文进行快速测试,可以指定重新发送某条请求。
https://img-blog.csdn.net/20151213191145736
将左侧的请求拖到composer中,修改请求头后点击execute,就会产生一个新的请求提交,再查看。
单个请求发包

多个请求发包

filters过滤器
多维度过滤器


断点应用
全局断点

disabled:断点失效
请求前断点:
响应后断点:
disabled 取消断点:
请求点断点示例:
设置请求前断点,断电后选中请求,进行操作,之后点击 Go 给服务器发送请求
(同理响应后断点)
删除数据操作,看前端在没有数据的情况下怎么展示。
做极端测试,模拟网络中断 ==》 是否有友情提示
局部断点
请求前断点
只能通过命令断点:bpu 请求的断点
示例:bpu login ==》 请求有login的就进行断点
取消断点:再次输入bpu
响应后断点
命令断点:bpafter 响应的断点
示例:bpafter login == 响应后有login就进行断点
取消断点:再次输入bpafter
弱网测试
请求会变慢;

设置模拟网速操作


改完配置重启 fiddler
设置 Fiddler 捕获 HTTPS 流量
打开 Tools == >> options == >> https == >> 勾选 ==>> 按确定 安装证书

设置Fiddler捕获firefox HTTPS 流量
Firefox 默认是不设置代理的,所以要用抓 Firefox 的包要先设置
选项 == >> 高级 == >> 网络 == >> 设置

这样可以抓到 Firefox 的 HTTP 包
安装 Firefox Https 证书
选项 == >> 高级 == >> 证书 == >> 查看证书 == >> 导入证书 == >> 找到 fiddler 导出的证书 导入 == >> 勾选信任


Android App 抓包
Android 手机设置 fiddler 代理
点开手机的WiFi设置 == >> 点击代理设置 == >> 手动设置(服务器:无线局域网IPv4 地址 ;端口:fiddler监听的端口)
注意:手机的WiFi要和电脑处于一个网络
fiddler勾选 allow remote computers to connect

Android 手机设置Https证书
打开Android 设备浏览器,访问 http://ipv4:8888/
点击页面下方的 FiddlerRoot certificate 下载证书


魅蓝note6 为例:
我是直接在浏览器找到下载好的 FiddlerRoot.cer ,点开重命名后手机自动安装,点击提示,选信任
(正常流程:打开设置 >> 指纹、面部和安全 >> 设备管理与凭证 >> 从存储盘安装 >> 浏览器打开 FiddlerRoot.cer 进行安装)
注意:测试完毕关闭代理,否则手机无法正常上网
抓 iOS 设备 APP 包 —Fiddler 设置
- 点击Tools > Fiddler options > Connect ions.
- 勾选Allow remote computers to connect.
- 重启Fiddler
- 确保防火墙允许Fiddler进 程可以远程连接
- ios设备连接WiFi(电脑和手机在同一个局域网)
- 确保ios设备可以访问到http: //FiddlerMachineIP:8888,会返回Fiddler Echo Service页面
巨坑:安卓7以上不能抓取https包,找开发解决,需要开发一段代码
iOS 设备抓包 - 安装证书解密 HTTPS
- 在iOS设备打开浏览器,访问http://ipv4:8888/
- 点击Fiddler Echo Servi ce页面底部F iddlerRoot certificate下载证书
- 打开FiddlerRoot.cer 文件并安装
- 安装成功后,在通用>关于本机>证书信任设置中,信任刚安装的Fiddler证书
- Safari打开https://www. baidu. com. 已经可以抓取HTTPS
插件安装
fiddler 官方插件
网站:https://www.telerik.com/fiddler/add-ons
Traffic Differ :对比两个请求(如:web调试)
PDF view:请求的资源是PDF,这个插件可以让请求以PDF视图展示
JavaScript Formatter:做 js 脚本格式化
CertMaker for iOS and Android:制作证书用的,如果fiddler 版本较低,可能不兼容手机
willow 插件
willow: autoresponder 和Tools 的加强版
autoresponder:可以自动设置响应规则
Tools ==>> host :可以设计主机规则


浙公网安备 33010602011771号