【Fiddler】从零开始学习Fiddler

2023-11-12

因为要开始学习接口测试,fiddler是一个很好的抓包工具而且免费好用,特开一贴来记录fiddler的学习历程。

Fiddler的工作原理

这里写图片描述
打开Fiddler之后会自动给电脑创建一个系统代理,默认端口为8888,。在客户端和服务器之间获得通讯的信息,并且以会话的形式呈现给我们。

Fiddler的代理模式
1.流模式(Streaming):

可以理解为一种实时通信的模式,请求之后实时返回。
更接近浏览器本身真实的行为。

2.缓冲模式(Buffering):

等所有的请求都到了之后再一起返回。
可以用来控制最后的服务器响应。

在实际的使用过程中,我们根据不同的场景需求来选择不同的代理模式。
在界面上我们使用一个按钮来切换这两种模式。Fiddler默认为缓冲模式。
这里写图片描述

Fiddler工具条按钮介绍
  • 这里写图片描述给捕捉到的绘画增加一个备注,不太常用

  • 这里写图片描述用于重播会话,快捷键是R。按住CTRL无条件补发,按住SHIFT多次补发。

  • 这里写图片描述用来清空监控面板,右侧的小三角形可以选择条件清空。
    这里写图片描述对应的中文版为这里写图片描述

  • 这里写图片描述这个要结合状态栏的断点使用,这里简单插播一下状态栏的图标介绍:
    这里写图片描述右下角的状态栏中如果有这个图标的话表示正在捕获会话中,点击一下就停止捕获
    这里写图片描述这个是指捕获的哪些进程,第一个是指全部进城,第二个是web浏览器,第三个是非浏览器,最后一个是隐藏所有。
    这里写图片描述这个就是添加断点功能,就在上个图标后面小白框框内点击一下就有了。当对指定进程设置断点之后,点击这里写图片描述,就会在断电进程停止,必须点击这里写图片描述才能够继续捕获后面的会话。
    如果我再次点击这里写图片描述,就会变成箭头向下的这个图标这里写图片描述,这个意思是指客户端发送个已请求在服务器未返回请求时停止捕获,再点击这里写图片描述继续。

  • 列表内容这个按钮就是切换模式的按钮,之前已经讲过了,这里略过。

  • 这里写图片描述解码按钮,就是帮我们将http中的东西解压出来,能够帮助我们更好的查看数据。适用于下次捕获的会话。

  • 这里写图片描述保持会话,保存的越多,内存占用越大

  • 这里写图片描述这个按钮很重要,当这样显示的时候表示捕捉的所有进程的信息。当我只想捕捉某一个进程的信息时,我们将把心拖动到此进程的图标之上,例如只想捕获谷歌浏览器的会话,就把靶心拖动到下方谷歌浏览器的图标上面,成功后按钮变成这里写图片描述就说明已经锁定了这个进程。辣么后面再捕获的进程就不会有其他的会话了。

  • 这里写图片描述查找功能,在会话比较多的时候点击这个可以查找指定会话并标记颜色,点开之后是这个样子的这里写图片描述
    中文版就是这张图
    这里写图片描述
    当我们标记之后想取消标记怎么办,点击这个按钮就可以了。
    这里写图片描述

  • 列表内容保存按钮,可以保存为有密码的saz文件,也可以是没有密码的。

  • 这里写图片描述五秒钟之后会把截图保存下来

  • 这里写图片描述计时器,点击一下开始,再单击一下停止,第三下清零或右键清零。

  • 这里写图片描述可以快速启动下拉菜单中的浏览器

  • 这里写图片描述快速清除缓存,一般在抓包之前要做的事情

  • 这里写图片描述文字编解码,点开后选择解码方式就可以编解码了

  • 这里写图片描述将右侧面板变成浮窗,关闭浮窗之后就变回原样。

  • 这里写图片描述MSDN首座和帮助按钮,不常用到。

如何使用Fiddler抓取https包

因为证书问题的解决方案

有时候我们抓不到包是由于证书的问题,所以先要给fiddler支持https的捕获和解析功能。具体步骤如下图:
这里写图片描述
这里写图片描述
这样我们就获得了fiddler的证书,然后我们将这个证书导入到浏览器中(这里以火狐浏览器为例)。
在浏览器中找到查看证书:

这里写图片描述
然后再导入:
这里写图片描述
然后我们将fiddler和火狐浏览器重启一下看能否抓包。

