移动端用charles抓包,先在电脑上安装charles软件。然后添加相关配置。

SSL proxying settings

为了可以进行https的抓包,一般需要配置一下ssl proxying settings。在菜单栏Proxy -> SSL proxying settings, 勾选Enable SSL Proxying,并添加location配置,如下:

charles打开按钮 charles设置_抓包


charles打开按钮 charles设置_charles打开按钮_02

Register Charles

随便在网上搜一下就可以找到注册码,我这里随便找了一个。在菜单栏Help -> Register Charles里填写上注册信息,不然后续会被视作是试用版的。

Registered Name:https://zhile.io
License Key: 48891cf209c6d32bf4

默认设置的,一般这样就够了。

需要注意的是:如果电脑本身有用过别的代理配置,在抓包的时候可能会有冲突,需要先去除掉电脑本身别的代理配置。

在移动设备上安装证书进行抓包

安装之前,先在电脑上把charles打开。然后移动设备也连接到和电脑同一个局域网下,在联网的时候把wifi的代理跳成手动设置代理,然后输入电脑的ip地址,端口号默认填写8888(这是charles默认的端口,有自定义过的请自行更改)。

charles打开按钮 charles设置_SSL_03


连成功后,电脑上charles会收到提醒,是否允许连接到电脑,选择Allow。手机就可以连上电脑的charles代理了。

接下来是安装证书,这样在抓包https的资源时候,才不会被一直提示网站证书有安全性问题等,甚至会导致https资源抓包失败的。

1、IOS设备安装证书

ios设备(比如iPhone),在进行charles抓包配置的时候。在菜单栏找到安装移动端证书的指引:Help -> SSL Proxying -> Install charles root certification on a Mobile Device or Remote Browser.

charles打开按钮 charles设置_抓包_04

注意:iPhone需要用系统自带的浏览器Safari来打开页面chls.pro/ssl,进行证书下载。

下载完成的证书可以在设置里进行安装,安装完成后可以在设置 - 通用 - 描述文件与设备管理里看到刚刚安装的证书,说明安装成功,如下图:

charles打开按钮 charles设置_抓包_05

注意,接下来还需要启用这个证书。启用证书是在:设置 -> 通用 -> 关于本机 -> 证书信任设置,在这里勾选上我们刚刚安装完成的证书,如下图:

charles打开按钮 charles设置_charles_06

这样,IOS设备的证书就安装好了。

2、Android设备安装证书

跟IOS设备的安装类似,不同的是安卓要用非自带的浏览器来安装(比如UC浏览器,或者qq浏览器等),下载证书到本地。然后在设置中找到系统安全的设置页(不同设备可能不同),我的小米手机是在设置 -> 密码与安全 -> 系统安全 -> 加密与凭据 -> 从存储设备安装,然后找到下载好的证书,安装。

安装完成后,在用户凭据里可以我们刚刚安装成功的证书。

完成

接下来就可以正常实现抓包了。可以打开手机浏览器,随意打开一个网站,可以在charles上看到手机打开的所有资源信息。就说明证书安装成,抓包成功。