一,使用场景:我们常使用的抓包工具有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