1. 前言
大家好蒂萎,我是安果秆吵!
在編寫爬蟲前,我們都需要對目標(biāo)應(yīng)用進行抓包五慈,然后分析一波后纳寂,才能進入到編寫腳本的階段
對于使用 iPhone 的小伙伴來說,日常抓包不要太容易泻拦。PC 端工具毙芜,比如:Charles、Fiddler 完全夠打争拐;「 Stream」是 iOS 端一款非常強大的網(wǎng)絡(luò)抓包應(yīng)用腋粥,界面簡潔的同時功能非常強大
但對于使用 Android 高版本系統(tǒng)的小伙伴來說,抓包就沒那么便利了架曹!由于高版本系統(tǒng)提高了安全策略隘冲,要抓包必須將 CA 證書放置到系統(tǒng)證書目錄下才能進行正常抓包,而用戶安裝的證書默認為用戶證書绑雄,導(dǎo)致很多 App 沒法進行正常抓包
本篇文章將以常見場景介紹 Android 高版本系統(tǒng)抓包的操作步驟
2. 非 Root 設(shè)備
Android 同樣有一款強大的網(wǎng)絡(luò)抓包工具展辞,即:小黃鳥「 HttpCanary 」
具體的操作步驟如下:
2-1 導(dǎo)出 HttpCanary 根證書
安裝小黃鳥 App 后,進入到設(shè)置頁面绳慎,導(dǎo)出 HttpCanary 根證書
類型選擇「 System Trusted(.0) 」
這樣纵竖,HttpCanary 根證書保存到「 內(nèi)部存儲路徑/HttpCanary/cert/...0」目錄下
2-2 安裝 APKPure 和 VMOS Pro 應(yīng)用
VMOS PRO 下載地址:https://apkpure.com/cn/vmos-pro/com.vmos.ggp
PS:由于 VMOS PRO 應(yīng)用格式為 XAPK,這里推薦通過 APKPure 安裝 XAPK 格式的應(yīng)用
2-3 VMOS 導(dǎo)入 RE 應(yīng)用杏愤、目標(biāo)應(yīng)用及 HttpCanary 根證書
打開 VMOS Pro 應(yīng)用靡砌,導(dǎo)入 Root Explorer 應(yīng)用、目標(biāo)應(yīng)用及 HttpCanary 根證書文件
這樣珊楼,VMOS 中就包含了目標(biāo)應(yīng)用通殃、RE 文件管理應(yīng)用,并且 HttpCanary 根證書文件默認被保存到 「 VMOSfiletransferstatio/ 」下
2-4 導(dǎo)入證書到系統(tǒng)證書目錄下
在 VMOS Pro 中厕宗,通過 RE 應(yīng)用將 HttpCanary 根證書文件移動到系統(tǒng)證書目錄下
系統(tǒng)證書目錄:/system/etc/security/cacerts/
2-5 開始抓包
打開小黃鳥 App画舌,在設(shè)置目標(biāo)應(yīng)用中設(shè)置為「 VMSO 」,然后在主界面開啟抓包開關(guān)已慢,最后在 VMOS 中操作目標(biāo)應(yīng)用
目標(biāo)應(yīng)用的網(wǎng)絡(luò)請求都會展示在小黃鳥主界面列表中了
需要補充的是曲聂,小黃鳥 HttpCanary 應(yīng)用中更推薦使用「 平行空間 」進行抓包,但是實際使用過程發(fā)現(xiàn)存在閃退及安裝插件等問題佑惠,不太推薦使用
3. Root 設(shè)備
如果手機已經(jīng)完成 Root朋腋,我們只需要將第三方證書移動(比如:小黃鳥、Charles 等)移動到系統(tǒng)證書目錄即可
這里通過小黃鳥 App 及 Charles 進行講解膜楷,F(xiàn)iddler 類似
3-1 小黃鳥 App 抓包
操作步驟如下:
手機解鎖并 Root
安裝小黃鳥 HttpCanary 應(yīng)用旭咽,并導(dǎo)出 HttpCanary 根證書,格式選擇和上面一樣
通過數(shù)據(jù)線赌厅,拷貝 CA 證書到 PC 上
PC 端下載 adb 并配置環(huán)境變量
通過下面一系列 adb 命令穷绵,將證書 PUSH 到系統(tǒng)證書目錄下
打開小黃鳥應(yīng)用,設(shè)置目標(biāo)應(yīng)用
在小黃鳥主界面點擊抓包按鈕特愿,即可以對目標(biāo)應(yīng)用進行抓包了
# 授予adb root權(quán)限
adb root
# 禁用系統(tǒng)驗證
adb disable-verity
# 重啟手機
adb reboot
# 授予adb root權(quán)限
adb root
# 在將文件 push 到 '/system' 文件夾之前仲墨,必須先輸入命令 'adb remount'
adb remount
# 拷貝證書到/system/etc/security/cacerts/下面
# adb push 87bc3517.0 /system/etc/security/cacerts/
# 重啟
adb reroot
# 查看是否包含導(dǎo)入的CA證書
adb root
adb shell
cd /system/etc/security/cacerts/
ls
3-2 Charles 抓包
操作步驟如下:
Charles 在幫助中下載證書(比如:CER 證書),通過數(shù)據(jù)線拷貝到手機上
-
在文件管理中找到這個證書手動進行安裝
默認會安裝到用戶證書中
安裝目錄:/data/misc/user/0/cacerts-added/
使用下面 adb 命令開啟手機 system 目錄的讀寫權(quán)限
-
安裝 RE 文件管理應(yīng)用并授予 Root 權(quán)限洽议,將上面的證書從用戶證書目錄移動到系統(tǒng)證書目錄下
系統(tǒng)的證書目錄:/system/etc/security/cacerts
重啟手機
-
抓包測試
查看 PC 端的 ip 地址宗收,手機保持在同一局域網(wǎng),然后設(shè)置為手動代理亚兄,最后抓包進行測試
# 以 root 權(quán)限執(zhí)行
adb root
# 禁用系統(tǒng)驗證
adb disable-verity
# 重啟手機
adb reboot
# 以 root 權(quán)限運行
adb root
# 重新掛載
adb remount
4. 最后
上面以手機是否 Root 簡單闡述了高版本 Android 系統(tǒng)各種場景的抓包流程
除了上面的抓包方式混稽,還有很多方案可以選擇。對于 Root 設(shè)備我們可以安裝 Magisk 面具审胚,再配合 movecert 模塊進行抓包匈勋;或者我們也可以通過 EdXposed 框架 + trustmealredy 模塊進行抓包,實際工作中膳叨,我們可以根據(jù)需求自行選擇適合自己的方式
如果你覺得文章還不錯洽洁,請大家 點贊、分享菲嘴、留言 下饿自,因為這將是我持續(xù)輸出更多優(yōu)質(zhì)文章的最強動力汰翠!
推薦閱讀
教你用 Python 快速批量轉(zhuǎn)換 HEIC 文件