一、Charles简介

Charles 是PC端的一款网络抓包工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。

Charles官网下载

Charles 主要功能:

1、抓取 Http 和 Https 网络封包。

2、支持模拟弱网环境。

3、支持mock数据。

4、支持Breakpoints修改网络请求参数。

5、配合SwitchHosts切换不同环境

二、电脑证书安装

无论电脑端还是手机端进行抓包,都需要先安装对应证书才能使用。装好证书后还要配置网页浏览端口(主要用于https网络服务,一般是:443端口),来抓取浏览器上的请求。需在Proxy–>SSL Proxying Settings配置添加Host为*,Port为443。如何所示:

1、安装证书

charles 抓包 contents乱码 charles 抓包工具_ios

charles 抓包 contents乱码 charles 抓包工具_手机端_02

 

charles 抓包 contents乱码 charles 抓包工具_手机端_03

 2、Proxy–>SSL Proxying Setting配置网页浏览端口

charles 抓包 contents乱码 charles 抓包工具_手机端_04

三、手机证书安装

在手机接入电脑wifi(或处于同一局域网),手机端配置手动代理:输入安装Charles的电脑的网络地址,端口填8888。手机浏览器输入: chls.pro/ssl ,来下载安装证书。
1、查看charles端口,一般默认8888

charles 抓包 contents乱码 charles 抓包工具_抓包_05

2、手机端wifi详情设置手动代理 

charles 抓包 contents乱码 charles 抓包工具_ios_06

3、手机配置好代理,电脑上Charles会弹出弹框,点击运行

charles 抓包 contents乱码 charles 抓包工具_手机端_07

4、上述操作,已经可以抓包但会出现unknown报错
手机端浏览器输入:chls.pro/ssl ,来下载并安装证书
注意:
1、android下载的证书,是“.pem”为后缀的文件,需要改成“.cer”文件,双击安装即可
2、ios下载的证书,需要在设置–>通用–>描述文件–>点击Charles Proxy CA文件进入进行安装验证即可

charles 抓包 contents乱码 charles 抓包工具_android_08

charles 抓包 contents乱码 charles 抓包工具_手机端_09

3、Android和iOS需设置证书信任设置

iOS:设置→通用→关于本机→证书信任设置

charles 抓包 contents乱码 charles 抓包工具_封包_10

四、抓包使用

无论电脑端还是手机端抓包,通过Charles抓包查看接口数据

 

charles 抓包 contents乱码 charles 抓包工具_抓包_11

五、备注

1、过滤:

弹窗显示很多CONNECT,在filter输入test进行筛选接口,如下图:

charles 抓包 contents乱码 charles 抓包工具_抓包_12

2、出现乱码、请求失败,可以下操作:

charles 抓包 contents乱码 charles 抓包工具_抓包_13