1. 程式人生 > >Android裝置的網路抓包方案

Android裝置的網路抓包方案

1.核心思路

  1. 向系統申請獲取裝置的root許可權
  2. 通過Android API,執行adb shell命令來操作tcpdump,實現抓包

2.tcpdump的使用

2.1 檢視手機中是否內建了tcpdump

    C:\Users>adb shell
    [email protected]_wet_tdd:/ $ type tcpdump
        type tcpdump
        tcpdump is /system/xbin/tcpdump //這裡便是tcpdump所在的路徑(我這裡用的是小米裝置)

2.2 解決部分裝置中沒有tcpdump的問題

tcpdump下載地址

    C:\Users>adb push C:\Users tcpdump /data/local/tcpdump
    C:\Users>adb shell chmod 6755 /data/local/tcpdump(賦予tcpdump執行許可權)

2.3 操作tcpdump進行抓包

  1. adb shell
  2. su(只有獲取到root許可權才能進行抓包)
  3. tcpdump -p -vv -s 0 -w /sdcard/capture.pcap(對於系統內建的)
  4. /data/local/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap(對於手動上傳的需要手動指定tcpdump所在路徑)

3.原始碼和APK的下載連結

原始碼下載地址
APK下載地址

4.待完成任務

  1. TODO 顯示檔案的儲存路徑
  2. TODO 顯示捕獲時間
  3. TODO 對於未安裝tcpdump的裝置進行推送捕獲
  4. TODO 核心程式碼分析