本文的Charles,适应windows/MAC/IOS/Android,避免抓包HTTPS失败和乱码;
charles需要下载安装ssl/https证书,因为charles是作为中间的过滤器使用的,具体原理请查看charles使用教程
charles并不是默认抓取ssl的,所以即使你安装完证书之后,Charles默认也并不截取Https的信息,你需要在SSLproxy里设置需要抓的域名;
无论IOS/Android,都需要安装SSL证书,原理是手机的SSL证书与电脑上charlesSSL证书对接;
*****************************具体的操作方法**********************************
选择“Help”->“SSLProxying”->“InstallCharlesRootCertificate”,如果设置了安全防护,会ranging输入系统的帐号密码。
你可以单独配置,必须看到某个想要抓取的域名,右键点击“SSLproxying:Enableed”那么当前你设置后的域名,再次访问就可以抓到了;设置如下图
可以看到我上面的配置,那个“SSLproxying:Enableed”配置默认就是灰色的,这是因为我做了通用设置的原因;我是设置为所有的HTTPS协议全部允许捕获;
然后选中启用SSL代理(EnableSSLProxying),因为charles的location配置都是支持通配符的,所以在HOST里设置一个”*”就可以了,port不写;
第三步:手机安装SSL证书(如果你需要抓取手机访问的HTTPS网站,需要做此设置,但如果你不需要手机抓取HTTPS,就没有必要安装了)
和上面类似,也是HTLP下面的SSLProxying,选择”InstallCharlesRootCertificateonaMobileDeviceorremoteBrowser”(在移动设备或远程浏览器上安装SSL证书)
configureyourdevicetousecharlesasitsHTTPproxyon192.168.10.108.,thenbrowsetochls.pro/ssltodownloadandinstallthecertificate
大概的意思是让你把手机上的wifi信息设置了HTTP代理,内容是192.168.10.108.;然后用浏览器浏览chls.pro/ssl就可以下载并安装证书了;
charles的手机上抓取普通HTTP的设置,请参考“charles手机抓包设置”这里只是抓取HTTPS的;
上面的192.168.10.108.这是我电脑的IP和设置和设置的端口,具体要以你实际的为准;