Charles 抓包工具配置及使用

3,222 阅读2分钟

从原理入手

不论是 Charles 还是其他抓包工具,他们的原理都是HTTP/HTTPS 代理,通过充当客户端与服务器之间的“中间人”(Man-in-the-Middle, MITM),拦截、记录并分析所有经过的网络流量。

主要通过以下三个机制:

  1. 代理服务器:客户端(如手机 App)将网络请求发送到 Charles 代理服务器,再由 Charles 转发给目标服务器。服务器响应同样经过 Charles 代理返回给客户端。

  2. HTTPS 流量解密:HTTPS 流量默认加密,Charles 通过 SSL/TLS 中间人攻击技术解密数据:

    1. Charles 生成自签名根证书并安装到客户端设备,使客户端信任 Charles 的证书。
    2. 当客户端发起 HTTPS 请求时,Charles 会动态生成目标站点的伪造证书,并用根证书签名。
    3. 客户端信任 Charles 的根证书后,即可解密 HTTPS 流量,实现明文抓包。
  3. 流量分析与修改:Charles 支持实时查看请求头、响应体、状态码等信息,并允许修改请求参数或响应内容(如模拟接口返回数据)。

安装配置

一、下载 Charles

网址:www.charlesproxy.com/

二、注册 Charles

激活码网上到处都是,这里随便贴个网站(inused.github.io/pages/file/…

ios 抓包

Web 抓包就不过多介绍了,这里主要介绍一下 ios App 抓包该如何配置。

我们进入 Charles,依次选择【Help】->【SSL Proxying】->【Instll Charles Root Certificate on a Mobile Device or Remote Browser】

image.png

这里会弹出一个窗口,上面有本机的 IP 地址和端口号

image.png

接下来我们拿出手机,打开 WIFI,确保和我们的电脑处于同一 WIFI 下,打开 WIFI 配置页【HTTP 代理】设置为手动,【服务器】设置为 Charles 给出的 ip,【端口】为 8888

image.png image.png

配置完 ip,我们手机打开浏览器访问 chls.pro/ssl ,会提示我们下载配置描述文件,点击允许

image.png

接下来我们打开【设置】->【通用】->【VPN 与设备管理】,这里看到我们刚刚下载的配置文件,点击安装

image.png

我们回到【通用】->【关于本机】->【证书信任设置】,找到刚刚安装好的证书并开启信任

image.png

这样我们就配置好了证书

使用 App 并抓包

接下来我们手机 app 发送的网络请求都能被拦截到了

我们先清空当前所有请求

image.png

然后打开网易云听首歌

image.png

最后

已将学习代码上传至 github,欢迎大家学习指正!

技术小白记录学习过程,有错误或不解的地方还请评论区留言,如果这篇文章对你有所帮助请 “点赞 收藏+关注” ,感谢支持!!