現在對app數據的抓取越來越急迫了,需要對app訪問數據接口進行抓取。採用夜神模擬器+Fiddler的方式可以方便的對app訪問接口進行抓取。有接口地址之後,還需要分析分析風控策略,比如籤名規則,是否需要cookie等,任重而道遠。
推薦使用windows作業系統,因為夜神模擬器對windows系統支持的更好,對mac也有支持但是不如windows好,支持情況詳細看下圖。
1 安裝夜神模擬器
從官網(https://www.yeshen.com/)下載windows版本直接下載安裝就好了。安裝完成後界面如下圖。
默認啟動時是平板版,可以從設置裡面設置為手機版,設置後需重啟模擬器。
2 安裝Fiddler
從官網(https://www.telerik.com/fiddler)下載安裝,即可。安裝之後設置代理埠為8866,埠可設置為任意未被暫用的埠,後面會用到。
3 使用Fiddler抓取app調用的地址
打開夜神模擬器->設置->WLAN->WiredSSID,點擊選擇「修改網絡」,點擊「高級設置」,設置代理為「手動」。
正常情況下大部分app訪問接口情況就可以從Fiddler裡面看到了。
4 可能遇到的問題
連接代理之後可能有些APP無法連接網絡了,也可能會報一個錯誤,提示證書驗證失敗。這個提示從windows下看到過,mac沒有看到提示,可以查詢Fiddler日誌。這個日誌在Fiddler安裝目錄下的Logs文件夾netcore.log文件裡面。
[Information] [Fiddler] !SecureClientPipeDirect failed: System.Security.Authentication.AuthenticationException Authentication failed, see inner exception. < 處理證書時,出現了一個未知錯誤。for pipe (CN=woodpecker.uc.cn, O=DO_NOT_TRUST_BC, OU=Created by http://www.fiddler2.com).
提示證書不可信。
解決辦法:
安裝Xposed框架,安裝之前先確認一下夜神模擬器的安卓版本。Xposed支持到安卓5.0,新版夜神模擬器創建安卓系統為Android 7 ,可以在夜神多開器中添加Android 5版的模擬器。
在安卓5中可以安裝Xposed框架。
安卓Xposed之後需要重啟模擬器。然後在模塊裡面安裝JustTrustMe插件。
方框裡面打上勾,然後重啟模擬器。
然後就可以愉快的抓包了。