当前位置: 首页 > news >正文

安卓模拟器BlueStacks+TCPdump对APP抓包分析

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

安卓模拟器BlueStacks+TCPdump对APP抓包分析 博客分类: 抓包  

最近要搞安卓APP抓包分析,在网上找了一些方法,综合一自身条件下还是安卓模拟器+tcpdump最方便。

需准备工具:

1、Microsoft .NET Framework 2.0 SP2
2、Bluestack 0.7.5.2700
3、Bluestack 0.7.5.2700 Root镜像
4、调试用的adb程序
5、Wireshark之类的分析工具
6、待抓包的APP

首先模拟器选用了BlueStacks,要想使用tcpdump必须要Root,所以还要找一个BlueStacks Root镜像来覆盖掉原来的镜像,我这里选用了Bluestack 0.7.5.2700然后下载对应版本的Root镜像,具体可以参照这个网站http://www.ptbus.com/view/41515/ 

其中Bluestack 0.7.5.2700要求Microsoft .NET Framework 2.0 SP2,先安装一下Microsoft .NET Framework 2.0 SP2,然后安装Bluestack 0.7.5.2700,默认下一步即可,然后下载对应版本BlueStacks Root镜像,解压得到一个Root.fs,如图:

然后找着BlueStacks安装路径中的Root.fs替换掉,快速办法是在硬盘中搜索,如图:

接着重启BlueStacks效果如下图:

接着安装你要抓包的APP,此时apk文件默认用BlueStacks来安装:

 

安装完毕后,可以在模拟器中My Apps中找着之前安装的app,如图:

接下来准备一个调试用的adb程序,可以在Android SDK里找到,路径为sdk/platform-tools/adb.exe,准备完毕下面开始抓包。

运行cmd,切换到adb程序所在的目录,依次执行以下命令开始抓包:

 

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
 
  1. adb shell  
  2. su  
  3. /system/xbin/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap  

 

 

然后你可以模拟器中运行你的app,以便抓取数据包,效果如图:

抓包过程中你可以使用Ctrl+C可以中断抓包,抓包完毕后使用以下命令将将抓包的结果capture.pcap发送到本地:

 

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
 
  1. adb pull /sdcard/capture.pcap D:/  


 

其中D:/是文件保存的位置,最后用Wireshark之类的工具对抓到的封包进行分析即可。


转载请注明:http://blog.csdn.net/wangqiuyun/article/details/39545623

转载于:https://my.oschina.net/xiaominmin/blog/1597615

相关文章:

  • maven scope含义的说明
  • Javac编译器源代码分析
  • 物极必反,滥用闭包的结果就是回归结构化编程
  • 2017 年终总结 —— 在路上
  • 加密算法(对称加密)AES、DES (非对称加密)RSA、DSA
  • Hadoop集群(第10期)_MySQL关系数据库
  • python学习笔记(四)字符串及字符串操作
  • 【Dalston】【第六章】API服务网关(Zuul) 下
  • 解决 Nginx + PHP-FPM (Permission denied)报错的办法
  • sqlvarchar后自动填充空格解决办法(SET ANSI_PADDING)
  • 当文本输入框和是否勾选在同一列表时,你懵圈了吗
  • 01月03日三周二次【Python基础进阶】
  • linux下SVN忽略文件/文件夹的方法
  • Docker Registry Server 搭建,配置免费HTTPS证书,及拥有权限认证、TLS 的私有仓库
  • 5 秒创建 k8s 集群 - 每天5分钟玩转 Docker 容器技术(115)
  • 〔开发系列〕一次关于小程序开发的深度总结
  • android图片蒙层
  • E-HPC支持多队列管理和自动伸缩
  • es6--symbol
  • ES6语法详解(一)
  • Github访问慢解决办法
  • javascript面向对象之创建对象
  • Java反射-动态类加载和重新加载
  • JS题目及答案整理
  • Object.assign方法不能实现深复制
  • php中curl和soap方式请求服务超时问题
  • SAP云平台里Global Account和Sub Account的关系
  • uni-app项目数字滚动
  • windows下使用nginx调试简介
  • 浮动相关
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 面试总结JavaScript篇
  • 区块链技术特点之去中心化特性
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 使用parted解决大于2T的磁盘分区
  • 一文看透浏览器架构
  • 做一名精致的JavaScripter 01:JavaScript简介
  • MyCAT水平分库
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (10)ATF MMU转换表
  • (C)一些题4
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (翻译)terry crowley: 写给程序员
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (转)Sublime Text3配置Lua运行环境
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .bat文件调用java类的main方法
  • .Net Core webapi RestFul 统一接口数据返回格式