使用Charles在iOS 11.4上抓包HTTPS

开发过程中时常需要测试接口收发参数,前后端分离调试等.
Charles是网路上非常热门的抓包工具. 
以下是个人的操作记录,仅供参考和备忘:

一 Mac配置:
1. Mac端根证书安装,iPhone证书配置指导

使用Charles在iOS 11.4上抓包HTTPS
mac根证书配置

 

2. 指定监控端口, SSL代理端口443

使用Charles在iOS 11.4上抓包HTTPS
端口设置
使用Charles在iOS 11.4上抓包HTTPS
指定监控端口
使用Charles在iOS 11.4上抓包HTTPS
SSL代理端口

 

二 iPhone配置:
1. 保证iPhone和Mac处于同一WiFi下, 手动修改iPhone 网络代理为上述Mac的ip和Charles监控的端口,如下图所示:

使用Charles在iOS 11.4上抓包HTTPS
iPhone 代理ip和端口设置

2. Safari访问http://charlesproxy.com/getssl 下载SSL证书并完成安装

3. iOS 10以后的系统版本还需要手动去设置->通用->关于本机->证书信任设置中,打开针对CharlesProxy的信任,如下图所示:

使用Charles在iOS 11.4上抓包HTTPS
CharlesProxy 证书信任开启

 

如按照以上配置完成后, 发现手机无法联网,则可能是路由器设置问题.具体问题具体分析,再行处理.

效果如下:

使用Charles在iOS 11.4上抓包HTTPS
HTTPS Request
使用Charles在iOS 11.4上抓包HTTPS
HTTPS Response

 

安卓7.0以后常规方法安装SSL证书已失效,需要Root后再安装,如有需要自行搜索,配置过程也不复杂.