標籤:

Android應用怎麼繞過Fiddler等抓包工具?

我用Fidder對知乎進行抓包的時候,發現抓不到數據!


啊哈,看來還是有很多人不懂的抓https的包的,我來科普一下,附上超詳細的截圖。先給出結論,知乎的https的包都是可以抓的,並且可以看見明文的請求內容(心急看結果的,直接翻到最後面)。

準備工作:Mac、Charles、一台手機

1、安裝charles ssl證書,代理到本機.

1.1 按圖中步驟點開 Install Charles Root Certificate on a Mobile Devices or Remote Browser...

然後會彈出一個框,框中的IP地址,是你本機的IP。

1.2 代理到這個IP地址+埠號,然後用瀏覽器訪問圖中的Charles證書安裝地址,下載完,安裝證書的時候會彈出個框,隨便填個你記得的名字就行。

2. 找到對應App的Https請求,然後右鍵選擇Enable SSL Proxying。

接下來該享受成功的結果了。沒有Enable ssl proxy的請求打開後都是亂碼,且顯示unknown。enable之後,https前的圖標變成小地球,並且內容也都變成明文了。

下圖是https請求的返回結果,變明文。

最後,如果覺得有用,就給我點個讚唄~~


繞過啊,自己應用內做個 HPKP 機制,服務端證書驗證失敗就不給連接。


HTTPS也是可以抓包的,上面也有人演示了。

回到問題,要繞過Fidder這種抓包工具,那就基於TCP自定義一個上層協議唄。

當然依然還會被tcpdump抓到,所以更進一步的話需要引入一套加密協議內容的規則。

就算加密後,你會發現依然有可能被人抓包破解,到那種時候就看你的應用需要的安全級別再做考慮了


Fiddler抓取HTTPS包需要先安裝一個根證書到你的電腦上,還需要在Android手機上安裝這個根證書。這樣就可以監聽HTTPS數據包了。


建議看下HTTPS相關知識

我剛用Charles可以抓到數據,不過是加密過的,使用了HTTPS


直接傳輸二進位,採用Google protocol buffer


無論怎麼走,都得從一條路走。要想繞過http可以用socket的。但是繞過http又怎樣,不是還有message analyzer嘛!


我現在已經可以抓取知乎的https連接了,但是我在抓取facebook的連接的時候還是提示443


埠 443 , 使用的Https 。 數據是加密的。


那個工具叫Fiddler


就算fiddler抓不到還有tcpdump呢!還是應該從加密上著手


推薦閱讀:

各位互聯網行業的大大們,你認識的最牛的安卓開發者是怎樣的?
Android 已發行多年,移動 App 已經趨近飽和,那麼 Android 開發還會有那麼吃香嗎?
Android 開發中,有哪些坑需要注意?
以手機操作系統為例,我們經常說系統或者某個軟體優化好不好,到底什麼是優化?
金山手機毒霸屏蔽 App 內廣告的做法和 AdBlock 等服務的做法有何不同?是否應該譴責?

TAG:Android開發 |