[英]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.