游客发表

fiddler使用教程

发帖时间:2026-10-17 04:54:44

Fiddler 本质上是用教个中间人。它蹲在你和服务器之间,用教把 HTTP/HTTPS 流量截下来,用教你想看就看,用教想改就改。用教我第一次用它是用教因为一个接口在浏览器里死活返回 403,但代码里跑同样的用教请求却正常。折腾半小时没结果,用教打开 Fiddler 一看——浏览器多带了一个 Referer 头。用教问题当场破案。用教

装好之后第一件事是用教配 HTTPS 解密。默认状态下 Fiddler 只能看到 HTTP 明文,用教HTTPS 全是用教隧道,啥也读不到。用教点 Tools → Options → HTTPS,用教勾上 Decrypt HTTPS traffic,它会让你装一张根证书。装完记得重启 Fiddler。这一步不做,后面所有抓包都是白费。

界面左侧是会话列表,每一条代表一次请求。点开某一条,右侧上半部分是请求详情,下半部分是响应详情。看请求头、Cookie、POST body,都在 Inspectors 面板里。Raw 标签最直观,就是原始报文。WebForms 标签会把表单参数拆成键值对,调接口的时候特别省事。

过滤流量是个刚需。你打开一个网页,Fiddler 能瞬间刷出上百条会话,图片、CSS、JS 全混在一起。在左侧 Filters 标签里可以按 Host 过滤,比如只显示 api.example.com 的请求。或者更简单——在会话列表上方的黑框里输入 select 命令,直接高亮你关心的域名。

改包才是 Fiddler 真正好玩的地方。有两种玩法:

一种是临时改。点 Rules → Automatic Breakpoints → Before Requests,然后刷新页面。每个请求在发出前都会被拦下来,你可以手动修改请求头、URL、body,点 Run to Completion 放行。调接口参数的时候很实用,不用改代码重新部署。

另一种是持久化改。用 FiddlerScript,在 OnBeforeRequest 函数里写逻辑。比如把所有请求里的 localhost:8080 替换成 192.168.1.100:8080,手机连电脑代理时经常这么干。脚本用 JScript 写,语法不复杂,改完保存即时生效。

模拟弱网也靠它。Rules → Performance → Simulate Modem Speeds,勾上之后所有请求延迟暴增。这个功能测试 loading 状态和超时逻辑特别管用。不过说实话,它模拟的只是延迟,带宽限制并不精确,真要测弱网还是得靠 Charles 或者专门的网络损伤仪。

手机抓包是另一个高频场景。手机和电脑连同一个 WiFi,手机 WiFi 设置里配代理,指向电脑的 IP 和 Fiddler 的端口(默认 8888)。然后手机浏览器访问 http://电脑IP:8888,下载并安装 Fiddler 的根证书。iOS 装完还要去“关于本机 → 证书信任设置”里手动信任一下,不然 HTTPS 照样抓不到。这个坑我踩过不止一次。

Composer 面板可以手动构造请求。调 POST 接口的时候,把 URL、Headers、Body 填进去,点 Execute,响应直接出现在会话列表里。比写 curl 命令快,也比 Postman 轻量。我经常用它来复现线上问题——把出错的请求原样拖进 Composer,改几个参数反复发,看服务端到底怎么反应。

最后说个细节。Fiddler 抓到的会话可以导出成 .saz 文件,里面包含完整的请求和响应。遇到疑难 bug,把 saz 文件发给后端同事,比截图和文字描述高效十倍。对方用 Fiddler 打开就能看到全部上下文,不用再问“你请求头带了什么”。

用熟了之后,Fiddler 更像一把瑞士军刀。平时搁在那儿不觉得,一旦碰上网络问题,第一反应就是把它打开。

    热门排行

    友情链接