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

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/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简介 Charles 是在 Mac 下常用的网络封包截取工具,在做 移动开发时,我们为了调试与服务器端的网络通讯协...
    faunjoe阅读 767评论 0 0
  • 我想找个理由去看你 带着花朵的甜蜜 看蜂蝶飞舞在花间 我就是你回望里的思念 我想找个理由去看你 扑约一场花的密语 ...
    田萍阅读 383评论 1 5
  • 和她唱K七点多唱到快十二点也是真的厉害。哈哈哈依偎的时候还被人撞门真的笑死了。回去路上一手梨花带雨的戏真的是,琼瑶...
    小白菜的程序猿阅读 205评论 0 1