Charles代理手机上的网络请求

12,858 阅读1分钟

如果我们想调试手机上的应用,可以把请求转发到 PC 上,然后由 Charles 来捕获。

Charles设置

顶部菜单栏 ->

Proxy
->
Proxy Settings
->
Proxies
-> 勾上 Enable transparent HTTP proxying

proxy setting

手机设置

为了把手机的请求转发到 PC 上,我们要保证手机和 PC 是在同一个局域网的。所以他们要连接同一个 Wi-Fi 。

然后,打开你手机的 Wi-Fi 设置:

wifi setting

接着,把 HTTP Proxy 设置为你 PC 的系统代理,也就是上一步设置的 Charles 的 Proxy Setting 。

wifi http proxy

server 的值是你 PC 上的 IP 地址:ifconfig en0

ifconfig get pc's IP address

搞定之后,PC 上就会有一个弹框,问你是否允许手机代理到该 PC 上:

confirm proxy

点击「允许」就好。

然后手机上随便发起一个 HTTP 请求,Charles 都可以捕获得到,比如打开饿了么的 APP :

capture mobile result

原文

2018-11-20 更新

ios手机 抓取https 证书下载

以上的代理可以进行不能进行https协议请求的抓包,如果想实现此抓包,需要在手机端下载证书

下载安装证书流程


点击选项,会弹出弹窗


打开手机浏览器访问 chls.pro/ssl(请确保已经完成手机设置,进行代理,如没有请回看手机设置步骤)


点击允许,会进行证书的安装

点击安装


点击完成,安装过程结束

查看手机-设置-通用-描述文件与设备管理


查看是否已经安装charles 描述文件,如果有则安装成功,没有的话请重新安装

点击手机-通用-关于本机-证书信任设置(手机最底部)


对charles 进行信任


点击继续完成,则可以进行抓包