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 :可以设计主机规则

posted @ 2019-12-10 13:37  Ablert丶  阅读(401)  评论(0)    收藏  举报