从原理入手
不论是 Charles 还是其他抓包工具,他们的原理都是HTTP/HTTPS 代理,通过充当客户端与服务器之间的“中间人”(Man-in-the-Middle, MITM),拦截、记录并分析所有经过的网络流量。
主要通过以下三个机制:
-
代理服务器:客户端(如手机 App)将网络请求发送到 Charles 代理服务器,再由 Charles 转发给目标服务器。服务器响应同样经过 Charles 代理返回给客户端。
-
HTTPS 流量解密:HTTPS 流量默认加密,Charles 通过 SSL/TLS 中间人攻击技术解密数据:
- Charles 生成自签名根证书并安装到客户端设备,使客户端信任 Charles 的证书。
- 当客户端发起 HTTPS 请求时,Charles 会动态生成目标站点的伪造证书,并用根证书签名。
- 客户端信任 Charles 的根证书后,即可解密 HTTPS 流量,实现明文抓包。
-
流量分析与修改:Charles 支持实时查看请求头、响应体、状态码等信息,并允许修改请求参数或响应内容(如模拟接口返回数据)。
安装配置
一、下载 Charles
二、注册 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】
这里会弹出一个窗口,上面有本机的 IP 地址和端口号
接下来我们拿出手机,打开 WIFI,确保和我们的电脑处于同一 WIFI 下,打开 WIFI 配置页【HTTP 代理】设置为手动,【服务器】设置为 Charles 给出的 ip,【端口】为 8888。
配置完 ip,我们手机打开浏览器访问 chls.pro/ssl ,会提示我们下载配置描述文件,点击允许
接下来我们打开【设置】->【通用】->【VPN 与设备管理】,这里看到我们刚刚下载的配置文件,点击安装
我们回到【通用】->【关于本机】->【证书信任设置】,找到刚刚安装好的证书并开启信任
这样我们就配置好了证书
使用 App 并抓包
接下来我们手机 app 发送的网络请求都能被拦截到了
我们先清空当前所有请求
然后打开网易云听首歌
最后
已将学习代码上传至 github,欢迎大家学习指正!
技术小白记录学习过程,有错误或不解的地方还请评论区留言,如果这篇文章对你有所帮助请 “点赞 收藏+关注” ,感谢支持!!