Charles抓手机https包步骤:
(1)配置手机局域网proxy,使Charles能抓手机http包
(2)Charles Help->Install Charles Root Certificate To Mobile Device Or Remote Browser,此时会提示从网址chls.pro/ssl下载Charles证书
(3)手机访问chls.pro/ssl,安装证书,并且设置为完全信任
(4)Charles Proxy->SSL Proxy Setting->Enable SSL Proxying,Add Location: *.edaijia.cn 443
然后就可以使用Charles抓包了
PS: Charles抓本地http包过程类似,只是更简单一些
Charles抓包的原理是作为客户端访问服务器的代理,截获两端交互的数据。
Charles抓https包需要做的事情是截获真实客户端的HTTPS请求,伪装客户端向真实服务端发送HTTPS请求,接受真实服务器响应,用Charles自己的证书伪装服务端向真实客户端发送数据内容。
这样就需要客户端安装Charles证书,用于对Charles的交互。一般情况下,系统只会信任可信CA签发的数字证书,私有CA签发的数字证书(比如12306以及我们的Charles证书)是无法访问的,所以安装之后需要手动设置对证书完全信任。