Charles 移动应用抓包调试工具的初步使用与了解

2018-07-30  本文已影响61人  九九丸子

Charles 简介

Charles 是一款移动端调试抓包工具。
用于移动端开发或测试时调试与服务器端的网络通讯协议。

Charles 有如下特点:

  1. 支持 SSL 代理,可以截取分析 SSL 的请求
  2. 支持流量控制。可以模拟慢速网络(2G,3G),以及等待时间较长的请求。
  3. 支持 AJAX 调试。可以自动把 JSON 或者 XML 数据格式化,方便查看。
  4. 支持重发网络请求,方便后端调试。
  5. 支持修改网络请求参数。
  6. 支持网络请求的截取和动态修改。
  7. 有不同平台的版本(Mac,Windows、Linux)。

Charles 安装

Charles 的官方下载网站(http://www.charlesproxy.com)。

第一次打开 Charles ,会请求你给它设置系统代理的权限。可以自由选择是否设置。如果后面需要设置系统代理,可以在选择菜单中的 “Proxy” -> “Mac OS X Proxy” 将 Charles 设置成系统代理。

Charles 截取 iPhone 上的网络封包

设置 Charles

要截取 iPhone 上的网络请求,需要打开系统代理。在 Charles 的菜单栏上选择 “Proxy”->”Proxy Settings”,填入代理端口 8888,并且勾上 “Enable transparent HTTP proxying” 就完成了在 Charles 上的设置。

设置 iPhone

在 Charles 的顶部菜单的 “Help”->”Local IP Address”,获取 Charles 运行所在电脑的 IP 地址,如下图所示:


Local IP Address.png

在 iPhone 的 “ 设置 “->” 无线局域网 “ 中,进入当前连接的 WIFI 的详情页 ,找到底部的「HTTP 代理」选择「手动」然后填上 上面👆获取到的电脑 IP,以及端口号 8888,输入完成点击存储即可。如下图:

设置手动 HTTP 代理.png

按照上面流程设置好以后, Charles 会弹出 iPhone 请求连接的确认菜单,点击 Allow 即可。

抓取 Https

分析 Https 协议相关的内容。要安装 Charles 的 CA 证书。

菜单中选择 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate”。


image.png

在钥匙串中找到名称为 Charles Proxy CA 的证书,默认是不被信任的。双击该证书,展开「信任」标题,选择「始终信任」,输入系统密码即可更改证书权限,证书安装完成。

始终信任.png

安装完证书之后,Charles 默认不会获取 Https 信息,获取某个网站上的所有 Https 网络请求,需要在该请求上右击,选择 SSL Proxying。

抓取移动设备 Https

iOS 或 Android 机器上截取 Https 协议的通讯内容,需要在手机上安装证书。点击 Charles 的顶部菜单,选择 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate on a Mobile Device or Remote Browser”,然后就可以看到 Charles 弹出的简单的安装教程。如下图所示:

image.png

根据上图提示,在手机浏览器中访问地址:chls.pro/ssl,按照提示安装证书。会弹出未信任的警告,右上角点击「安装」如下图:

image.png

点击安装后再次点击完成证书即可安装成功。

image.png

Charles 默认不截取 HTTPS,需要在要截取的网络请求上右击,选择 SSL Proxying 选项。

模拟慢速网络

在移动端测试时,常常需要模拟弱网环境。Charles 完全可以胜任。
在菜单选择 “Proxy”->”Throttle Setting” ,勾选上 “Enable Throttling”,并且可以设置 Throttle Preset 的类型。

后续补充:

  1. 映射请求

Map local
Map Remote
No Caching

  1. Chrome 的 Charles 插件

Chrome 的 Charles 插件可以控制浏览器请求先映射到 charles 对应的端口, 然后再让 charles 转发到指定的端口。

参考博客: https://blog.devtang.com/2015/11/14/charles-introduction/

上一篇下一篇

猜你喜欢

热点阅读