如何使用Fiddler抓取手机包
  • 首先打开fiddler,Tools>>Options,在Connections和HTTPS中分别进行设置:
    这里写图片描述这里写图片描述
    然后重启fiddler使修改生效。

  • 使用WIN+R,输入cmd打开命令提示符,输入ipconfig查看本机IPv4的地址,记住它。
    这里写图片描述

  • 在手机中设置。要求要在同一局域网下,就是都连接同一个wifi就可以。在这里我使用夜神模拟器进行示范:
    要给模拟器设置锁屏密码,然后点开设置>>WLAN>>长按连接的wifi,然后进行如下操作:
    这里写图片描述这里写图片描述
    操作完成之后点击保存,这时候我们就已经可以抓到http的包了,如果需要抓取https的包,还需要进行下一步。

  • 需要给手机安装fiddler的证书,打开手机浏览器,输入本机地址和端口号,建议使用本地浏览器打开:
    这里写图片描述
    此处容易出现No root certificate was found,Have you enabled HTTPS traffic decryption in Fiddler yet?这个问题,解决方法就是在本机命令提示符中进入到Fiddler的安装目录中,并运行下面这一段话
    makecert.exe -r -ss my -n "CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com" -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 09/05/2012
    这里写图片描述
    然后就能够下载证书啦。
    下载证书之后本地浏览器是默认打开的,将证书名称改了之后就直接访问浏览器进行抓包操作。
    这里写图片描述
    经过试验之后发现抓不到模拟器的包???所以我们在手机上进行之前的操作,并且在手机上打开浏览器。
    这时候我们可以看到已经抓到了https包:
    这里写图片描述
    打开某个会话我们可以看到这个字段这里写图片描述这个标记头表示手机端 。

Fiddler状态栏详解

之前有介绍了一丢丢状态栏按钮,这里再详细介绍一下其他的按钮。

  • 列表内容这个位于左下角长长的一条是控制台,可以在里面输入命令行。比如输入help就可以打开使用说明。
  • 这里写图片描述这是点击会话的详情。

使用fiddler的过滤条件

1. 域名过滤

只显示特定域名的记录:
在这里插入图片描述
设置好了后一定要点击Actions生效;

2.类型过滤

一般对各种图片、CSS、JS这类的静态素材也不需要看的情况下,直接全部过滤掉,需要过滤多少自己直接加入就好了。

 .*\.(bmp|css|js|gif|ico|jp?g|png|swf|woff) 

在这里插入图片描述

3.根据返回状态码

比如只想显示200的状态,其他的不显示:
在这里插入图片描述

如果本篇博客对你来说有用的话,请点个赞吧ヾ(◍°∇°◍)ノ゙
在这里插入图片描述

最后总结一下:
如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入:软件测试技术群:593462778,群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。

