Charles能够帮助我们查看设备和Internet之间的所有HTTP和SSL/HTTPS通信。这包括请求、响应和HTTP头,其中包含cookies和缓存信息。下载链接附上。下以安卓设备为例:
- Http 和 Https 网络抓包
- 模拟慢速网络
HTTP代理
我们安装完Charles软件后,需要进行HTTP代理设置,默认端口号:8888
我们需要保证手机设备和电脑在一个局域网下。查看电脑 IP,将手机 WIFI 网络进行代理设置。通常步骤为WIFI高级选项–>代理手动–>输入IP与端口–>保存。如本例中将安卓设备的WIFI 代理设置为192.168.0.110
随后会有连接成功的提示,点击允许。
Allow之后,我们就进入抓包界面了。请求信息会在界面的左侧展示。但是通过下图也能发现,https的请求抓包乱码。
HTTPS代理
针对HTTPS乱码的问题,我们需要设置HTTPS代理代理。如果只进行弱网环境测试,那么直接goto下一步即可。如果还需要抓取https接口的请求信息,那么首Charles需要在电脑端安装证书。
在如下目录下,我们双击安装证书,并信任。
证书安装完毕,Charles还需要进行SSL代理配置。
Charles的Location配置是支持通配符的,如不需要抓取特定域名,我们可直接填写 * 。Host的配置,ssl port常规为443。
配置好SSL代理之后,我们同样需要给待测试手机安装证书,下证书载地址可通过如下方式查看。
通过下图,我们知下载地址:chls.pro/ssl。我们打开手机浏览器,输入该地址下载手机证书。随后安装,并信任。
当我们操作完毕之后,我们就能抓取部分HTTPS的请求了。我测试有些HTTPS请求没办法脱码的。
网速配置
工具导航栏中的按钮作用依次为:
- 清除捕获到的所有请求
- 红点状态说明正在捕获请求,灰色状态说明目前没有捕获请求。
- 停止SSL代理
- 灰色状态说明是没有开启网速节流,绿色状态说明开启了网速节流。
- 灰色状态说明是没有开启断点,红色状态说明开启了断点。
- 编辑修改请求,点击之后可以修改请求的内容。
- 重复发送请求,点击之后选中的请求会被再次发送。
- 验证选中的请求的响应。
- 常用功能,包含了 Tools 菜单中的常用功能。
- 常用设置,包含了 Proxy 菜单中的常用设置。
我们可通过Throttle Setting进行节流控制。其包括Bandwidth:带宽、Utilistation:利用百分比、Round-trip:往返延迟、MTU:字节。这里选择 BandWidth(带宽)复选框来开启限速。也可通过小乌龟图标来控制开始和停止。