01、什么是 Fiddler?
Fiddler 是一个 HTTP 协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的 HTTP 通讯。Fiddler 提供了电脑端、移动端的抓包、包括 http 协议和 https 协议都可以捕获到报文并进行分析;可以设置断点调试、截取报文进行请求替换和数据篡改,也可以进行请求构造,还可以设置网络丢包和延迟进行 APP 弱网测试等。
02、安装 Fiddler
官网:https://www.telerik.com/fiddler
下载网址:https://www.telerik.com/download/fiddler-everywhere
访问 fiddler 下载网址,选择 Windows、macOS、Linux 操作系统对应版本下载。
如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386
【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337.search-card.all.click
03、Fiddler 使用简介
Fiddler 主要分为三个模块,顶部菜单栏,左侧抓包面板,右侧抓包数据相关面板。
Fiddler 抓包简介:使用改写 HTTP 代理,监控并截取数据。Fiddler 很智能,当用户打开 Fiddler 就已经设置好浏览器的代理了,代理地址 127.0.0.1 端口 8888。当用户关闭 Fiddler 时,会自动清除还原代理,非常贴心。
Fiddler 有一个抓包开关,File –> Capture Traffic,开启后左下角显示,也可以直接点击左下角图标来关闭/开启抓包功能。
04、Fiddler 配置 HTTPS 证书
Fiddler 能直接抓取 HTTP 协议请求,要想抓取 HTTPS 请求就需要安装 Fiddler 证书。
具体步骤:
a. 点击工具栏中 Tools——>Options...
b. 切换到 HTTPS 选项卡,勾选 Capture HTTPS CONNECTs,勾选 Decrypt HTTPS traffic
c. 重启 Fiddler
05、Fiddler 左侧面板字段说明
用户抓到数据包后,显示在左侧列表中,其中有许多列名和图标,接下来挑几个重要的讲解。
左侧面板列名:
左侧面板图标:
06、Fiddler 右侧面板
左边面板都看完之后,接下来再看下右侧面板 Get Started 欢迎页签、Statistics 统计页签、inspectors 检查页签、AutoResponse 自动响应页签、composer 构建页签、log 日志页签、Filters 过滤页签、Timeline 请求响应时间、Fiddler Script Fiddler 脚本。
1.Get Started 欢迎页签
左侧 START 快速开始检查数据包、构建请求;右侧 LEARN 有 Fiddler 官方文档、推荐博客、学习 Video;右侧 TOP ARTICLES 显示当前热门文章。
2.Statistics 统计页签
统计 HTTP 请求的性能信息,比如请求数、发送请求的字节数、接收到的字节数、客户端连接的时间、全部花掉的时间等。并且一次可选择多条请求数据合并统计,还可以点击 Show Chart 按钮显示统计图形。
单条请求:
多条请求:
统计图表:
3.inspectors 检查页签
Inspectors 查看会话相信信息,上半部分是请求的内容,下半部分是响应的内容。还提供了 Headers、TextView、WebFroms、Raw 等多种查看方式。
4.AutoResponse 自动响应页签
配置 AutoResponder 规则拦截满足规则的求情,并返回本地资源或 Fiddler 资源,取代代替服务器响应。例如:当请求 URL 中出现 baidu 这个关键字,响应替换成电脑本地某张图片。具体步骤:a. 点击 Add Rule 按钮b. Rule Editor 第一行输入关键字 baidu,第二行输入本地某张图片c. 点击 Save 按钮d. 勾上 Enable rules
配置完后再访问含有 baidu 的 URL,在 Fiddler 响应中能看到本地图片。
5.Composer 构建页签
Composer 允许用户自定义请求,可以手动创建一个新请求,也可以在会话表中拖拽现有的请求,Parsed 模式中可以选择请求方式、URL、协议版本、Request Body 等。
6.Filters 过滤页签
Fiddler 会自动抓取浏览器所有会话,用户可使用 Filter 过滤无用请求。
具体步骤:
a. Filters页签中勾选Use Filters开启过滤器
b. 选择Hosts下两个过滤条件:Zone和Host
c. Zone只显示内网(Intranet)或互联网(Internet)请求
a) Show only Intranet Hosts -- 只显示内部的Hosts。
b) Show only Internet Hosts -- 只显示外网的Hosts。
d. Host指定某个域名下的会话
a) Hide the following Hosts -- 隐藏指定Hosts。
b) Show only the following Hosts -- 仅显示指定Hosts。
c) Flag the following Hosts -- 加粗显示指定Hosts。
7.Timeline 时间轴选项卡
Timeline 直观的显示页面各个元素的加载时间和顺序。
8.log 日志页签
打印 Fiddler 日志。
9.Fiddler Script
打开 Fiddler 脚本编辑。
07、Fiddler 命令行
Fiddler 提供了许多内置函数,可在命令框运行,这个命令行隐藏得很好,如果不仔细看还真不好找,命令框在左侧面板下方。
Fiddler 常用命令:
除了常用命令之外,还提供了断点功能,断点便是中断请求或者响应,比如在请求时加上断点,修改数据包再发送给服务器。
Fiddler 断点命令: