2013-04-29 47 views
6

場景:我試圖通過代理通過Fiddler請求來調試Android應用程序。爲什麼某些HTTPS請求無法在Fiddler上解密,而有些則有效?

我安裝在Android設備上FiddlerRoot證書和SSL解密適用於大多數請求,但對於其他請求我只能看到HTTPS連接,而不是其他的提琴手日誌。我想認爲它可能是通過SSL解密的圖片請求失敗。

我已經仔細檢查「隱藏圖像」是否關閉等。檢索到的圖像託管在另一個域上,而不是應用程序與主API對話。

什麼可能導致此行爲?我如何獲取圖像請求在Fiddler中顯示?

我正在使用最新的Fiddler4。

+0

什麼是目標域和請求來自哪些應用程序?一些應用程序使用證書釘住,在Fiddler書中討論,以防止中介干預。其他人有錯誤的SSL實現;請參閱http://blogs.msdn.com/b/ieinternals/archive/2009/12/08/aes-is-not-a-valid-cipher-for-sslv3.aspx – EricLaw 2013-04-29 15:07:43

回答

1

有很多關於如何使用Fiddler攔截來自Android的HTTP流量的教程。 嘗試這一個:http://docs.telerik.com/fiddler/configure-fiddler/tasks/configureforandroid

但是,當您嘗試攔截和解密來自應用程序的Android SSL流量而不是瀏覽器時,它會失敗。

可能是應用程序使用證書鎖定 - 而且您可能無法解密此連接。丟失的原因! 但更可能的是,原因是HttpsUrlConnection管道實現中的一個錯誤。

爲了解決這個問題,請繼續執行以下步驟:

  1. 在提琴手點擊「規則 - >自定義規則」;
  2. 腳本
  3. 添加查找功能OnBeforeResponse下面的代碼函數體:

    if (oSession.oRequest["User-Agent"].indexOf("Dalvik") > -1 && 
        oSession.HTTPMethodIs("CONNECT")) { 
        oSession.oResponse.headers["Connection"] = "Keep-Alive"; 
    } 
    
  4. 保存文件並重新啓動提琴手。

相關問題