Charles对Android手机Https请求的抓包

Charles对Android手机Https请求的抓包

• 前情提要:

本文只是对android手机进行抓包的描述,由于android手机系统原因,android7.0系统及以上需要在app中配置证书信任才能进行https抓包,android7.0(不含)以下系统,只需要配置好证书即可进行https抓包,本文分Charles Windows版使用说明

一、Mac版,电脑端操作

1、准备工具

• 官网下载地址: https://www.charlesproxy.com/download/

• Charles Windows版

2、傻瓜式安装Charles

3、设置Charles

• 电脑端安装证书

Charles->help->SSL Proxying-> Install Charles Root Certificate,根据提示将证书安装到电脑中

• 设置http、https代理端口:Charles->Proxy->Proxies

• 设置https代理:Charles->Proxy->SSL Proxying settings->Add

• Host设置为*,Port设置为443,代表代理所有https请求

• 至此,widdows版本的charles电脑端的设置,已经完成。

二、手机端操作

1、确保手机与mac端电脑连接到同一wifi网络下

• 设置手机wifi代理

• 查询到电脑的ip :例如 188.180.3.217

• 将主机名设置为电脑的ip

• 将端口设置为Charles 设置的http代理端口,默认为8888保存网络

2、手机端安装Charles证书

在保证Charles使用手机浏览器访问 chls.pro/ssl 保存下载的证书文件,并安装证书

Tips:如果是小米手机则需要使用第三方浏览器,且需要将下载的.pem证书文件重命名为.crt文件,再进行证书安装。

Tip:如果是android7.0以上的系统,如果app的设置中没有添加信任用户安装的证书的配置,也是无法抓取该app的https的请求包,切记。

完成手机端证书安装后,进入所需抓包的app,即可在charles中查看到http、https的请求

2、charles抓包的详细信息如下图所示