如何利用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

 

   


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM