软件测试必会软件测试接口测试那些事

Charles问题之Windows10下抓取https包,出现u

2018-04-18  本文已影响20137人  飞翔的小猪猪

       网上关于Charles介绍和安装的文章特别多,笔者也是搜罗各方大神分享的经验,先了解其原理和作用,再安装并实际操作抓取http和https包,最后得到的感受是,因为这样厉害的工具的存在,网络上的消息确实非常不安全,连具有加密功能的https协议在信息传输过程中,通过Charles也可以获取API的方法,url,请求消息和响应消息。

       该问题发生前,Charles已经安装和破解成功,相应内容可以看文末链接。因为安装成功后,Charles已默认配置好http协议包的抓取,实际操作很顺利,初次使用,很是惊艳!但是当抓取的包是https协议时,就不那么好玩了,每个接口下都是“Unknown”,笔者有点懵~

       研究一番后发现,https抓包需要安装SSL证书,网上大部分是关于手机上如何抓取https协议包,而关于windows系统下抓取浏览器访问Web应用的https协议包的配置和操作比较少。于是笔者猜想,手机和浏览器抓https的原理应该是一致的,可以借鉴手机SSL的配置来完成浏览器上SSL的配置。OK,现在进入本篇文章的正题。

1、电脑安装SSL证书

通过Charles安装,进入Charles-》Help-》SSL Proxying-》Install Charles Root Certificate ,会打开证书,安装进去,下图是证书已经安装成功的结果。

电脑安装SSL证书成功结果

注意:

(1)由于当前版本较高,ssl证书已经在电脑上了,但如果碰到进入相应界面,提示“证书不存在”,可以到官网去下载与版本配套的证书

https://www.charlesproxy.com/documentation/additional/legacy-ssl-proxying/

(2)按照提示步骤一步一步安装完ssl证书以后,返回证书界面,会看到 此根证书不被信任,在证书上右键 - 显示详情 ,展开信任 选择 始终信任,然后点击左上角的关闭,系统会弹出授权提示框,授权同意修改,回到列表,稍等,证书就刷新了

(3)在如下界面可以查看Charles证书安装失败原因

证书安装失败原因

2、浏览器安装ssl证书

进入Charles-》Help-》SSL Proxying-》Install Charles Root Certificate on a Mobile Device or Remote Browser,如下图

在浏览器上安装ssl证书

弹出如下提示框

浏览器ssl证书下载地址

根据提示,在浏览器地址栏输入“chls.pro/ssl”下载证书

浏览器ssl证书文件

在浏览器上安装证书,以chrome为例

Chrome安装ssl证书

至此,电脑和浏览器的证书都安装成功

3、Charles使能https抓包功能

进入Charles - 》 Proxy - 》 SSL Proxying Settings

Charles设置ssl

打开SSL设置界面,将图上所示复选框选中

使能Charles的SSL Proxying

点击“Add”按钮,在弹出框的 “Host” 和 “Port” 都输入“*”,最后点击OK,根据提示,这样配置可以抓取所有的https包

网络报文过滤

到此配置完毕,再次抓取https报文,就不会全部都是unknown了

4、Q&A

如此配置后,当Charles在运行时,没有安装ssl的证书的浏览器访问Web应用会出现问题

浏览器访问Web应用失败,可以清晰看到失败原因为证书认证失败,而证书机构为Charles,解决办法有两个,

(1)关闭Charles

(2)在浏览器上安装ssl证书

最后,贴上一些关于Charles的原理和安装的链接,大家可以根据需要浏览

移动应用抓包调试利器Charles - 简书

charles抓包的安装,使用说明以及常见问题解决(windows) - CSDN博客

charles系列破解激活办法(最高charles4.2都可以激活)

Charles 从入门到精通 | 唐巧的博客

上一篇 下一篇

猜你喜欢

热点阅读