25

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

提前致谢。

4

4 回答 4

21

转到您的 genymotion 模拟器

设置 -> Wifi -> 按住您的活动网络

选择“修改网络”</p>

选择“显示高级选项”</p>

选择“代理设置->手动”</p>

将您的代理设置为:10.0.3.2(Genymotion 本地工作站的特殊代码。网络模式必须是虚拟设备配置上的NAT )

将您的端口设置为:8888

按保存。

虽然在此之后您会看到在 charlesproxy 中记录的网络请求。打开genymotion 浏览器并访问以下 URL http://charlesproxy.com/getssl下载并安装证书。你应该很高兴。复制自:http ://rexstjohn.com/using-genymotion-charles-proxy/

于 2015-09-30T12:16:58.877 回答
14

更新 21.07.2016反映自查尔斯 3.10 以来的变化

为了在 SSL 连接上启用纯文本通信,Charles 充当中间人。在您管理您的设备通过 Charles http 代理进行通信后,您需要从正在运行的 Charles 实例下载并安装证书,该证书由 Charles 根证书生成和签名。

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

直接在设备上下载并安装

设备必须配置为通过 Charles 进行通信!

  1. 启动浏览器
  2. 打开http://charlesproxy.com/getssl
  3. 证书下载将开始
  4. 确认插入对话框

保存来自 Charles UI 的证书

  1. 通过“Help -> SSL Proxying -> Save Charles Root Certificate..”保存证书
  2. 将其放在设备上(通过 adb push、电子邮件 ....)并单击文件以安装它。

注意 1:安装证书后,您将被迫为设备创建安全 Pin/Pattern/Password。

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

于 2014-01-14T21:29:48.330 回答
0

在 genymotion 设备上正确设置很棘手,但步骤如下: 1. 启动 Genymotion 设备 2. 转到设置 -> Wifi -> 保持或打开高级选项卡 3. 代理设置并选择手动 4. 配置到 Mitm 的端口应用程序。Charles 是 8888,Proxyman 是 9090 5. 在以下位置安装证书: - http://charlesproxy.com/getssl对于 Charles - http://proxy.man/ssl对于 Proxyman 6. 接受证书 7. 再次测试。

基本上,这些步骤与 Charles Proxy 和 Proxyman 一致。希望它可以帮助你。

于 2020-02-05T04:27:16.283 回答
-1

安装证书后,您将被迫为设备创建安全 Pin/Pattern/Password。:)

于 2014-08-10T21:09:58.277 回答