这一小节主要记录下我在使用青花瓷(charles)进行手机联结mac并进行抓包时遇到的问题,主要是青花瓷软件的相关设置。

  由于苹果公司对app数据安全性的强制要求,目前市面上很多app的接口都使用https。所以现在单纯的拿青花瓷来直接抓取手机上app的数据显然是行不通了。如果想要截取到完好的https数据,需要以下几步:

  一、在mac端安装charles的证书:打开charles,Help->SSL Proxying->Install Charles Root Certifacate,会自动打开钥匙串并提示添加。

        抓取Iphone上app的网络数据_certifacate

  二、配置SSL访问:mac端,在charles左上菜单栏,Proxy->SSL Proxying Setting->点击add->在弹出的对话框里面设置主机和端口号,端口号默认443,主机域名填你自己想要截取的,比如我要截取斗鱼的,就填capi.douyucdn.cn

     抓取Iphone上app的网络数据_charles_02

  三、经过以上两步可以实现mac端的数据抓取了,想要抓取iPhone端的数据,还要在手机端配置charles的证书以及手动设置代理(与mac端需要连接在同一WiFi)。Help->SSL Proxying->选择Install Charles Root Certifacate on a Mobile Device or Remote Browser,会跳出这个提示

抓取Iphone上app的网络数据_certifacate_03在手机端设置代理及证书安装

抓取Iphone上app的网络数据_certifacate_04

抓取Iphone上app的网络数据_certifacate_05


事实证明,尽管这样设置了所有的事前条件,仍然无法截取到完整有用的api接口,只能说现在的app保密性真的强的一逼...(⊙o⊙)…