摘要在逆向分析以及移動端開發的時候,總會需要對APP的網絡行為進行監控測試,本文總結一些抓包思路,並對其使用方法進行實踐在抓包界,Wireshark 應該算是綜合排名第一的工具(其實 Wireshark 自帶的命令行工具 tshark 更牛逼)本文總結記錄瞭 5 種抓包方式,掌握其一即可進行實踐,歡迎大傢一起交流分享1 、基於 Wireshark實驗步驟:1.1 在電腦主機上使用獵豹 Wifi之類的工具,開啟熱點,將所要測試的手機連接該熱點,記錄其IP地址1.2 使用 Wireshark 對以上 IP 地址進行捕獲Capture——Options1.3 總結該方法簡單粗暴高效,可以將捕獲的數據包隨時保存下來,便於後續分析或者進行 PCAP 可視化分析。關於命令行工具 tshark 在此不做贅述,感興趣的讀者自行研究。2、基於 tcpdump實驗環境:下載安裝 Genymotion 安卓虛擬機,在該模擬器環境種進行實踐操作(基於實體手機亦然,前提是手機必須得 ROOT)筆者僅在 Android 系統下測試,未在 iOS 系統下實驗實驗步驟:2.1 說明模擬器中自帶的 tcpdump 工具,位於:/system/xbin/ 目錄下2.2 數據包捕獲可以通過 adb shell 命令在 CMD 模式下連接模擬器,su 到 root 模式進行抓包#!bash
tcpdump -vv -s 0 -i eth1 -w /sdcard/capture.pcap
參數說明:-vv:獲取詳細的包信息(註意是兩個 v 不是 w)-s 0:不限數據包的長度,如果不加則隻獲取包頭-w xxx.pcap:捕獲數據包名稱以及存儲位置(本例中保存在 sdcard 路徑下,數據包名為 capture.pcap)-i eth1:捕獲制定的網卡(在 genymotion 虛擬機中,使用 busybox ifconfig 命令可以查看相關信息,一般 genymotion 的 ip 地址都為 10.xx.xx.x)如果你想指定捕獲的數據包長度,可以使用 -c 參數(例如 -c 128) 捕獲結束,直接按 Ctrl + C 即可2.3 數據分析將捕獲到的數據包拖到本地使用 Wireshark 進行查看:#!bash
adb pull /sdcard/capture.pcap C:\tmp
TIPS:將數據包文件 push 到手機上命令為#!bash
adb push C:\tmp\capture.pcap /sdcard/
3、基於 Fiddler 4實驗步驟:3.1 下載 FIddler 43.2 設置 Fiddler 4打開Fiddler,Tools-> Fiddler Options (配置完成記得重啟 Fiddler)3.3 設置手機代理首先,獲取安裝 Fiddler 4 的 PC 對應的 IP 地址(ipconfig):確保手機和 PC 是連接在同一個局域網中!!!下面對手機進行設置(筆者使用小米測試機):點擊手機中“設置”——Wi-Fi——選擇已經連接的wifi——代理設置改為手動下載 Fiddler 的安全證書使用手機瀏覽器訪問:http://10.2.145.187:8888,點擊"FiddlerRoot certificate",然後安裝證書即可。至此,已經全部設置完畢。3.4 數據包捕獲重新打開 Fiddler 4,然後打開手機中的瀏覽器,訪問任意網址,Fiddler 抓包信息如下:Enjoy!4、 基於 Charles實驗環境:win7 + Charles v3.11一般使用 Charles 都是基於 MAC OS ,筆者在 mac 平臺以及 windows 平臺均試驗過,操作過程和思路基本一致,因此,本文以 win7 為測試環境實驗步驟:4.1 捕獲 http 數據包手機設置代理:打開 Charles 即可捕獲數據包(Proxy —— Proxy Settings):4.2 捕獲 https 數據包手機端安裝證書:Android 手機或者 iPhone 均可直接訪問 http://www.charlesproxy.com/ssl.zip ,然後根據圖示點擊證書安裝設置 Charles:選擇 Proxy —— SSL Proxying Settings —— Locations —— Add在彈出的表單中填寫 Host 域名(也就是你想要抓包鏈接的主機名),以及對應的 Port 端口(此處相當於過濾作用)當然,你可以采用更加粗暴的方式:使用通配符,例如你想要捕獲所有的 https 包,這裡也可以直接都為空,表示捕獲所有的主機和端口;或者都分別填“*”星號,匹配所有的字符,捕獲所有的 https。5、基於 Burpsuite實驗步驟:5.1 捕獲 http 數據包PC 端 Burpsuite 設置:手機端代理設置方法同以上 3.3 4.1打開 Burpsuite 即可捕獲 http 數據包:5.2 捕獲 https 數據包手機端設置好代理之後,使用瀏覽器訪問:http://burp/此處存在一個問題:下載的證書是 der 格式的,我們手機端安裝的是 crt 格式的,需要使用 firefox 瀏覽器轉一下格式:可以首先在 Brupsuite 中導出 der 格式證書,然後導入火狐瀏覽器,然後從火狐瀏覽器導出證書格式為 crt打開火狐瀏覽器:工具——選項——高級——證書——查看證書成功捕獲 https 數據包6、總結當我們停止捕獲數據包時,將Fiddler 或 Charles 關閉,此時手機端是無法正常訪問網絡的,因為設置瞭代理,這時候需要將代理關閉,即可正常瀏覽網頁對於大多數走代理的應用可以選擇 Fiddler 或 Charles,無需 root,一次配置,終身使用;對於不走代理的 App 可以利用 tcpdump 捕包,然後使用 Wireshark 查看;最簡單便捷的便是第一種方法「0x01. 基於 Wireshark」以上所有工具各有優劣,讀者可以根據工作環境,按需使用,個人覺得一般情況下使用 Wireshark + Fiddler 或者 Wireshark + Charles 即可完成各平臺的抓包分析任務以上工具中隻有BurpSuite可以對抓包過程進行交互式操作;Wireshark支持的協議最多,也更底層,功能強大,但過於沉重對於本文涉及的相關工具的安裝、設置、破解、詳細使用,不在本文討論范圍之內(Charles 免費版其實還比較厚道,如果重度需要,建議購買正版),本文旨在淺析捕獲移動終端數據包的方法和思路。Original reprint::https://wooyun.kieran.top/#!/drops/1024.淺析手機抓包方法實踐
本文出自快速备案,转载时请注明出处及相应链接。
本文永久链接: https://www.175ku.com/41707.html