摘要
Android系统下的App都访问了哪些网络数据呢?用Charles抓包就能看到,甚至连HTTPS传输的数据都一览无遗。
本文详细讲解整个配置过程。
步骤
首先,确保你的Android手机和Windows系统都连接上了同一个WiFi。
- (1)下载Windows版本的Charles
- (2)安装好后,Proxy->Proxy Settings,设置如下
- (3)在Windows系统上,安装证书:Help->SSL Proxying->Install Charles Root Certificate
(4)在Android手机上安装证书:Help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote Browser,会给出具体的安装步骤,如下图
就是让你在手机上配置代理,然后在手机浏览器上访问chls.pro/ssl就能下载证书。(注意,我试了手机上的Chrome浏览器下载安装正常,但华为自带的浏览器只能下载不能安装)。安装时,证书名称写charles(5)在手机上配置代理,实现完成上一过程。(WiFi列表中长按WiFi连接,高级,手动添加代理)
(6)配置完上面步骤,就可以抓到手机上App的HTTP请求内容了。但还有最后一个关键步骤,才能查看到HTTPS的内容。就是要把你想抓包的HTTPS站点(如下图2)添加到Charles: Proxy->SSL Proxy Settings
这里要注意,如果你要监测多个站点,一定都要添加进去,才能监测到。
到这里,配置就结束了,在你的手机上打开“移动营业厅”这个App,就能在Charles上看到它所访问的所有域名。
通过抓包实验,我们也能明显的看到App通过HTTPS(https://restapi.amap.com/v3/geocode/regeo)发送GET请求时,leak了location等信息,这个API也把用户的具体地址等personal信息以明文返回。