Charles抓https请求详细步骤

时间:2021-12-28 18:52:39

1、电脑上安装好Charles

2、电脑上安装证书

(1)点击Help - SSL Proxying - Install Charlse Root Certificate

Charles抓https请求详细步骤

(2)在电脑上找到证书。此时证书是不被信任的,所以前面是红色的叉。

Charles抓https请求详细步骤

(3)右键证书“显示简介”。使用此证书时选择“始终信任”

Charles抓https请求详细步骤

(4)信任后的证书如下:

Charles抓https请求详细步骤

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。浏览器访问该地址后,会自动弹出框下载证书,你只需要同意即可。

Charles抓https请求详细步骤

(2)安装。

针对iphone:① 下载证书后点击安装。 ② 设置-通用-关于本机-证书信任设置,把刚刚安装的证书的开关打开。

针对Android:

① 下载证书。(Android上没法直接安装)

② 设置-安全与隐私-从存储设备安装证书,会弹出目录,选择刚刚下载的证书即可。

③ 一般上面2步就完了。但是可以检验第②的安装证书成功没有。[1]、设置-安全与隐私-信任的凭据-用户,能看见安装的证书即证明安装好了。[2]、我的手机安装好了会在通知栏一直提示“受到不明第三方的监控”,这也能证明证书安装好了。如果你抓包完毕不想看见这个可以点击 设置-安全与隐私-清除所有凭据清除掉就好了。

完成以上操作就能抓到手机上Https的包了。但是为什么有的包抓不到,显示为unknown呢?

仔细一检查你会发现,这些unknown的请求方式都是connect。至今我也不知道怎么抓到它呢,待大神解答。

你可以点击这里,参考这篇文章,来了解connect的请求抓不到的原因。