上一篇讲解了安卓手机可以通过V**代理来抓取Flutter应用程序的包,iOS(iphone)同样使用上一篇中V**方法(原理与android是一致的),同样需要使用到V**,在iOS也有许多与drony功能类似的软件,大家可以自己选择自己喜欢的使用,宏哥这里使用的是Shadowrocket。其中原理和理论知识宏哥这里就不多说了,直接进入主题。
1.直接在App Store找到这些软件(受限于大陆相关规定,您的App Store的区域如果在国内可能无法搜索到这些软件,您需要使用美区的账号),如下图所示:
1.为了完成流量重新定向,Shadowrocket与drony一样会先在设备上创建本地V**服务,再使用您设置的规则处理流量。不过Shadowrocket的使用会更加方便,直接打开软件配置即可!如下图所示:
(1)选择全局路由为「代理」
(2)添加服务节点(类型选择HTTP及HTTPS ,服务器地址及端口为您代理抓包工具的地址与端口)
(3)设置状态为启用 (IOS会同时自动创建V**)
1.现在直接打开iphone上的任意APP(不用再再wifi上重复设置代理) ,既可以在代理抓包工具上看到流量了,同样不能解析HTTPS的流量,不过IOS并没有像新版的android一样可以让APP拒绝用户手动信任的用户根证书,所以IOS证书安装IOS也比android任意的多,并没有这么多额外的操作,按正常证书安装流程操作即可。证书安装完成后即可查看HTTPS流量。如下图所示:
Fiddler无法抓到包的原因:Flutter不会主动使用系统代理,需要单独设置,正是因为客户端没有使用我们设置的系统代理,他们自然也不会连接Fiddler 或 Charles创建的代理服务器,最终导致我们无法获取任何请求。苹果手机相比较安卓手机还是很简单的。
好了,今天时间也不早了,宏哥就讲解和分享到这里,感谢你耐心地阅读!!!