kl个人博客 首页>>架构/杂谈>>mac使用Charles抓包安卓app环境搭建

mac使用Charles抓包安卓app环境搭建

前言

对于一个刚接触业务对业务不熟悉的开发而言,最快熟悉业务以及了解项目代码构成的途径,就是从具体的页面入手,然后打开浏览器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中的秘密了


kl个人博客