前言
对于一个刚接触业务对业务不熟悉的开发而言,最快熟悉业务以及了解项目代码构成的途径,就是从具体的页面入手,然后打开浏览器web控制台,定位url找到相关的接口,然后开启debug之旅。然而对于一个app而言,类似的做法就是使用抓包工具定位url。废话不多说,直接实操起来。
准备工具Charles
下载
下载地址:https://www.charlesproxy.com/latest-release/download.do
这是一款mac端收费的抓包软件,从上面地址下载好后,有30天的免费试用时间,免费使用需要经常重启服务。这个期间,你可以尽快向公司申请购买商业授权码。
原理浅析
原理很简单,通过Charles可以启动一个流量代理服务,然后设置好手机网络代理,将流量导向Charles代理服务。然后通过一些规则拦截你关注的流量做可视化的分析处理
配置
安装完成后,打开Charles,找到如下图所示的配置:
定位到如图所示菜单,然后会弹出一个弹窗,箭头所示的信息即为代理服务的ip和端口:
开启https代理,找到如下菜单
会弹出一个窗口,确认是否开启了SSl Proxying。然后点击add,输入*通配符,通配所有的url请求
手机WiFi设置
通过上面的设置已经成功的开启了一个172.26.203.178:8888的代理服务。然后需要在手机上配置下。由于没有安卓机设配,所以需要先下载安装一个安卓模拟器(有安卓手机的跳过)
安卓模拟器
下载地址:https://mumu.163.com/mac/index.html
安装好后,模拟器内置的应用商店找不到taptap的应用,所以需要通过外部的apk安装,首先准备好安卓apk,然后找到模拟器的如下图标,点击后可选择本地的apk包直接安装。
wifi代理设置
找到设置,找到WiFi,然后久按选中的WiFi,会弹出一个窗口,点击“修改网络”,然后设置好,如图:
记得将127.0.0.1排除掉,模拟器本身会ping这个ip
https证书配置
在手机浏览器中输入:http://charlesproxy.com/getssl,会下载一个CA证书,双击安装,然后选择【VPN或应用】,完成
ps:如果找包的应用是http的,可以跳过和忽略https证书的设置步骤
使用
都配置好后,打开模拟器中安装好的app,首次拦截到app流量,Charles会弹出一个是否许可的弹窗,允许所有即可,然后就可以愉快的探索app中的秘密了