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 Traffic
HTTPS 抓包
捕获 Firefox HTTPS 的包
导出 Fiddler 根证书
- Tools > Fiddler Options > HTTPS
- Actions > 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 ,地址 https://www.telerik.com/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://www.baidu.com,已经可以抓取 HTTPS 包了
Android 设备抓包
- 以小米 9 为例,打开设置 > WLAN > 连接上的 WLAN 设置
- 点击代理 > 手动,设置主机名为 Fiddler 所在主机的 IP,端口为 Fiddler 监听端口
- 打开 Android 设备浏览器,访问 http://ipv4:8888/
- 点击页面底部 FiddlerRoot certificate 下载证书
- 打开设置 > 更多设置 > 系统安全 > 加密与凭据 > 从存储设备安装
- 选择下载好的 FiddlerRoot.cer 进行安装
- 浏览器打开 https://www.baidu.com,已经可以抓取 HTTPS 包了
注意:测试完毕,记得关闭代理,否则手机无法上网
总结
软件测试岗位并不是为了发现更多的bug,而是要预防更多的问题产生。软件测试岗位有预防问题发生的权力,因此,它才有软件质量保证的责任。
【测试架构师】系统 初级测试工程师-测试架构师 学习之路
|