使用Charles抓包(HTTP/HTTPS)

3,400 阅读3分钟

测试设备及环境:Mac-OSX10.14,iPhone6s-iOS12.1

开篇总结(HTTP/HTTPS):

1、打开Charles,选择 "Install Charles root Certificate" 给电脑装个证书

2、在电脑的 钥匙串访问 中双击打开 Charles Proxy CA 证书,展开 信任 选项,并选择 "始终信任",保存

3、在Charles中设置代理的端口号

4、查看手机连接Charles的代理地址、安装证书及配置方式

5、电脑与手机连接同一 Wi-Fi

6、在手机上设置 HTTP代理 的方式为 "手动",填入Charles提供的代理地址

7、设置SSL端口为443

8、在手机Safari上访问 "chls.pro/ssl",下载并安装证书

9、信任证书【重要】

附篇总结(和ss共存):

1、电脑连接有线网络,开启 "互联网共享"

2、打开Charles,选择 "External Proxy Settings",配置HTTP(S)的外部代理地址为ss(127.0.0.1:1087)

3、手机连接电脑提供的 "Wi-Fi",并设置 HTTP代理 的方式为 "手动",填入Charles提供的代理地址

4、开启ss "全局模式"

附抓包效果图一张:


HTTP 抓包

1、打开Charles,选择 "Install Charles root Certificate" 给电脑装个证书

2、在电脑的 钥匙串访问 中双击打开 Charles Proxy CA 证书,展开 信任 选项,并选择 "始终信任",保存

3、在Charles中设置代理的端口号

4、查看手机连接Charles的代理地址、安装证书及配置方式

5、电脑与手机连接同一 Wi-Fi

6、在手机上设置 HTTP代理 的方式为 "手动",填入Charles提供的代理地址

完成以上步骤,已经可以抓HTTP的包;如果需要抓HTTPS的包,还需要在手机上完成安装证书和信任证书


HTTPS 抓包

7、设置SSL端口为443

8、在手机Safari上访问 "chls.pro/ssl",下载并安装证书

  • 下载的证书可以在 "设置 --> 通用 --> 描述文件与设备管理" 中找到

9、信任证书【重要】

  • iOS系统版本不同,设置可能有差别(部分低版本系统只需要安装,会自动信任证书)
  • iOS12系统中安装的CA证书,必须要在 "设置 --> 通用 --> 关于本机(滑至最后) --> 证书信任设置" 中开启 "针对根证书启动完全信任"

完成以上步骤,就可以在Charles中抓HTTPS的包了


Charles和ss共存

  • 需求:为了抓一些外网的包
  • Mac笔记本如何连接有线网络?Mac电脑上如何共享Wi-Fi?Mac电脑如何安装/配置ss?具体操作请移步搜索引擎

1、电脑连接有线网络,开启 "互联网共享"

  • 保证电脑成功连接有线网络

2、打开Charles,选择 "External Proxy Settings",配置HTTP(S)的外部代理地址为ss

  • HTTP代理监听地址和端口,一般是127.0.0.1:1087

3、手机连接电脑提供的 "Wi-Fi",并设置 HTTP代理 的方式为 "手动",填入Charles提供的代理地址

  • 与HTTP/HTTPS抓包配置方式相同

4、开启ss "全局模式"