一,使用場景:我們常使用的抓包工具有fiddler和Charles,但是有的時候我們設置完代理后無法聯網或者抓取不到的這種情況,那么我可以使用adb 進行抓包
二,1,抓取socket請求:
我們先使用adb shell "ps|包名" 如:adb shell "ps|grep com.dangdang.buy2"。過濾包名的方法:adb shell dumpsys activity | find "mFocusedActivity"
此命令可以過濾出該應用的進程號PID,如圖:

接着執行adb shell 進入系統內部,執行logcat | grep PID(4763)

最后的結果:(這是對socket進行的抓取)

如果中文出現亂碼,可以在cmd中執行“chcp 65001”命令,將編碼改為UTF-8,防止中文顯示亂碼問題,如果出現chcp不是內部或者外面命令就需要在path中添加:C:\WINDOWS\system32
2,抓取http或者https請求:
步驟1,獲取包名
步驟2,過濾進程
步驟3,adb shell logcat |grep 5303 | grep https > d:\test\tv.txt (過濾https直接把日志寫入到指定的文檔中)
過濾http請求也是一樣的adb shell logcat |grep 5303 | grep http > d:\test\tv.txt
還可以添加時間進行抓取:adb shell "logcat -v threadtime |grep 5303 | grep https" > d:\test\tv.txt
