2013-10-09 41 views
19

我正在尝试使用Charles代理来获取Genymotion(一个在Virtualbox中托管的x86 Android模拟器)。我设法使用网关ip(vm配置为使用仅限主机的适配器fwiw)将设备连接到设备的wifi代理设置中的代理,并且http流量代理很好。我已经安装了vm上的charles证书,但是所有SSL连接仍然失败,并显示“SSL:无法识别的SSL消息,明文连接?”错误。有没有人能够配置genymotion作为ssl代理与Charles一起工作?是否有更通用的解决方案可以通过virtualbox设置实现?Genymotion和Charles的SSL代理?

在此先感谢。

+0

你能解释一些更多的细节,你改变了什么conifg,可以跟踪正常的http流量......? THX提前 – cV2

+6

如果有人搜索太:在你的虚拟设备, 转到Android设置菜单 在无线和网络部分,选择Wi-Fi 按下并按住列表中的2秒WiredSSID网络 选择修改网络 检查显示高级选项 为代理设置菜单条目选择手动 现在进入由您的网络管理员提供的代理设置 最后按下保存按钮<->从https://cloud.genymotion.com/page/faq/#android-proxy – cV2

+1

btw :在charles中启用ssl: 您必须特别标识要启用SSL Proxying的主机名。该列表位于代理设置,SSL选项卡中。您还可以右键单击结构视图中的主机名并打开或关闭SSL代理。 – cV2

回答

11

更新2016年7月21日反射变化自查尔斯3.10

为了能够在中东上的SSL连接查尔斯充当曼纯文本的通信。在管理设备以通过Charles http代理进行通信之后,您需要从正在运行的Charles实例下载并安装证书,该证书由Charles Root Certificate生成并签署。

基本上有两种可能的方式(我更喜欢第一个):

下载,并直接在设备上安装

设备必须配置为通过查尔斯沟通!

  1. 启动浏览器
  2. 开放http://charlesproxy.com/getssl
  3. 证书下载将从查尔斯UI
    1. 通过保存证书开始
    2. 确认插入对话框

    保存证书“帮助 - > SSL代理 - >保存Charles R.或证书..“

  4. 把它放在设备上(通过adb push,email ....),然后单击文件以安装它。

注1:安装,你将被迫以创建设备安全密码/模式/密码认证后。

注2:由于Charles v3.10单一SSL根证书不再支持。

-1

安装证书后,您将被迫为设备创建安全PIN码/码型/密码。 :)

15

转到您的genymotion模拟器 设置 - >无线上网 - >按住你的活动网络 选择“修改网络” 选择“显示高级选项” 选择“代理设置 - >手动” 设置代理到:10.0.3.2(Genymotion的本地工作站专用代码) 将您的端口设置为:8888 按保存。虽然在此之后您将看到记录在charlesproxy中的网络请求。打开genymotion浏览器并转到以下网址http://charlesproxy.com/getssl以下载并安装证书。你应该很好走。 复制从:http://rexstjohn.com/using-genymotion-charles-proxy/

+0

通过在设备上打开以下URL http://charlesproxy.com/getssl,可以更轻松地直接在genymotion上安装证书 –