1、电脑上安装好Charles
2、电脑上安装证书
(1)点击Help - SSL Proxying - Install Charlse Root Certificate
(2)在电脑上找到证书。此时证书是不被信任的,所以前面是红色的叉。
(3)右键证书“显示简介”。使用此证书时选择“始终信任”
(4)信任后的证书如下:
3、手机上设置代理。
(1)手机连接WiFi,保证手机和电脑在同一网段。
(2)手机上对连接的WiFi设置代理为手动,服务器地址为电脑地址,端口为8888。(Charles默认的为8888,在Proxy - Proxy Settings 里面可以修改)
4、手机上安装证书。
(1)电脑上查看下载证书的地址。点击 Help - SSL Proxying - Install Charlse Root Certificate on a Mobile Device or Remote Browser。然后弹出窗如下,然后在手机上打开浏览器访问该地址。我这里为:chls.pro/ssl。浏览器访问该地址后,会自动弹出框下载证书,你只需要同意即可。
(2)安装。
针对iphone:① 下载证书后点击安装。 ② 设置-通用-关于本机-证书信任设置,把刚刚安装的证书的开关打开。
针对Android:
① 下载证书。(Android上没法直接安装)
② 设置-安全与隐私-从存储设备安装证书,会弹出目录,选择刚刚下载的证书即可。
③ 一般上面2步就完了。但是可以检验第②的安装证书成功没有。[1]、设置-安全与隐私-信任的凭据-用户,能看见安装的证书即证明安装好了。[2]、我的手机安装好了会在通知栏一直提示“受到不明第三方的监控”,这也能证明证书安装好了。如果你抓包完毕不想看见这个可以点击 设置-安全与隐私-清除所有凭据清除掉就好了。
完成以上操作就能抓到手机上Https的包了。但是为什么有的包抓不到,显示为unknown呢?
仔细一检查你会发现,这些unknown的请求方式都是connect。至今我也不知道怎么抓到它呢,待大神解答。
你可以点击这里,参考这篇文章,来了解connect的请求抓不到的原因。
原文地址:https://www.cnblogs.com/youreyebows/p/9397287.html