2016-07-21 90 views
4

我想分析我爲Android開發的應用的https流量。
Charles Web Debugging Proxy是我想用來做這件事的工具。我有以下系統configuartion:如何使用Charles Proxy分析來自Android 6模擬器的https流量

  • 的Mac OS X埃爾卡皮坦版本10.11.5
  • 的Android 2.1.2工作室
    • 構建#AI-143.2915827,建於2016年5月26日
    • Android SDK工具25.2.0 RC1
    • 平臺版本:API 24:Android的6.X(N)修訂版2
  • 查爾斯網調試代理v 3.11.5 30天試用版

我已經在StackOverflow上閱讀了幾篇文章,例如,

但我仍沒有達到我的目標。我經歷了所有的重要步驟走:安裝

  • 查爾斯根證書,並加入到最大OS X鑰匙串和信任
    • 開放代理設置:代理 - >代理服務器設置,代理選項卡,勾選「啓用透明的HTTP代理」
    • 打開SSL代理服務器設置:代理 - > SSL代理設置,SSL代理選項卡,勾選‘啓用SSL代理的’
  • Android模擬器從Android Studio中的終端開始由從http://charlesproxy.com/getssl
  • 或證書由查爾斯代理保存安裝
  • 證書,通過轉換來的OpenSSL和.CRT安裝模擬設備上

我可以閱讀查爾斯代理的所有HTTP通信,沒有任何問題。我也可以閱讀https流量,但是 Charles只列出IP地址。有條目,如

https://173.194.65.188:5228 

所以IP地址沒有解決。如何獲得真正的https網址?我是否必須在某處激活DNS的https?

+1

我有查爾斯列出IP地址,而不是主機名相同的問題。 Mac OS Sierra 10.12.2(16C67),Android Studio 2.2.3,仿真器是Nexus 6P API 23,Charles 3.11.6(Licensed) –

回答

2

我也發現這是一個問題。當我想通過Charles Proxy調試網絡流量時,我的解決方案是切換到Genymotion仿真器。 Genymotion模擬器將爲您提供Charles中的url(s)與ip(s)。

在Genymotion仿真器中,您將Wifi代理主機名配置爲'10 .0.3.2',代理端口輸入'8888'(*假設端口8888是您在Charles Proxy中配置的監聽端口)。

+0

但Genymotion仿真器與Android相比非常慢。 – DYS

0

有指示,讓Android模擬器的工作與查爾斯在這裏:

https://stackoverflow.com/a/35577864/2832027

這是相當不可靠的。如果模擬器正在工作,然後停止工作,則需要將模擬器放入和退出飛行模式。

下面是從上述職位步驟:

  1. 開始從/{path to your android sdk directory}/tools/emulator -avd Nexus_5X_API_23 -http-proxy http://192.168.2.38:8888終端模擬器,其中-avd值是您 仿真器的名稱和-http-proxy值是從查爾斯的IP地址: 幫助> SSL代理>在移動設備上安裝查爾斯根證書 設備或遠程瀏覽器。

  2. 在查爾斯,下面應設置: 代理>代理8888 Enable transparent proxying應該是 檢查;代理> MACOS代理應檢查

  3. 在仿真器中, `設置>更多(無線>蜂窩網絡>接入點> T-Mobile美國(或任何其它網絡是存在的)設定代理到 10.0.2.2和端口8888

  4. 在仿真器中,Settings > Developer Options > Use legacy DHCP客戶端應該是對。

  5. 在仿真器中,打開飛行模式和關閉

此外,如果您有問題讓Charles在Android 7(API 24)及更高版本上工作,請參閱此處。 https://android.jlelse.eu/android-nougat-charlesing-ssl-network-efa0951e66de

相關問題