手机app是不是有些时候无法抓包?
在app之外获取app与服务器间的交互难吗?
现在虽然绝大多数应用,不管是web还是app通讯几乎都已经是使用加密传输的了,至少都是使用https来进行访问的。对于网站,是在浏览器中进行访问,对浏览器而言,其实完全是透明的,也就是说这个加密对于浏览器而言没有秘密,只是如果你要在浏览器外想要获取网络传输的内容却是比较困难的。比如在某个app内,我们已知这个app是通过https的api方式与服务器进行交互的,你想要在app之外想要获取传输的内容就比较困难了。
用代理能解决吗?
使用代理,其实这是目前绝大多数破解的手段,当然也有其他的手段,但在https的环境下,如果没有证书来解密好像也是非常困难的。为了解决这个问题,我们希望的流程是这样的:
App → 手机系统 → 代理服务器 → 目标服务器 → 代理服务器 → 手机系统 → App
但是有没有发现,手机虽然设置了代理访问网络,但我们发现在 代理服务器上还是未能抓到app的数据请求。
如何解决?
这就是典型的MITM模式。
这里有几个步骤来完成:
- 电脑安装抓包工具来做代理
- 手机配置网络请求通过电脑的代理端口
- 手机安装并信任代理证书
- 重点 开启 附加http代理到VPN
- 之后在代理服务器上快乐地抓包
要点
以上5个步骤中,1,2,3,5几步都没有问题,几乎所有手机都能够顺利完成,但是第4步好像没有相应的开头能够完成。可能需要其他的软件来实现。我这里使用的是ClashMi, 在 核心设置中 → TUN → 开启 附加http代理到VPN。
这有这样设置之后,虽然ClashMi并没有启动 VPN,但你的手机代理才真正把所有的http/https请求都通过你的代理服务器来完成了。