我想分析我正在为 Android 开发的应用的 https 流量。
Charles Web Debugging Proxy 是我想为此使用的工具。我有以下系统配置:
- Mac OS X El Capitan 版本 10.11.5
- Android Studio 2.1.2
- 构建 #AI-143.2915827,构建于 2016 年 5 月 26 日
- Android SDK 工具 25.2.0 rc1
- 平台版本:API 24:Android 6.X (N) 修订版 2
- Charles Web Debugging Proxy v 3.11.5 30 天试用版
我已经在 StackOverflow 上阅读了几篇文章,例如
但我仍然没有达到我的目标。我完成了所有重要步骤:
- Charles Root 证书已安装并添加到 Max OS X Keychain 并受信任
- 打开代理设置:代理 -> 代理设置,代理选项卡,选中“启用透明 HTTP 代理”
- 打开 SSL 代理设置:代理 -> SSL 代理设置,SSL 代理选项卡,选中“启用 SSL 代理”
- Android Emulator 从 Android Studio Terminal 开始
~/Library/Android/sdk/tools/emulator -netdelay none -netspeed full -http-proxy <IP_FROM_DEVICE_WITH_CHARLES_PROXY_INSTALLED>:8888 -avd Nexus_5_API_23
- 从 http://charlesproxy.com/getssl 安装的证书
- 或由 Charles Proxy 保存的证书,由 openssl 转换为 .crt 并安装在模拟设备上
我可以毫无问题地读取 Charles Proxy 中的所有 http 流量。我也可以读取 https 流量但是 Charles 只列出 IP 地址。有像这样的条目
https://173.194.65.188:5228
所以ip地址没有解析。如何获得真正的 https 网址?我必须在某处为 https 激活 DNS 吗?
最佳答案
我也发现这是一个问题。当我想通过 Charles Proxy 调试网络流量时,我的解决方案是切换到 Genymotion 模拟器。 Genymotion 模拟器将为您提供 Charles 中的 url(s) 与 ip(s)。
在 Genymotion 模拟器中,您将 Wifi 代理主机名配置为“10.0.3.2”,代理端口输入“8888”(*假设端口 8888 是您在 Charles Proxy 中配置的监听端口)。
关于android - 如何使用 Charles Proxy 分析来自 Android 6 模拟器的 https 流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38505406/