图解如何利用 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的下载与安装过程

    网络抓包工具
    免费下载

    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的文章
    阅读数量
    信息