使用 Charles + Shadowrocket 进行 IOS 抓包

Charles 安装

  1. 安装最新版 :https://www.charlesproxy.com/download/latest-release/
  2. 注册 :点击 Help -> Register to ,录入下面的授权信息 ,或者访问 https://www.charles.ren 生成
1
2
Registered Name:ddmc
License Key:8DEA943587A9B04870
  1. 打开 socket 代理 :Proxy -> Proxy Settings 勾选 Enable SOCKS proxy

启用 SSL 请求代理

windows 安装证书 :

  • Help -> SSL Proxying -> Install Charles Root Certificate ,点击安装证书 。
  • 在为证书指定位置时,选择”将所有的证书都放入下列存储”,选择”受信任的根证书颁发机构”。
  • 安装完之后重启 charles

iPhone 安装证书:

  • 通过 safari 访问 chls.pro/ssl 安装证书,如果访问不了,可以在 windows 上访问该地址下载后,再传输到 iPhone 中。
  • 证书下载完,到系统设置的首页进行安装。
  • 证书安装好通过 :设置 -> 通用 -> 关于本机 -> 证书信任,信任刚才安装的证书。

windows 启用 SSL :Proxy -> SSL Proxy Setting -> Enable SSL Proxying

配置 Shadowrocket

打开 shadowrocket ,添加服务器 ,类型选择 Socks5 ,Address 填 Charles 机器的 IP 地址,Port 填 Charles 设置的 Socks 端口(与 HTTP 的不同)。Charles 地址可以通过 :Help -> Local IP Address 查看。

添加完成,开启代理。此时 iPhone 访问网络,Charles 应该会有一个允许访问网络的弹窗,点击允许。如果 Charles 没有刷新内容,且 iPhone 无法上网 ,可以尝试关闭 windows 防火墙,重启下 Charles 。

Charles 证书过期处理

  1. 重置证书:在Charles中,通过选择“Help”->“SSL Proxying”->“Reset Charles Root Certificate”来重置证书。
  2. 重新安装证书:重置后,再次通过“Help”->“SSL Proxying”->“Install Charles Root Certificate”来安装证书。
  3. 在电脑上信任证书
    • 对于Windows系统,你可能需要手动打开证书目录(可以通过运行certlm.msc或certmgr.msc来访问),删除过期的证书,并确保新的证书被信任。
    • 对于Mac系统,打开钥匙串访问,找到Charles的证书,并设置为“始终信任”。
  4. 在移动设备上安装证书
    • 对于iOS设备,打开Safari浏览器,输入chls.pro/ssl来下载并安装证书。然后,在“设置”->“通用”->“关于本机”->“证书信任设置”中信任该证书。
    • 对于Android设备,通常需要在浏览器中访问相同的URL来下载并安装证书。
  5. 重启Charles和设备:在安装新证书后,重启Charles和你的设备以确保更改生效。
  6. 检查网络连接:确保你的设备与Charles代理服务器之间的网络连接是稳定的,任何网络问题都可能导致证书下载失败。
  7. 检查代理设置:确保你已经正确配置了所有的代理设置,错误的代理设置可能会导致连接问题