Charles抓https请求

Posted youreyebows

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Charles抓https请求相关的知识,希望对你有一定的参考价值。

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的请求抓不到的原因。

以上是关于Charles抓https请求的主要内容,如果未能解决你的问题,请参考以下文章

Charles抓https请求

使用Charles对Android App的https请求进行抓包

Charles如何配置代理抓去HTTP/HTTPS请求

Charles安装及使用教程——请求抓包Https配置

Charles抓包以及解决抓取HTTPS请求unknown的问题

使用Charles对自己开发的 App在Android7.0以上的手机的https请求抓包——亲测有效