作者:暗潮汹涌
原创不易,欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Fiddler】从零开始学习Fiddler 的相关文章

  • 新入职一个00后卷王,每天加班到2点,太让人崩溃了····

    在程序员职场上 什么样的人最让人反感呢 是技术不好的人吗 并不是 技术不好的同事 我们可以帮他 是技术太强的人吗 也不是 技术很强的同事 可遇不可求 向他学习还来不及呢 真正让人反感的 是技术平平 却急于表现自己的人 每天加班到12点 在老
  • 软件测试|Pydantic详细介绍与基础入门

    简介 Pydantic 是一个强大的 Python 库 用于数据验证和解析 特别是用于处理 JSON 数据 它的主要目标是使数据验证和解析变得简单 直观和可维护 本文将介绍 Pydantic 的基础知识 包括如何定义模型 验证数据以及处理错
  • 软件测试|Selenium StaleElementReferenceException 异常分析与解决

    简介 Selenium 是一个流行的自动化测试工具 用于模拟用户与网页交互 然而 当我们在使用 Selenium 时 可能会遇到一个常见的异常 即 StaleElementReferenceException 这个异常通常在我们尝试与网页上
  • 软件测试|Pydantic处理时间类型数据

    简介 我们之前介绍过使用 pydantic 验证数据 比如校验数据的格式等 但是在我们的日常工作中 还有一种数据是需要我们验证的 比如时间数据 时间数据不同于字符串 列表等数据 与他们的验证不一样 本文就来为大家介绍一下 pydantic
  • 软件测试|使用Python读写yaml文件,你会了吗?

    简介 YAML YAML Ain t Markup Language 是一种可读的数据序列化格式 它常用于配置文件和数据交换 Python 提供了许多库来处理 YAML 文件 在本文中 我们将探讨如何使用 PyYAML 库来读取和写入 YA
  • 软件测试|pycharm关联GitHub的详细步骤

    简介 GitHub 是全球最大的开源代码托管平台之一 而 PyCharm 是一款强大的 Python 集成开发环境 将两者结合使用 可以提高团队协作和代码管理的效率 本文将详细介绍如何在 PyCharm 中管理 GitHub 账号 包括如何
  • 软件测试|Python数据可视化神器——pyecharts教程(九)

    使用pyecharts绘制K线图进阶版 简介 K线图 Kandlestick Chart 又称蜡烛图 是一种用于可视化金融市场价格走势和交易数据的图表类型 它是股票 外汇 期货等金融市场中最常用的技术分析工具之一 可以提供关于价格变动 趋势
  • 盲猜你不懂H5架构和原生架构的区别

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • Python自动化测试 | 如何使用Robot Framework进行自动化测试?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 新手也能看懂的【前端自动化测试入门】

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 探索自动化测试断言:提升测试效率与质量的关键!

    前言 断言在自动化测试中起着关键的作用 它是验证测试结果是否符合预期的重要手段 如果在自动化测试过程中忽视了断言 那么这个测试就失去了其本质的意义 因为我们无法得知测试结果是否达到了预期的效果 因此 断言在自动化测试中的重要性不言而喻 那么
  • 做测试不会 SQL?超详细的 SQL 查询语法教程来啦!

    前言 作为一名测试工程师 工作中在对测试结果进行数据比对的时候 或多或少要和数据库打交道的 要和数据库打交道 那么一些常用的sql查询语法必须要掌握 最近有部分做测试小伙伴表示sql查询不太会 问我有没有sql查询语法这一块的文档可以学习
  • Web自动化测试 —— capability参数配置

    一 capability概述 capability是webdriver支持的标准命令之外的扩展命令 配置信息 配置web驱动属性 如浏览器名称 浏览器平台 结合selenium gird完成分布式 兼容性测试 官网地址 https www
  • 如何删除fiddler安装的根CA证书

    Fiddler 有助于添加唯一的根 CA 证书来拦截 HTTPS 流量 添加此证书后 如何删除它 两种方式之一 1 禁用 HTTPS 解密并单击标题为 删除拦截证书 的按钮 2 打开 CertMgr msc 打开个人和受信任存储 然后使用根
  • 过滤 fiddler 仅捕获特定域的请求

    我不确定如何修改 CustomRules js 文件以仅显示特定域的请求 有谁知道如何做到这一点 这很容易做到 在过滤器选项卡上 单击 仅在过滤器包含时显示 然后键入您的域
  • Windows 上的 Fiddler 4 证书错误

    我正在使用 Fiddler 来监控我们的私人项目的 HTTPS 流量 升级到 Windows 10 并安装 Fiddler 后 我无法创建根证书 我尝试使用 CertEnroll 和 MakeCert 但都返回无法创建根证书 09 53 5
  • Fiddler 不解压缩 gzip 响应

    I use Fiddler调试我的应用程序 每当服务器压缩响应而不是解压缩响应时 Fiddler 都会显示不可读的二进制数据 Response to my request POST HTTP 1 1 200 OK Server xyz co
  • 在经典 ASP 中设置 HTTP_X_FORWARDED_FOR 服务器变量

    我需要在 Request ServerVariables 集合中设置 HTTP X FORWARDED FOR 值 我正在尝试使用 Fiddler 请参阅本文 https stackoverflow com questions 321185
  • 无法让 netTcpBinding 请求显示在 Fiddler 中

    我有一个具有两个端点的 WCF 服务 一种使用 basicHttpBinding 另一种使用 netTcpBinding 这是我的配置
  • 为什么这个 Web api 控制器不并发?

    我有一个 Web API 控制器 里面有以下方法 public string Tester Thread Sleep 2000 return OK 当我调用它 10 次 使用 Fiddler 时 我预计所有 10 次调用都会在大约 2 秒后

