[英]How to analyze https traffic from Android 6 emulator with Charles Proxy
我想分析我正在为Android开发的应用的https流量。
Charles Web Debugging Proxy是我想要使用的工具。 我有以下系统配置:
我已经在StackOverflow上阅读过几篇文章,例如
但我还没达到目标。 我走过了所有重要的步骤:
~/Library/Android/sdk/tools/emulator -netdelay none -netspeed full -http-proxy <IP_FROM_DEVICE_WITH_CHARLES_PROXY_INSTALLED>:8888 -avd Nexus_5_API_23
我可以毫无问题地阅读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一起使用:
https://stackoverflow.com/a/35577864/2832027
这是非常不可靠的。 如果模拟器工作正常,则需要将模拟器放入和退出飞行模式,然后停止工作。
以下是上述帖子的步骤:
使用/{path to your android sdk directory}/tools/emulator -avd Nexus_5X_API_23 -http-proxy http://192.168.2.38:8888
从终端启动模拟器,其中-avd
值是模拟器的名称,并且-http-proxy
值是Charles的IP地址:帮助> SSL代理>在移动设备或远程浏览器上安装Charles Root证书。
在Charles中,应设置以下内容:Proxy> Proxies 8888应检查Enable transparent proxying
; 应检查代理> macOS代理
在模拟器中,`设置>更多(无线>蜂窝网络>接入点> T-Mobile US(或其他任何网络)将代理设置为10.0.2.2并将端口设置为8888
在模拟器中,应启用Settings > Developer Options > Use legacy DHCP
客户端”。
在仿真器中,打开和关闭飞行模式
另外,如果您在Charles使用Android 7(API 24)及更高版本时遇到问题,请参阅此内容。 https://android.jlelse.eu/android-nougat-charlesing-ssl-network-efa0951e66de
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.