图解如何利用 Charles 抓包

一、什么是Charles

Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息)。


二、为什么选择Charles

通过对网络上传输的数据进行抓取,可以对其进行分析,对于软件开发调试有很大的帮助。

那么Charles牛在哪里呢?主要功能如下:

  1. 支持SSL代理,可以截取分析SSL的请求

  2. 支持流量控制。可以模拟慢速网络(2G,3G),以及等待时间较长的请求。

  3. 支持AJAX调试。可以自动把JSON或者XML数据格式化,方便查看。

  4. 支持重发网络请求,方便后端调试。

  5. 支持修改网络请求参数。

  6. 支持网络请求的截取和动态修改。

  7. 支持多个平台(Mac,Windows、Linux)。


三、Charles的下载与安装过程

Charles
网络抓包工具
免费下载

Mac下安装:

打开Charles-4.2.1.dmg后将Charles.app拖到应用程序目录下即完成安装。

image.png


四、Http抓包操作步骤

1、开启Charles http代理。

QQ20180124-135232@2x.png


2、激活http代理功能。

image.png


3、获取Mac的iP地址,按住Option, 打开网络。

image.png


4、手机端Wi-Fi添加代理(iPhone端设置)。

注意: 手机所连接Wi-Fi要与电脑在同一个LAN(局域网)。

image.png


5、开启Charles录制功能。

image.png


6、启动应用开始抓包。

test.jpg


7、分析抓取的数据包:Charles 主要提供两种查看封包的视图,分别名为 “Structure”和 “Sequence”

image.png


五、Https抓包操作步骤

1、安装Https.cer证书。

image.png


2、iPhone获取证书并安装:在Safari输入 chls.pro/ssl

image.png


3、指定URL请求并且开启SSL代理功能。

image.png


4、重复Http抓包操作步骤


总结

通过Charles软件,我们能够截取和调试网络请求内容,分析封包协议以及模拟慢速网络。利用好 Charles 可以极大的方便我们对于带有网络请求的 App 的开发和调试。

希望本文能够帮助大家~

TA的文章
阅读数量
信息