billfeller.github.io icon indicating copy to clipboard operation
billfeller.github.io copied to clipboard

Fiddler AutoResponder 功能详解

Open billfeller opened this issue 7 years ago • 0 comments

原理

通过 AutoResponder 配置一条匹配规则 Match Rules(简称MR) 和 动作字符串 Action String(简称AS),此时当请求URI 匹配到 MR 时会触发 AS 行为。

Match Rules (MR)

  1. 字符串字面量 String Literals(大小写不敏感) 语法:输入字符串 示例:baidu.com
  2. 严格匹配 Exact Match(大小写敏感) 语法:EXACT:url 示例:EXACT:http://sports.qq.com/nba/ 主要应用于从Web Sessions中拖曳到 AutoResponder 窗口中进行匹配,也是最常用的功能之一。
  3. 正则表达式 语法: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)版本除了以上通用功能外,还可以配置请求头相关匹配规则,如下:
  4. URLWithBody:Upload.php regex:^.BodyText.$
  5. method:OPTIONS XHRCors.php
  6. flag:x-ProcessInfo=iexplore
  7. Header:Accept=html
  8. 65%PartialUrl

Action String(AS)

  1. 返回本地文件内容(最常用功能之一) 语法:C:\Users****\Desktop\242_Response.txt 示例: 2 Tips: Fiddler预置了14项文件用例,这些文件用例存放在 %Fiddler安装目录%/ResponseTemplates 目录中,也可以将常用的自定义响应存放到该目录中,方便开发调试,如上图所示的 200_Test.dat : 6
  2. 返回远程资源内容 语法:http://targetURL
  3. 重定向 语法:*redir:http://www.example.com 示例: 3
  4. 请求发送前进行断点操作 语法:*bpu 示例: 4
  5. 请求发送后响应返回前进行断点操作 语法:*bpafter,功能与 *bpu 类似
  6. 模拟网络延迟行为 语法:*delay:#### 延迟 #### milliseconds发送请求
  7. 自定义请求头 语法:*header:Name=Value 示例: 5
  8. 匹配规则的请求自定义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
  9. CORS协议支持 语法:*CORSPreflightAllow
  10. 使用TCP/IP RST 重置客户端连接 语法:*reset
  11. *drop
  12. *exit

写在最后

AutoResponder 工具提供了为请求进行拦截调试提供了界面化操作的便利性,但是,同时带来了应用场景的局限性。如果遇到无法使用 AutoResponder 的场景,推荐使用 FiddlerScript ,其本身开放了对网络代理的编程功能,基于JScript.NET,可以对网络请求和响应进行编程配置。

更多阅读:

  1. AutoResponder Reference
  2. FiddlerScript

billfeller avatar Mar 19 '17 01:03 billfeller