flutter无法抓包

**app使用flutter重写后,发现使用fiddler无法抓包,只能抓到一些tls建立通道的信息。**
原因,引用网上的一段:

代理抓包的关键就是需要HTTP客户端按照要求去连接代理服务器,一般情况下我们已经在系统层面上设置了代理,通常http客户端都是按要求去实现的,在进行http请求前会先检查系统代理,如果有设置代理,客户端会直接使用完整uri去连接代理服务器。不同的平台通常会实现自己的的http客户端的,虽然他们都按照协议要求实现了代理功能,但是并不一定在默认情况下会直接使用系统代理。

在现实中这种况下这种情况还不少,
笔者当前项目使用到的Flutter就是这种情况,默认Flutter不会主动使用系统代理,需要单独设置。

原因知道了,两方面可以解决:

1:flutter客户端代码中修改代码以使用系统代理

略:相关代码自行搜索

2:测试人员手机中使用代理解决:这里选择是的drony工具(安卓)

详细步骤:
一、下载并安装到安卓手机上,https://files.cnblogs.com/files/lulianqi/Drony_102.apk
二、打开Drony,并右滑至SETTING标签页,选择Networks,点击当前在用的wifi名,进入Network details设置页
三、网络详情设置
1、点击Proxy type,选择manual(手动)
2、点击Hostname,输入当前电脑的局域网IP,比如192.168.1.123
3、点击Port,输入抓包软件的端口号,比如8888
4、点击Filter default value,选择Direct all
5、点击Rules,进入Rules详情页,点击右上角的加号,进入Add filter rule,action选择Local proxy chain,Application选择需要抓包的应用,然后保存,返回主页
四、左滑到LOG标签页,点击底部到OFF按钮,启用Drony,同时确保Drony进程在后台不会被杀掉

再次打开fiddler发现,有正常数据了

成功后的抓包截图

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值