billfeller.github.io
billfeller.github.io copied to clipboard
Fiddler AutoResponder 功能详解
原理
通过 AutoResponder 配置一条匹配规则 Match Rules(简称MR) 和 动作字符串 Action String(简称AS),此时当请求URI 匹配到 MR 时会触发 AS 行为。
Match Rules (MR)
- 字符串字面量 String Literals(大小写不敏感) 语法:输入字符串 示例:baidu.com
- 严格匹配 Exact Match(大小写敏感) 语法:EXACT:url 示例:EXACT:http://sports.qq.com/nba/ 主要应用于从Web Sessions中拖曳到 AutoResponder 窗口中进行匹配,也是最常用的功能之一。
- 正则表达式 语法:regex:正则表达式 示例:(其中,(?inx)表示大小写不敏感) 1. regex:(?inx).+.jpg$ #Match strings ending with JPG 2. regex:(?inx).+.(gif|png|jpg)$ #Match strings ending with img types 3. regex:(?inx)^https://.+.gif$ #Match HTTPS-delivered GIFs Fiddler Web Debugger (v4.5.1.0)版本除了以上通用功能外,还可以配置请求头相关匹配规则,如下:
- URLWithBody:Upload.php regex:^.BodyText.$
- method:OPTIONS XHRCors.php
- flag:x-ProcessInfo=iexplore
- Header:Accept=html
- 65%PartialUrl
Action String(AS)
- 返回本地文件内容(最常用功能之一)
语法:C:\Users****\Desktop\242_Response.txt
示例:
Tips: Fiddler预置了14项文件用例,这些文件用例存放在 %Fiddler安装目录%/ResponseTemplates 目录中,也可以将常用的自定义响应存放到该目录中,方便开发调试,如上图所示的 200_Test.dat :
- 返回远程资源内容 语法:http://targetURL
- 重定向
语法:*redir:http://www.example.com
示例:
- 请求发送前进行断点操作
语法:*bpu
示例:
- 请求发送后响应返回前进行断点操作 语法:*bpafter,功能与 *bpu 类似
- 模拟网络延迟行为 语法:*delay:#### 延迟 #### milliseconds发送请求
- 自定义请求头
语法:*header:Name=Value
示例:
- 匹配规则的请求自定义Fiddler SessionFlags 语法:*flag:Name=Value 其中SessionFlags值包括UI Flags,Host Flags,Client Flags,Socket Reuse Flags,Decryption and Authentication Flags,Performance Flags,AutoResponder Flags,Drop Sessions Flags,详情请见Fiddler SessionFlags
- CORS协议支持 语法:*CORSPreflightAllow
- 使用TCP/IP RST 重置客户端连接 语法:*reset
- *drop
- *exit
写在最后
AutoResponder 工具提供了为请求进行拦截调试提供了界面化操作的便利性,但是,同时带来了应用场景的局限性。如果遇到无法使用 AutoResponder 的场景,推荐使用 FiddlerScript ,其本身开放了对网络代理的编程功能,基于JScript.NET,可以对网络请求和响应进行编程配置。
更多阅读: