Fiddler 概览
界面详解
Session List(会话列表)
Fiddler 抓取到的每条 http 请求(每一条称为一个 session)
主要包含了请求的 ID 编号、状态码、协议、主机名、URL、内容类型、body 大小、进程信息、自定义备注等信息
Statistics(统计)
HTTP 请求的性能和其他数据分析,如 DNS 解析的时间,建立 TCP/IP 连接的时间消耗等信息
Inspectors(检查器)
Inspectors 意思是检查器
可以多种方式查看请求的请求报文和响应报文相关信息
AutoResponder(自动响应器)
AutoResponder 可用于拦截某一请求,进行如下操作:
重定向到本地的资源
使用 Fiddler 的内置响应
自定义响应
Filters(过滤器)
多维度的过滤规则,可根据主机、进程、请求头、响应头、状态码、响应类型和大小、断点进行请求的过滤
HTTPS 抓包
点击 Tools > Fiddler Options > HTTPS勾选 Decrypt HTTPS TrafficHTTPS 抓包
捕获 Firefox HTTPS 的包
导出 Fiddler 根证书
Tools > Fiddler Options > HTTPSActions > Export Root Certificate toDesktop 将 Fiddler 根证书导出到桌面
捕获 Firefox HTTPS 的包
Firefox 导入根证书
打开 Firefox 浏览器击打开菜单 > 选项 > 高级 > 证书 > 查看证书点击导入 > 选择桌面的 Fiddler 根证书 > 打开
抓不到 HTTPS 解决方案 1
关闭 Fiddler 和 Firefox运行命令 certmgr.msc,打开系统的证书管理器(Fiddler 的 https 配置选项卡中的 Actions 也可打开)点击操作 > 查找证书 > 输入 Fiddler 进行查找 > 选中所有查找到的证书 > 删除重复步骤配置 Firefox 浏览器抓取 HTTPS 包重新测试,大部分情况可以抓取 HTTPS 包了抓不到 HTTPS 解决方案 2
清除系统安装的 Fiddler 根证书
运行命令 certmgr.msc,打开系统证书管理点击操作 > 查找证书 > 输入"Fiddler"进行查找 > 选中所有查找到的证书 > 删除
清除 Firefox 中 Fiddler 根证书
打开 Firefox 浏览器点击打开菜单 > 选项 > 高级 > 证书 > 查看证书找到并各项中的 DO_NOT_TRUST_FiddlerRoot 证书
下载并安装 Fiddler 证书生成器
下载 FiddlerCertMaker.exe ,地址 /fiddler/add-ons ,搜索:CertMaker直接打开 FiddlerCertMaker.exe (安装过程中如出现错误可忽略)
重启 fiddler 和 Firefox 浏览器
重新导出导出证书步骤
抓 iOS 设备 APP 包-Fiddler 设置
点击 Tools > Fiddler Options > Connections.勾选 Allow remote computers to connect.重启 Fiddler确保防火墙允许 Fiddler 进程可以远程连接iOS 设备连接 WiFi确保 iOS 设备可以访问到 http://FiddlerMachineIP:8888 ,该地址会返回 Fiddler Echo Service 页面iOS 设备抓包-iOS 设备设置
点击设置 > Wi-Fi > 打开连接的 Wi-Fi 设置点击配置代理 > 手动设置 iOS 代理服务器地址为 Fiddler 所在主机的 IP 地址设置端口为 Fiddler 监听的端口点击存储 保存代理设置打开一个非 HTTPS 的网站,此时 Fiddler 已经可以捕获 HTTP 请求了iOS 设备抓包-安装证书解密 HTTPS
在 iOS 设备打开浏览器,访问 http://ipv4:8888/点击 Fiddler Echo Service 页面底部 FiddlerRoot certificate 下载证书打开 FiddlerRoot.cer 文件并安装安装成功后,在通用 > 关于本机 > 证书信任设置中,信任刚安装的 Fiddler 证书Safari 打开 ,已经可以抓取 HTTPS 包了Android 设备抓包
以小米 9 为例,打开设置 > WLAN > 连接上的 WLAN 设置点击代理 > 手动,设置主机名为 Fiddler 所在主机的 IP,端口为 Fiddler 监听端口打开 Android 设备浏览器,访问 http://ipv4:8888/点击页面底部 FiddlerRoot certificate 下载证书打开设置 > 更多设置 > 系统安全 > 加密与凭据 > 从存储设备安装选择下载好的 FiddlerRoot.cer 进行安装浏览器打开 ,已经可以抓取 HTTPS 包了注意:测试完毕,记得关闭代理,否则手机无法上网
总结
软件测试岗位并不是为了发现更多的bug,而是要预防更多的问题产生。软件测试岗位有预防问题发生的权力,因此,它才有软件质量保证的责任。
【测试架构师】系统 初级测试工程师-测试架构师 学习之路