如何利用adb对app进行抓包

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

 

   

posted @ 2020-05-05 13:34  老僧观天下  阅读(8902)  评论(1编辑  收藏  举报