分类: Android平台
2015-03-26 15:09:35
最近要搞安卓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镜像,具体可以参照这个网站
其中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程序所在的目录,依次执行以下命令开始抓包:
adb shellsu/system/xbin/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap
然后你可以模拟器中运行你的app,以便抓取数据包,效果如图:
抓包过程中你可以使用Ctrl+C可以中断抓包,抓包完毕后使用以下命令将将抓包的结果capture.pcap发送到本地:
adb pull /sdcard/capture.pcap D:/
其中D:/是文件保存的位置,最后用Wireshark之类的工具对抓到的封包进行分析即可。