SSL代理与Genymotion和Charles?

25
我在尝试使用Genymotion (一款托管在Virtualbox中的x86 Android模拟器)与Charles代理协同工作。 我已成功将设备连接到代理,使用设备的wifi代理设置,并使用网关ip(虚拟机配置为使用仅主机适配器)来代理http流量。 我已在虚拟机上安装了Charles证书,但所有SSL连接仍然会出现“SSL:未识别的SSL消息,明文连接?” 错误。 有人能够配置genymotion以使其作为ssl代理与Charles协同工作吗? 是否可以通过virtualbox设置实现更通用的解决方案?
提前致谢。

你能否详细解释一下,你改变了哪些配置,以便可以跟踪正常的HTTP流量...?提前感谢。 - cV2
6
如果某人也要搜索它:在您的虚拟设备中, 进入Android设置菜单 在无线和网络部分,选择Wi-Fi 在列表中按住2秒钟WiredSSID网络 选择修改网络 勾选显示高级选项 选择代理设置菜单中的手动 现在输入您的网络管理员提供的代理设置 最后按保存按钮 <-> 来自https://cloud.genymotion.com/page/faq/#android-proxy - cV2
1
顺便提一下:要在Charles本身启用SSL: 您必须明确标识要在其上启用SSL代理的主机名。该列表位于代理设置的SSL选项卡中。您还可以右键单击结构视图中的主机名,打开或关闭SSL代理。 - cV2
4个回答

21

前往你的Genymotion模拟器

设置 -> WiFi -> 长按你的活动网络

选择“修改网络”

选择“显示高级选项”

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

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

将你的端口设置为:8888

点击保存。

尽管在这之后你会看到Charles Proxy中记录的网络请求。但是打开Genymotion浏览器并访问以下网址http://charlesproxy.com/getssl,下载并安装证书即可。你应该准备就绪了。 摘自:http://rexstjohn.com/using-genymotion-charles-proxy/


直接在设备上打开以下网址 http://charlesproxy.com/getssl,更容易地在Genymotion上安装证书。 - Salil Kaul
它要求设置PIN码,有没有办法避免它? - vikramvi
即使我完成了这一步,我仍然收到503响应。请问您能否检查 https://stackoverflow.com/questions/52163004/unknownhost-api-staging-companyname-com-nodename-nor-servname-provided-or-not - vikramvi
Charles和VPN的官方文档 https://www.charlesproxy.com/documentation/faqs/vpn-not-working-with-charles/ - Michal Harakal

14

更新于 2016 年 7 月 21 日,反映自 Charles 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 根证书


即使我完成了这一步骤,我仍然收到503响应。请问您能否检查 https://stackoverflow.com/questions/52163004/unknownhost-api-staging-companyname-com-nodename-nor-servname-provided-or-not - vikramvi

0
安装证书后,您将被强制为设备创建安全的 PIN/图案/密码。 :)

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。希望能对你有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接