- 配置 Fiddler:让它能捕获 HTTPS 流量。
- 捕获请求:在浏览器中操作,让 PHP 脚本执行。
- 分析请求:在 Fiddler 中查看请求的详细信息,包括参数。
- 修改和重发请求:修改参数,并发送请求到服务器进行测试。
第 1 步:配置 Fiddler(关键:捕获 HTTPS)
现代网站大多使用 HTTPS,Fiddler 默认无法解密和查看 HTTPS 流量,所以这一步是必须的。

- 打开 Fiddler。
- 点击顶部菜单栏的 Tools -> Options...。
- 在弹出的窗口中,切换到 HTTPS 选项卡。
- 勾选以下两个最重要的选项:
- Decrypt HTTPS traffic:解密 HTTPS 流量,这是核心功能。
- Ignore server certificate errors ( Potentially dangerous):忽略服务器证书错误,这个选项可以帮助 Fiddler 处理一些自签名证书或证书不匹配的情况,强烈建议勾选。
- 点击 Actions 按钮,选择 Trust Root Certificate,这会在你的系统中安装一个 Fiddler 的根证书,用于解密 HTTPS 流量,系统可能会弹出安全警告,请允许它。
- 点击 OK 保存设置。
注意:完成配置后,需要重启浏览器才能让新的证书设置生效。
第 2 步:捕获 PHP 请求
配置完成后,Fiddler 已经准备就绪。
-
确保你的 PHP 项目正在运行(通过 XAMPP, WAMP, MAMP, 或
php -S localhost:8000)。 -
打开你的浏览器,访问你的 PHP 页面,
http://localhost/myproject/index.php。
(图片来源网络,侵删) -
在页面上执行操作,
- 提交一个包含用户名和密码的登录表单。
- 在搜索框中输入关键词并点击搜索。
- 点击一个带有查询参数的链接,如
http://localhost/myproject/profile.php?id=123。
-
回到 Fiddler 窗口,你会看到左侧的 Sessions 列表中出现了很多条目,这些就是浏览器和服务器之间的通信记录,你可以通过点击顶部的过滤栏来筛选,比如只显示
localhost的请求。
第 3 步:分析请求参数(核心)
在 Fiddler 的 Sessions 列表中,找到你刚才执行操作所产生的那条请求,并点击它,右侧的 Inspector 窗口会显示该请求的详细信息。
PHP 请求参数主要存在于两种地方:查询字符串 和 请求体。

A. 查看查询字符串参数
查询字符串是 URL 中 后面的部分,通常用于 GET 请求。
- 在 Sessions 列表中,点击一个 GET 请求,
profile.php?id=123&name=test。 - 在右侧的 Inspector 窗口中,确保选中 Headers 选项卡。
- 向下滚动,你会看到 Request URL 和 Query String 字段。
- Request URL:
http://localhost/myproject/profile.php - Query String Parameters:
id:123name:test
- Request URL:
这里的 id 和 name PHP 中可以通过 $_GET['id'] 和 $_GET['name'] 获取的参数。
B. 查看请求体中的参数
请求体参数通常用于 POST 请求,如表单提交。
- 在 Sessions 列表中,点击一个 POST 请求,例如登录表单的提交。
- 在右侧的 Inspector 窗口中,切换到 Inspectors 选项卡。
- 你会看到几个子选项卡,点击 TextView。
- 在 TextView 中,你可以清晰地看到请求体的原始内容,对于
application/x-www-form-urlencoded类型的表单,它会是这样:username=admin&password=123456对于
multipart/form-data类型的表单(通常包含文件上传),它会显示一个更复杂的结构,包含边界符和各个字段。
这些 username 和 password PHP 中可以通过 $_POST['username'] 和 $_POST['password'] 获取的参数。
- 更直观的方式是点击 JSON 或 XML(如果数据格式是这两种)或者 Forms 选项卡,Fiddler 会帮你将参数解析成易于阅读的键值对形式。
第 4 步:修改和重发请求(调试神器)
这是 Fiddler 最强大的功能之一,可以让你在不修改代码的情况下,模拟不同的输入来测试 PHP 脚本的健壮性。
- 在 Sessions 列表中,右键点击你想要修改的请求。
- 在弹出的菜单中,选择 Recompose。
- 一个新的窗口会打开,显示原始请求的详细信息。
- 修改参数:
- 如果要修改 URL 中的查询参数,直接在顶部的 URL 中修改。
- 如果要修改 POST 请求体中的参数,点击 TextView 或 Forms 选项卡,直接修改对应的值,把
password从123456改成wrongpass。
- 修改完成后,点击窗口左上角的 Execute 按钮(一个绿色的播放图标)。
这个修改后的请求会被立即发送到你的 PHP 服务器,服务器会像处理一个全新的请求一样处理它,然后你可以在 Fiddler 中看到服务器的响应,这对于测试 SQL 注入、XSS、表单验证等场景非常有用。
常见问题与技巧
- 只显示 PHP 相关请求:在 Fiddler 顶部的过滤框中输入
host:localhost,这样只会显示与localhost通信的请求,过滤掉广告、字体加载等无关请求。 - 如何查看 Cookie:在请求的 Headers 选项卡中,找到
Cookie字段,里面包含了所有发送给服务器的 Cookie,PHP 中可以通过$_COOKIE超全局变量来访问它们。 - 如何查看响应:点击一个请求后,在右侧 Inspector 窗口中切换到 Response 选项卡,这里显示了服务器返回给你的 HTML、JSON 或其他数据,对于 PHP,你可以在这里看到
echo或print输出的结果。 - 自动解压和压缩:Fiddler 可以自动解压 Gzip 压缩的响应,让你直接看到原始文本,在 Tools -> Options -> HTTPS 选项卡中可以配置。
| 步骤 | 操作 | 目的 | 对应 PHP 超全局变量 |
|---|---|---|---|
| 配置 | Tools -> Options -> HTTPS |
捕获 HTTPS 流量 | - |
| 捕获 | 在浏览器操作,Fiddler 记录 | 获取真实请求 | - |
| 分析 | 查看 Headers 和 Inspectors |
查看请求参数 | $_GET, $_POST, $_COOKIE |
| 重发 | 右键 Recompose 并 Execute |
修改参数进行调试 | - |
通过熟练掌握 Fiddler,你可以极大地提高 PHP 项目的调试效率,快速定位由参数引起的问题。
