Rules选项卡
的规则TAB使您能够创建规则(包括自定义的),会在响应请求时自动触发。
的规则功能提供了在不更新生产服务器的情况下测试web代码更改的选项,重现先前在SAZ文件中捕获的bug,以及离线时运行网站演示。
协作功能允许您导入和导出单个或一组规则,并直接与其他Fiddler Everywhere合作者共享规则。每个规则都有不同的顺序优先级和执行权重,可以通过提升或降低规则来轻松控制。
的规则选项卡在2.0.0版本及更高版本之后可用,而以前的版本有a自动应答选项卡。功能的功能是不同的规则生成器如果应用了这些规则,则可以更改服务器将接收的请求和响应。的自动应答只能模拟服务器请求或响应并修改本地请求或响应。因此,并非所有规则都更改服务器数据。
的规则TAB包含以下部分:
- 规则的工具栏—提供共享、手动导入导出和手动执行选项。
- 规则生成器-创建新的规则并编辑现有的规则。
- 规则队列-一个已创建规则的队列,按照从上到下的出现顺序执行。队列中的每个规则都有自己的工具栏,其中包含与规则相关的不同功能。
内置的逻辑
当执行每个规则或在以前保存的会话上运行规则时,规则根据会话是否被主动捕获(正在进行),遵循一个内置逻辑实时路况会话)。
实时路况而且规则坚持以下基本原则:
- 的规则的主开关可用实时路况部分。
- 如果规则切换是在,选中的规则切换为在时,该规则针对所有入站/出站捕获的流量执行实时路况已启用的部分捕捉).
- 如果规则切换是在,选中的规则切换为从,该规则不会对所有的入站/出站捕获流量执行实时路况已启用的部分捕捉).
- 不匹配任何活动规则的所有HTTP/HTTPS请求将被正常执行,而不会受到规则选项卡。
- 应用程序设置不匹配请求传递在3.4.0版本已弃用。了解如何通过自定义规则手动创建它…
保存会话而且规则坚持以下基本原则:
- 的规则已保存会话的主切换不可用会话列表)。当加载保存的会话时,切换将被隐藏。
- 执行从初级阶段规则工具栏将执行当前选中的所有规则。该结果适用于匹配规则条件的所有会话。如果选择了多个规则,它们将按照出现的顺序执行规则队列-这意味着一条规则可以被队列中后面的另一条规则覆盖。有些规则也是final规则,这意味着队列中的任何其他规则都不会在final规则之后执行
- 的执行按钮将只执行当前选中的规则。
规则的工具栏
的主工具栏规则附带以下功能:
- 添加新规则打开的规则生成器窗口创建新规则。
- 共享的规则集-打开共享规则集的列表。
- 分享打开的分享您可以输入合作者的电子邮件来共享所有创建的规则。
- 进口-提示从FARX文件导入规则的窗口。
- 出口-将所有选中的规则导出为FARX文件。
- 执行-对捕获的流量或已加载保存的会话执行选定的规则。
规则生成器
的规则生成器接口使您能够创建(通过添加新规则按钮)并编辑规则(通过编辑选中规则的按钮)。对于每个新规则,您必须输入一个条件(以前称为匹配规则)和一个操作(以前称为操作字符串)。如果请求URI匹配条件并且执行了规则,Fiddler Everywhere将执行该操作。
添加新规则
添加一个新规则:
- 单击添加新规则从主工具栏按钮。
- 中为规则添加新名称规则名称文本字段。
- 设置当基于以下语句之一的规则:
- 所有这些条件-规则适用于所有条件为真(逻辑为真)。
- 以下任何一种情况-规则适用于任何条件为真(逻辑或)时。
- 这些条件都没有-当所有条件都不为true(逻辑为FALSE)时,该规则适用。
- 添加一个或多个条件。看到条件部分了解更多细节。
- 设置多少次行动将在满足条件时触发:
- 多少次都行—每次满足条件时执行该动作。
- 具体次数-执行动作n-times(用户指定n,取值范围为1 ~ 65535之间的数值)。
- 添加一个或多个操作。看到操作部分了解更多细节。
- 点击保存关闭规则编辑器并将新创建的规则添加到规则队列.
在创建规则时,请考虑以下提示:
- 规则按照它们在规则队列.要降级队列中的规则,请使用向下的箭头;要提升队列上的规则,请使用向上箭头键.
- 方法可以从队列导出选定的规则出口按钮。规则的工具栏.
- 若要根据先前捕获的流量对规则进行排队,请导入
.FARX
文件通过进口按钮. - 每个条件和动作值对应实时路况捕获数据可以自动完成。通过这种方式,您可以动态地基于捕获的会话创建规则。
条件
的规则生成器可以添加和使用单个或多个条件需要触发不同的行动.条件是具有不同语句的逻辑结构,其数目可以在2到4之间变化。处理文本(字符串修饰符)的语句字段默认情况下不区分大小写(您可以使用Aa按钮将它们更改为区分大小写),并且可以使用与捕获会话对应的建议自动完成。
有关更多信息,请参考以下列表。
条件值 | 场的选择 | 场的选择 | 场的选择 | 使用描述 |
---|---|---|---|---|
协议 | HTTP或HTTPS | N/A | N/A | 根据使用的协议(HTTP和HTTPS)区分流量。 |
宿主 | 字符串修饰符 | 搜索值 | N/A | 中搜索特定的关键字宿主列。 |
路径 | 字符串修饰符 | 搜索值 | N/A | 中搜索特定的关键字路径列。 |
URL | 字符串修饰符 | 搜索值 | N/A | 中搜索特定的关键字URL列。 |
状态 | 字符串修饰符 | 搜索值 | N/A | 中搜索特定的关键字结果列。 |
方法 | 字符串修饰符 | 搜索值 | N/A | 中搜索特定的关键字方法列。 |
进程ID | 字符串修饰符 | 搜索值 | N/A | 中搜索特定的关键字进程ID列。 |
客户端IP | 字符串修饰符 | 搜索值 | N/A | 中搜索特定的关键字客户端IP列。 |
远程IP | 字符串修饰符 | 搜索值 | N/A | 中搜索特定的关键字远程IP列。 |
体型 | 数字修饰符(比较字节) | 搜索值 | N/A | 中搜索特定的值体型列。 |
持续时间 | 数字修饰符(比较毫秒) | 搜索值 | N/A | 中搜索特定的值持续时间列。 |
评论 | 字符串修饰符 | 搜索值 | N/A | 中搜索特定的关键字评论列。 |
请求体 | 字符串修饰符 | 搜索值 | N/A | 中搜索特定的关键字请求体列。 |
请求头 | 标题名称 | 字符串修饰符 | 搜索值 | 中搜索特定的关键字显式提到的请求报头列。 |
身体的反应 | 字符串修饰符 | 搜索值 | N/A | 中搜索特定的关键字身体的反应. |
响应头 | 标题名称 | 字符串修饰符 | 搜索值 | 中搜索特定的关键字显式提到的响应标头列。 |
饼干 | 饼干的名字 | 字符串修饰符 | 搜索值 | 中搜索特定的关键字明确提到Cookie. |
证书信息 | 字段名 | 字符串修饰符 | 搜索值 | 中搜索特定的关键字明确提到的证书字段. |
神奇的字符串 | “魔弦”内容 | N/A | N/A | 使用传统的Fiddler Classic字符串文字和正则表达式. |
行动
当Fiddler Everywhere识别出与条件的规则,它自动将其映射到行动制定规则。处理文本(字符串修饰符)的操作字段默认情况下不区分大小写(您可以使用Aa按钮将它们更改为区分大小写),并且可以使用与捕获会话对应的建议自动完成。注意,多个操作将按编号顺序执行,具有最终操作类型的操作将阻止所有后续操作的执行。
除了返回文件或预定义的响应外,规则还可以执行以下特定操作:
动作名称 | 场的选择 | 场的选择 | 预览框 | 使用描述 | 动作类型 |
---|---|---|---|---|---|
马克会话 | 选择背景色 | 选择前景色 | 示例预览框 | 用选定的颜色标记会话。 | 最后 |
更新请求报头 | 标题名称 | 价值修饰符 | 新值 | 使用所选值修饰符和新值更新请求标头。 | 最后 |
更新响应头 | 标题名称 | 价值修饰符 | 新值 | 使用所选值修饰符和新值更新响应标头。 | 最后 |
更新请求正文 | 价值修饰符 | 新值 | N/A | 使用所选值修饰符和新值更新请求体。 | 最后 |
更新响应体 | 价值修饰符 | 新值 | N/A | 使用所选值修饰符和新值更新响应体。 | 最后 |
更新URL | 价值修饰符 | 新值 | N/A | 使用选定的值修饰符和新值更新当前URL。 | 最后 |
更新查询参数 | 查询参数键 | 价值修饰符 | 新值 | 使用所选值修饰符和新值更新查询参数。 | 最后 |
更新请求Cookies | 饼干的关键 | 价值修饰符 | 新值 | 使用选定的值修饰符和新值更新cookie值。 | 最后 |
更新响应cookie | 饼干的关键 | 价值修饰符 | 新值 | 使用选定的值修饰符和新值更新cookie值。 | 最后 |
预定义的响应 | 下拉的预定义的反应 | N/A | N/A | 返回选定的预定义响应。 | 最后 |
手动的反应 | 用于创建手动响应的文本字段 | N/A | N/A | 返回手动创建的响应。 | 最后 |
响应文件 | 文件选择器 | N/A | N/A | 返回选择的响应文件。 | 最后 |
不要捕获 | N/A | N/A | N/A | 当不要捕获操作已应用,则不会执行其他操作。 | 最后 |
延迟请求 | 数值(毫秒) | N/A | N/A | 延迟“n”毫秒执行请求。 | 最后 |
优雅的关闭 | N/A | N/A | N/A | 此操作将优雅地关闭连接。 | 最后 |
非优雅结尾 | N/A | N/A | N/A | 此操作将强制关闭连接。 | 最后 |
神奇的字符串 | “魔弦”内容 | N/A | N/A | 使用传统Fiddler经典字符串文字和正则表达式。 | 最后 |
评论 | 字符串修饰符 | 新值 | N/A | 修改、添加或删除会话注释的操作 | 最后 |
最终和非最终行动
规则操作可以分为最后而且最后这取决于他们的行为。
当你处理最终和非最终行动时,要考虑以下几点:
如果最终操作位于特定规则列表的下方,则该操作立即阻止执行任何其他操作。最终操作还阻止与请求匹配的优先级较低的规则执行任何操作。
只有当规则在HTTP请求期间被匹配时,最终动作才有效。
如果会话与依赖于其响应的条件相匹配(例如,响应体包含“HTML”),则将忽略匹配会话的任何规则中的任何最终操作。这种行为的原因是,最终操作将取代响应,并且根据设计,Fiddler不打算替换已经接收到的响应和规则中匹配的条件。
非最终操作将允许来自相同规则或与会话匹配的优先级较低的不同规则的其他操作执行。
规则队列
的规则队列,以及队列查看器或队列规则查看器,是已创建规则的队列。的规则队列允许您启用、禁用、提升、表示、编辑、导出、导入、共享和立即执行列出的规则。
中使用规则时规则队列,请考虑以下建议:
- 的规则对于要执行的队列中的任何规则,必须启用TAB。
- 只有启用队列中的规则将应用于正在进行的实时流量捕获。
- 方法可以显式地为捕获的流量应用规则玩按钮(在当前会话上执行规则)。
- 的规则规则队列根据它们在队列中的位置以优先级执行。使用降级而且促进用于更改队列中规则位置(和优先级)的按钮。
- 有些规则可能会触发最后一个动作,它将停止执行任何其他优先级较低的规则。
规则优先级
默认情况下,规则队列将根据优先级列出所有创建和导入的规则。规则将根据其外观执行,从第一个开始。当选择特定的规则和使用显式执行按钮,它们将按照在队列中出现的顺序运行。
实时流量规则自动执行
要激活所有已启用的规则(带有活动切换的规则),请使用规则从主工具栏切换。你必须转向实时路况切换到捕捉模式。
显式规则执行
使用执行按钮,显式地在捕获的会话上执行规则。的执行的功能是可用的实时路况并保存会话。
规则选项
每个规则都有其带有规则名称的面板、带有规则选项的工具栏、预览设置条件的列表和预览设置操作的列表。
规则选项允许你进一步与规则交互:
- 的玩按钮仅执行当前规则。
- 的促进中选定的规则规则队列.
- 的降级中所选规则的降级规则队列.
- 的编辑按钮打开规则生成器编辑规则。
- 的重复的按钮创建所选规则的副本。
- 的分享按钮与其他Fiddler Everywhere的合作者共享规则。
- 的删除控件中删除规则规则队列.
- 的启用/禁用Toggle显式地启用或禁用规则执行。它只适用于实时路况与保存的会话交互时隐藏会话。