分析APP接口用到的网络数据抓包工具有Charles、Fiddler、Wireshark;
Charles支持抓取http、https协议的请求,不支持socket。
Wireshark功能十分强大,日后再做详细解析。
下面介绍一下Charles的安装与配置。
一、下载和配置
Charles需要Java环境,安装完Java环境之后即可安装Charles。
安装完毕后对Charles进行配置:
选中菜单栏Proxy-Proxy Settings,勾选中Enable transparent HTTP proxying
选中菜单栏Help-SSL Proxying-Install Charles Root Certificate,在钥匙串访问中双击Charles Proxy CA证书
下拉菜单:使用证书时选中始终信任
选中菜单栏Help-SSL Proxying-Install Charles Root Certificate on a Mobile Device or Remote Browser
在手机的Wi-Fi设置中配置代理,主机名填上图中的IP,端口填8888;手机配置好代理后,Mac端会弹出是否许可的提示框,点击Allow
打开手机浏览器访问chls.pro/ssl下载证书并安装(需要一定的手机权限)
二、抓包与分析
搭建好APP抓取环境之后
点击开始按钮开始抓包
初次抓取某个HTTPS站点会报错:SSL Proxying not enabled for this host: enable in Proxy Settings, SSL locations,在Structure栏下右击对应的域名Enable SSL
或者配置一下
在APP端进行相关操作后可再次点击按钮暂停,之后可以观察经过APP端的流量
一般URL中会带有API字样,并且以JSON样式呈现
观察并测试URL中的每一个参数,据此构建URL抓取数据