移动端用charles抓包,先在电脑上安装charles软件。然后添加相关配置。
SSL proxying settings
为了可以进行https的抓包,一般需要配置一下ssl proxying settings。在菜单栏Proxy -> SSL proxying settings, 勾选Enable SSL Proxying,并添加location配置,如下:
Register Charles
随便在网上搜一下就可以找到注册码,我这里随便找了一个。在菜单栏Help -> Register Charles里填写上注册信息,不然后续会被视作是试用版的。
Registered Name:https://zhile.io
License Key: 48891cf209c6d32bf4
默认设置的,一般这样就够了。
需要注意的是:如果电脑本身有用过别的代理配置,在抓包的时候可能会有冲突,需要先去除掉电脑本身别的代理配置。
在移动设备上安装证书进行抓包
安装之前,先在电脑上把charles打开。然后移动设备也连接到和电脑同一个局域网下,在联网的时候把wifi的代理跳成手动设置代理,然后输入电脑的ip地址,端口号默认填写8888(这是charles默认的端口,有自定义过的请自行更改)。
。
连成功后,电脑上charles会收到提醒,是否允许连接到电脑,选择Allow
。手机就可以连上电脑的charles代理了。
接下来是安装证书,这样在抓包https的资源时候,才不会被一直提示网站证书有安全性问题等,甚至会导致https资源抓包失败的。
1、IOS设备安装证书
ios设备(比如iPhone),在进行charles抓包配置的时候。在菜单栏找到安装移动端证书的指引:Help -> SSL Proxying -> Install charles root certification on a Mobile Device or Remote Browser.
注意:iPhone需要用系统自带的浏览器Safari来打开页面
chls.pro/ssl
,进行证书下载。
下载完成的证书可以在设置里进行安装,安装完成后可以在设置 - 通用 - 描述文件与设备管理
里看到刚刚安装的证书,说明安装成功,如下图:
注意,接下来还需要启用这个证书。启用证书是在:设置 -> 通用 -> 关于本机 -> 证书信任设置
,在这里勾选上我们刚刚安装完成的证书,如下图:
这样,IOS设备的证书就安装好了。
2、Android设备安装证书
跟IOS设备的安装类似,不同的是安卓要用非自带的浏览器来安装(比如UC浏览器,或者qq浏览器等),下载证书到本地。然后在设置
中找到系统安全
的设置页(不同设备可能不同),我的小米手机是在设置 -> 密码与安全 -> 系统安全 -> 加密与凭据 -> 从存储设备安装
,然后找到下载好的证书,安装。
安装完成后,在用户凭据里可以我们刚刚安装成功的证书。
完成
接下来就可以正常实现抓包了。可以打开手机浏览器,随意打开一个网站,可以在charles上看到手机打开的所有资源信息。就说明证书安装成,抓包成功。