adb對安卓app進行抓包(ip連接設備)
一,首先將安卓設備的開發者模式打開,提示允許adb調試
二,自己的筆記本要和安卓設備在同一個網段下(同連一個WiFi就可以了)
三,在筆記本上根據ip來連接安卓設備:adb connect 192.168.1.11
輸入adb devices查看剛剛連接的設備
四,查找包名
輸入adb shell 進入剛剛連接的device的shell,再輸入pm list packages查看安卓設備安裝了哪些包
也可以根據關鍵字查找包名pm list packages | grep tencent
五,抓取app包的數據請求
1,抓取socket請求:
我們先使用adb shell "ps|包名" 如:adb shell "ps|grep com.dangdang.buy2",過濾包名的方法:adb shell dumpsys activity | find "mFocusedActivity"
此命令可以過濾出該應用的進程號PID,如圖:
接着執行adb shell 進入系統內部,執行logcat | grep PID,這里的pid是4763
最后的結果:(這是對socket進行的抓取)
如果中文出現亂碼,可以在cmd中執行“chcp 65001”命令,將編碼改為UTF-8,防止中文顯示亂碼問題,
如果出現chcp不是內部或者外面命令就需要在path中添加:C:\WINDOWS\system32
2,抓取http或者https請求:
步驟1,獲取包名
步驟2,過濾進程
步驟3,adb shell logcat |grep 4763 | grep https > d:\test\tv.txt (過濾https直接把日志寫入到指定的文檔中)
過濾http請求也是一樣的adb shell logcat |grep 4763 | grep http > d:\test\tv.txt
還可以添加時間進行抓取:adb shell "logcat -v threadtime |grep 5303 | grep https" > d:\test\tv.txt