抓包准备

1. Android手机需要先获得root权限。一种是否获得root权限的检验方法:安装并打开终端模拟器(可通过安卓市场等渠道获得)。在终端模拟器界面输入su并回车,若报错则说明未root,若命令提示符从$变#则为rooted;因使用的是车镜产品,通过wifi方式连接,故直接输入以下步骤即可,

adb connect x.x.x.x ---> adb root  --->  adb connect x.x.x.x --->adb remount --->adb connect x.x.x.x

抓包步骤

1、 将Android手机与电脑USB相连(或WiFi连接),打开windows命令提示符窗口

2、adb root

3、adb remount

4、. 将tcpdump程序copy至android手机(该命令前面那个目录文件为本地地址,后面那个目录为目的手机端地址)

C:\android-sdk-windows\platform-tools>adb push c:/tcpdump /data/local/tcpdump

5、修改tcpdump的权限

C:\android-sdk-windows\platform-tools>adb shell

#chmod 777 /data/local/tcpdump

6、运行tcpdump,输入以下命令启动抓包(指令相关参数请自行百度)。

cmd窗口实时打印指令:/data/local/tcpdump -p -vv -s 0 -C 100 -w /sdcard/capture.pcap

**:通过cmd窗口运行后台指令:/data/local/tcpdump -p -vv -s 0 -C 100 -w /sdcard/capture.pcap  &

**:杀掉tcpdump后台运行指令:ps(查看tcpdump的PID号)--->kill  PID

7、在手机端执行相应需要进行抓包分析的操作,执行完成后在命令提示符窗口执行Ctrl+C中断抓包进程

8、将抓包结果复制至本地(前面那个目录为手机端地址,后面那个目录为本地地址),或通过拷贝的方式进行粘贴复制到电脑端

C:\android-sdk-windows\platform-tools>adb pull /sdcard/capture.pcap c:/

9、使用Wireshark工具查看抓包文件capture.pcap

合并多个文件

由于通过tcpdump抓取的数据量过多,文件有很多,需要合并文件后才好进行用工具分析,所以这里要合并下抓取的文件

进入Wireshark根目录

D:\Program Files\Wireshark>mergecap.exe -w C:\Users\admin\Desktop\00\pp.pcap C:\Users\admin\Desktop\00\1530.pcap*

使用Wireshark工具分析

1.经tcpdump脚本抓取的数据,通过wireshark工具分析,并通过过滤IP地址(指令为:ip.src==x.x.x.x[src为发送;dst为接收]),统计得出xx应用所消耗的流量为xxxBytes

2.软件下载安装,见度娘

3.通过过滤条件进行过滤

点击wireshark工具的“Statistics”-->“EndPoint”,勾选“Limit to display filter”选项,如下图所示


统计的应用消耗流量1

点击“统计”-->“已解析的地址”,查看已解析的地址和域名


IP地址和域名

点击“统计”-->“conversatioss”,查看IP地址包的流量消耗大小bytes


IP地址包消耗流量大小

IP地址和域名对应消耗流量大小对比


流量分析

总结:

1、此次在原计划抓包采集流量数据是在物联网卡(SIM卡)的基础上执行,但因抓取的数据在wireshark工具上分析是空白(局域网的数据),故放弃此方法

2、采用WiFi热点的方式进行抓包采集流量数据,操作步骤见下图


流量统计

参考资料:

1.http://blog.51cto.com/fangxin/735178