随机推荐

  • 算法—反转链表

    题目 实现单链表的逆转函数 输入一个链表 反转链表后 返回翻转之后的链表 分析 利用三个指针 head node nodeNext node指向当前结点 head指向当前结点的前一个结点 nodeNext指向当前结点的后一个结点 先将hea
  • 浏览器动态显示服务器日志,基于 websocket 实现远程实时日志 在浏览器中查看设备的运行日志...

    本文介绍一个基于websocket实现的远程实时日志系统 可以通过浏览器查看远程移动设备的实时运行日志 系统由三个部分组成 1 服务器 与移动设备和浏览器建立websocket连接 将移动设备websocket上读取的实时日志转发到对应的浏
  • 每日算法-回文链表

    题目 请判断一个链表是否为回文链表 示例 1 输入 1 gt 2 输出 false 示例 2 输入 1 gt 2 gt 2 gt 1 输出 true 进阶 你能否用 O n 时间复杂度和 O 1 空间复杂度解决此题 解法 思路一 先把链表的
  • QGIS自定义地图工具

    官方示例 首先看一下官方文档中的矩形工具源码 class RectangleMapTool QgsMapToolEmitPoint def init self canvas self canvas canvas QgsMapToolEmit
  • fatal: pathspec ‘fileName‘ did not match any files 解决办法

    再删除文件的时候突然出现了这个问题 fatal pathspec fileName did not match any files 分析如下 这个文件怎么回事 为什么删不掉 难道是分支的错误 还是怎么回事 产生原因 该文件存在于 gitig
  • C语言----实现有向图/无向图的创建与基本操作(深度、广度优先遍历)

    最近发现一个不错的项目 Github上数据结构所有算法源码实现 数据结构 严蔚敏 吴伟民 教材源码与习题解析 1 图的数组 邻接矩阵 存储表示 包含算法 有向图 无向图创建 添加顶点 删除边 插入边 深度优先遍历 递归 广度优先遍历 队列实
  • 跨平台的桌面应用程序开发框架Electron

    electron electron Stars 109 3k License MIT Electron 是一个基于 Node js 和 Chromium 的开源框架 允许使用 JavaScript HTML 和 CSS 编写跨平台的桌面应用
  • Elasticsearch系列---聚合查询原理

    概要 本篇主要介绍聚合查询的内部原理 正排索引是如何建立的和优化的 fielddata的使用 最后简单介绍了聚合分析时如何选用深度优先和广度优先 正排索引 聚合查询的内部原理是什么 Elastichsearch是用什么样的数据结构去执行聚合
  • linux 下交换 esc与cap的方法。

    有两种方法 1 xmodmap 2 dconf editer 操作如下图所示 xkb options 改为图片所示
  • STM32项目 -- 选题分享(部分)

    前言 分享部分STM32项目选题以及实现效果 暂时没有分享代码 列表 编号 项目名称 难度 使用器件 实现效果 1 基于STM32的智能万用表设计 3 STM32F103C8T6 OLED 1 测量电压 2 OLED显示测量值 3 实现层级
  • ASP.NET-----Repeater数据控件的用法总结

    一 Repeater控件的用法流程及实例 1 首先建立一个网站 新建一个网页index aspx 2 添加或者建立APP Data数据文件 然后将用到的数据库文件放到APP Data文件夹中 3 打开数据库企业管理器 数据库服务器为loca
  • 【帧同步】关于状态同步的经验分享

    方案 低延迟环境下 比如国内 局域网情况下 写个同步那都不是难事 是个客户端看点书就会写了 难点在于 如何去处理 高延迟 以及及时响应的情况 我举个例子 fps或者tank游戏中 子弹和炮弹的射速是很快的 如果两边在对轰过程中 又碰到了 附
  • Qt (ui界面)信号与槽函数 组件连接

    重点 信号与槽连接机制 难点 信号与槽函数的 参数使用 头函数 ifndef WIDGET H define WIDGET H include
  • 登录页面,表单提交,参数不显示

    一开始的form
  • curl下载文件

    我的个人博客 逐步前行STEP curl url o filename progress 下载url的内容到文件filename中 并显示下载进度
  • 深度学习面试八股文(2023.9.06)

    一 优化器 1 SGD是什么 批梯度下降 Batch gradient descent 遍历全部数据集算一次损失函数 计算量开销大 计算速度慢 不支持在线学习 随机梯度下降 Stochastic gradient descent SGD 每
  • 三种常用的排序方法图解及C语言实现(选择排序,冒泡排序,快速排序)

    选择排序 冒泡排序 快速排序 选择排序 选择排序是最简单直观的一种算法 选择排序是不稳定排序 基本思想 首先在未排序序列中找到最小 大 元素 存放到排序序列的起始位置 然后 再从剩余未排序元素中继续寻找最小 大 元素 然后放到已排序序列的末
  • 迷宫 蓝桥杯 602

    题目描述 本题为填空题 只需要算出结果后 在代码中使用输出语句将所填结果输出即可 下图给出了一个迷宫的平面图 其中标记为 1 的为障碍 标记为 0 的为可以通行的地方 010000 000100 001001 110000 迷宫的入口为左上
  • Java中的锁详解说明

    转自 Java中的锁详解说明 下文笔者讲述java中锁的详解 如下所示 java锁简介 锁与synchronized同步块具有同样的功能 是一种线程同步机制 但锁比Java中的synchronized同步块更复杂 因为锁是由synchron
  • 【Fiddler】从零开始学习Fiddler

    文章目录 Fiddler的工作原理 Fiddler的代理模式 1 流模式 Streaming 2 缓冲模式 Buffering Fiddler工具条按钮介绍 如何使用Fiddler抓取https包 如何使用Fiddler抓取手机包 Fidd