Charles抓包 HTTP、HTTPS以及经常出现的问题

1.下载charles

      可以根据自己的操作系统,到charles官网下载相应的安装程序

      网址 : charles官网


2.抓HTTP请求

    2.1. 设置代理(手机和电脑要在同一个网络)

               1)查看charles默认端口 Proxy->Proxy Settings  在这个页面会看到HTTP Proxy的默认端口是8888   我们不需要修改,只需要知道有这个值就行。

               2)查看本机ip : window  ipconfig    mac os ifconfig

               3)设置手机HTTP代理(这里以iPhone的手机展示):

                

Charles抓包 HTTP、HTTPS以及经常出现的问题_第1张图片
设置手机HTTP代理

                4)设置代理后保存会charles会弹窗提醒,选择allow按钮

                

Charles抓包 HTTP、HTTPS以及经常出现的问题_第2张图片
charles授权


完成了上面几个步骤就可以抓取到HTTP的数据包,是不是很简单,下面讲讲HTTPS的抓取。


3.HTTPS数据包抓取(需要安装SSL证书)        

    3.1. 设置charles ssl代理

            Proxy->SSL Proxy Settings    弹出一个ssl代理设置界面

           1).Enable SSL Proxying复选框打上勾

           2).添加你想要的设置代理的域名,端口默认443

     

Charles抓包 HTTP、HTTPS以及经常出现的问题_第3张图片
ssl代理

           3.2. 手机上安装证书(iOS模拟器也可以安装证书选择第二个就可以)

                            1)Help->SSL Proxying ->Install Charles Root Certificate on a Mobile Device or Remote Browser...   ,只会会弹窗一个提示框:

                        

Charles抓包 HTTP、HTTPS以及经常出现的问题_第4张图片
安装手机证书提示框

在手机的浏览器输入chls.pro/ssl 。然后根据步骤一步步安装证书,会显示在iPhone手机的描述文件界面。


到这里就可以抓取HTTPS的请求了。


4. HTTPS抓取的一些问题处理

       1)    SSL Proxying not enabled for this host: enable in Proxy Settings, SSL locations

        如图:

Charles抓包 HTTP、HTTPS以及经常出现的问题_第5张图片
图1

原因:没有配置host

解决方法:配置host

                Proxy->SSL Proxying Setting->SSL Proxying ,点击下载的add,会弹出输入host的输入框


Charles抓包 HTTP、HTTPS以及经常出现的问题_第6张图片
host添加

如果想抓取所有的https可以在输入框填*,一般抓取指定的host。port可以添加*。


        2)Client SSL handshake failed - Remote host closed connection during handshake

        原因:证书没有完全信任

        解决方法:完全信任证书

                

Charles抓包 HTTP、HTTPS以及经常出现的问题_第7张图片
完全信任证书

将上面的证书开关打开即可

到这就完了,如果读者在抓包的过程中还有什么问题,欢迎随时叨唠。

你可能感兴趣的:(Charles抓包 HTTP、HTTPS以及经常出现的问题)