吴志勇的博客 吴志勇的博客
  • h5

    • HTML5&CSS3
  • scss

    • css预处理语言
  • JavaScript

    • JavaScript教程
    • Ajax
    • ES6教程
    • NodeJS
    • Typescript
  • 框架

    • Jquery
    • VUE
    • React
  • Swing专题
  • java基础
  • javaweb
  • 框架
  • 数据库
  • netty
  • 设计模式
  • 微服务及架构
  • 云原生
  • maven
  • 单元测试
工具
我的
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

吴志勇

......
  • h5

    • HTML5&CSS3
  • scss

    • css预处理语言
  • JavaScript

    • JavaScript教程
    • Ajax
    • ES6教程
    • NodeJS
    • Typescript
  • 框架

    • Jquery
    • VUE
    • React
  • Swing专题
  • java基础
  • javaweb
  • 框架
  • 数据库
  • netty
  • 设计模式
  • 微服务及架构
  • 云原生
  • maven
  • 单元测试
工具
我的
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • github加速
  • oraclecloud使用ubuntu配置
  • 服务安装
  • cloud studio安装web-ui
  • 科学上网学习路线
  • Fiddle使用教程
    • wuzhiyong
    wuzhiyong
    2025-04-08

    Fiddle使用教程

    Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。

    你对HTTP协议越了解,你就能越掌握Fiddler的使用方法.你越使用Fiddler,就越能帮助你了解HTTP协议。

    Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。

    Fiddler的官方网站:www.fiddler2.com (opens new window)

    # Fiddle安装

    Download Fiddle (opens new window)

    请先选择版本下载,双击即可安装。

    # 工作原理

    Fiddler是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888. 当运行Fiddler时会自动设置代理,退出的时候它会自动注销代理,不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。

    Image 1

    # 工具条常用功能

    Image 3

    工具栏从左到右按钮功能分别为:

    1. 增加备注——选中某个会话,点击按钮,可对会话添加备注
    2. 回放按钮——选中某个会话,点击按钮,回放对该会话的请求。快捷键为R
    3. 清空监控面板
    4. 调试Debug
    5. 模式切换——在流模式和缓冲模式之间切换,默认缓冲模式
    6. 解压请求——将HTTPS的请求解压,以便查看
    7. 保持会话——考虑电脑性能,自行选择
    8. 过滤请求——按下按钮不放,选择要捕获的软件进程,松开按钮,即可捕捉到该软件发出的所有请求
    9. 查找——点击,输入想查找的会话
    10. 保存会话
    11. 保存截图
    12. 计时器
    13. 快速启动浏览器
    14. 清除缓存
    15. 编码/解码

    # 状态栏操作

    Image 4

    1. 上面黑色区域为控制台,用于输入命令。
    2. 下面从左到右分别为: (1)控制Fiddler是否工作——图标出现:表示Fiddler工作;图标消失:表示Fiddler不工作 (2)过滤会话来源 (3)记录当前展示的会话数量 (4)会话的详细地址

    # 监控面板使用

    Image 5

    # 左侧框中常见项:
    • "#"列:表示记录来自服务器端的请求会话
    • "Result"列:表示会话状态
    • "Protocol"列:表示协议
    • "Host"列:表示主机地址/域名
    # 右侧框中常见项:
    • "Statistics"项:表示请求的性能指标
    • "Show Chart"项:表示可视化
    • "Inspectors"项:表示对请求解包
    • "AutoResponder"项:表示文件代理
    • "Composer"项:表示前后端接口连调
    • "Log"项:表示记录log日志
    • "Filters"项:设置过滤,只显示特定网站的请求
    • "Timeline"项:表示网站性能分析

    # 文件、文件夹代理和HOST配置

    # HOST配置

    这个功能主要作用就是不需要每次配置hosts都到windows目录下去修改hosts文件;可以直接方便在fiddler界面里面配置即可;方便快速的配置自己的测试host。

    步骤如下:Tools》HOSTS》激活Enable功能》选择服务器IP,修改要配置的Host的IP》save》刷新可启用

    Image 6

    # 文件、文件夹代理

    选中文件,拖入AutoResponders界面》精准匹配》选择本地文件》保存即可生效

    Image 7

    # 请求模拟,前后端接口调试

    Image 8

    # 网速限制

    # 方法一:

    Fiddle提供了一个功能,让我们模拟低速网路环境…启用方法如下:Rules → Performances → Simulate Modem Speeds (如下图)

    Image 9

    # 方法二:

    Fiddler也可以自己定义Modem Speeds.点开Rules → Customize Rules (如下图)

    Image 10

    此时,如果没有安装FiddleScript插件,会弹出提示安装,点击确认即可安装;如果有安装插件,会弹出CustomRules.js的代码,找m_SimulateModem这个字,你会找到下面这段:

    Image 11

    这就是他模拟网路速度的原理,每上传/下载1KB 要delay 多久。如果你习惯用kbps 去算的话,那么我们的算法就是 1000/下载速度 = 需要delay的时间(毫秒),比如50kb/s 需要delay200毫秒来接收数据。

    请注意,当你存档之后,原本已经勾选的Simulate Modem Speeds 会被取消勾选,要记得再到Rules → Performances → Simulate Modem Speeds 勾选,这样限制网速就成功了。

    # 常用插件

    插件官方下载地址:www.telerik.com/fiddler/add-ons (opens new window)。Fiddle也支持第三方插件。

    # 以下推荐几款插件:

    1.代码格式化插件:JavaScript Formatter。安装完重启,右击会话,选择“Make JavaScript Pretty”,即可。如下图。

    Image 12

    2.对比会话插件:Traffic Differ。安装完重启,可在“监控面板”右侧找到“Differ”选项,点击,拖动多个会话即可对比信息。如下图。

    Image 13

    3.Willow:提供重定向和host主机等功能,通过可视化的方式去管理host,根据不同的环境设置不同生效的配置

    # 抓取移动设备的包

    1. Tools》OPTIONS》CONNECTIONS》勾选allow remote computers to connect
    2. 让你的电脑与移动设备处于同一个WiFi连接状态(不要使用VPN),然后命令行ipconfig查看本机IP。
    3. 使用你的移动设备在浏览器上访问本机IP加“端口号”。例如:192.168.1.28:8888,然后会出现一个Fiddler的证书,安装该证书。
    4. 设置你的移动设备。让设备处在WiFi连接,设置代理为手动。然后填写代理IP为你的电脑的IP,端口号为8888。

    # 请求转发功能

    可以将移动设备的请求转发到本地

    1. Tools》HOSTS》勾选Enable remapping of requests for one host to a different host or IP,overriding DNS

    填写示例:NewIP/Host(去向) OriginalURLHost(来源)

    127.0.0.1:8080 api.wuzhiyong.com

    上面试了不太行,可以用下面的方法实现请求转发

    a5e04a7ddf0b47d3a13e453b52acb806

    1. 在主界面右侧,切换到 AutoResponder 选项卡。

    2. 勾选 Enable rules 和 Unmatched requests passthrough。

    3. 点击Add Rule

      添加规则:

      • 匹配规则(左侧):regex:(?inx)^https://demo.domain.com(?<name>.+)$
      • 转发地址(右侧):http://localhost:10000${name}

    # 常见命令

    help	//打开官方的使用页面介绍
    select    //选择会话命令
    ?.png 	//用来选择png后缀的图片
    cls    //清屏  (Ctrl+x 也可以清屏)
    r 重新执行当前请求
    m 给选中的session添加描述
    //断点命令
    bpu www.baidu.com//截获request,然后可以在Inspectors中对数据进行修改
    bpafter www.baidu.com
    //再次输入bpu或者 bpafter,再回车就可取消断点
    //也可以设置状态栏最下面All Processes旁边的来设置断点
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11

    # 常用设置

    1. 设置显示请求类型#》右键》Customize Columns

    fiddler

    1. Rules》Hide Image Requests、Hide CONNECTs、Hide 304s
    上次更新: 2025-05-14 09:48:22

    ← 科学上网学习路线

    Copyright © 2020-2025 wuzhiyong
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式