Fiddler抓包工具之详细使用步骤(超详细)

Fiddler抓包工具,前端开发中进行调试的时候,可以作为辅助工具进行数据模拟。下面详细的写下使用步骤。

下载Fiddler

感兴趣的可以去Fiddler进行下载安装,可能会麻烦些。我直接提供一个免安装的包,放到我网盘,直接通过链接和提取码进行下载,链接:https://pan.baidu.com/s/13xzN9GNm6jb7YXf1wb2ZWQ 提取码:vzk0。下载后解压就可以直接使用。

设置Fiddler

1、下载后解压文件,在文件夹中找到Fiddler.exe打开。

2、打开后会有一些提示,选择Next time和No,这都是更新相关的提示,暂时不需要。

image

3、打开顶部工具栏的Tools=》Options面板=》选中HTTPS,勾选Decrypt HTTPS traffic和Ignore server certificate errors (unsafe),最后点OK保存。

image
image

4、打开顶部工具栏的Tools=》Options面板=》点击Actions=》选择Export Root …导出证书安装工具到桌面。

image

5、导出后在桌面可以看到FiddlerRoot.cer文件,执行文件,进行证书安装。

image

6、导入证书向导,选择将所有证书都放入下列存储(受信任的根证书办法机构)。

image
image

7、设置代理参数:打开顶部工具栏的Tools=》Options面板=》Connections,勾选allow remote computers to connect=》设置代理端口号8888=》OK保存。

image

使用Fiddler

1、设置拦截的请求:在Fiddler的下方输入 bpu 接口名称,比如:bpu https://api.book118.com/applet/index/getRecommendDocs?app=WEIXIN&version=20.11.1302&env=development。输入好之后,直接Enter确认。注意: 在bpu和接口之间有一个空格。

image

2、在调用接口的客户端刷新页面,可以观察到接口一直未返回数据,并且发现Fiddler会高亮显示,这说明接口被Fiddler工具成功拦截。

image

3、回到Fiddler界面中,可以在左侧的列表中看到一个红色标识的接口,就是我们需要抓取的接口,点击该项就会在右侧显示相关信息。点击Break on Response,选中TextView就可以看到返回的数据,返回的数据是可以在这里改动,点击Run to Completion将数据返回到客户端(注意: 这里在修改数据之后,在客户端可能会接口报错,可以通过下面的解决客户端报错进行解决)。

image

假设将返回数据的code改成201,返回到客户端就会生效。
image

解决客户端报错

在使用fiddler更改服务端返回的值时候,在浏览器上解码失败net::ERR_INVALID_CHUNKED_ENCODING,是因为修改返回值的时候,长度也发生了变化,所以需要将长度值也改了才能成功。

image

经过查阅资料,发现该接口消息头使用的是Transfer-Encoding:chunked,分块传输编码(Chunked transfer encoding)是超文本传输协议(HTTP)中的一种数据传输机制。了解更多推荐一个大佬的博客Transfer-Encoding:chunked详解

image

那么遇到这种问题,还是可以解决的:

既然跟长度有关,那么我们在改了数据的长度之后,也把长度更改了就OK了。只是Fiddler上面的数据里面显示长度是16进制,需要转换成10进制+添加的字数,再转换成16进制替换,再返回数据就OK了。如图中的30f改成314,可以使用在线进制转换工具进行计算。

更改前:

image

更改后:

image

更改后成功返回到客户端:

image


关注更多知识,不迷路
小伙伴,用你可爱的小手,点个赞,关注我了解更多知识!!!

如果任何疑问的可以在评论区留言或者私聊。

可以加QQ群交流:568984539,加群备注‘地区-名字-技术类型’。

更多前端、uniapp、nodejs等相关知识可关注我个人博客:https://blog.csdn.net/qq_42961150?spm=1011.2124.3001.5343

### Fiddler 抓包过程中断网问题的解决方案 当遇到Fiddler抓包时出现断网的情况,这通常是因为网络代理配置不当引起的[^2]。为了确保Fiddler能够顺利工作而不影响正常的网络连接,可以采取以下几个措施: #### 1. 配置正确的代理设置 确认计算机上的浏览器和其他应用程序都指向了正确的HTTP/HTTPS代理服务器地址和端口。对于大多数情况,默认情况下Fiddler会自动配置这些设置。 如果手动设置了其他代理服务,则可能会与Fiddler发生冲突。此时应取消自定义代理设置或将它们更改为通过Fiddler转发请求的方式。 #### 2. 使用透明模式捕获流量 (Transparent Mode) 启用此功能可以让Fiddler作为系统的默认网关来拦截并记录所有进出的数据流而无需更改任何客户端软件中的代理设定。这样做的好处是可以减少因错误配置而导致的问题,并且适用于那些不支持直接修改其内部代理选项的应用程序。 要开启透明模式,在菜单栏中选择`Tools -> Options...`,切换到 `Connections`标签页勾选上`Allow remote computers to connect` 和 `Decrypt HTTPS traffic`两个选项即可完成基本配置[^1]。 请注意,在某些操作系统环境下(尤其是Windows Server),还需要额外调整防火墙规则允许特定端口号通信以及授予管理员权限给Fiddler进程本身才能正常使用该特性。 #### 3. 处理 SSL/TLS 握手失败 针对HTTPS加密网站访问时可能出现的安全层握手异常状况,可以通过安装由Fiddler签发的信任根证书来解决问题。不过需要注意的是,在较新的Android设备(>= Android 10) 上由于系统安全策略加强的原因,单纯依靠JustTrustMe插件已经不足以实现无缝兼容[^3];这时建议尝试官方文档推荐的方法或是寻找第三方替代品来进行适配处理。 ```bash # 安装FiddlerRoot证书至受信任位置 certutil -addstore "ROOT" fiddlerroot.cer ```
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上网的虫不叫网虫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值