在对移动数据业务进行质量指标分析的过程中,需要在手机终端侧进行抓包分析。由于Android系统是当前的主流系统之一,因而实现在Android系统手机端进行抓包分析对移动数据业务质量指标分析具有重要作用。

方法一:Tcpdump命令抓包

工具准备:

1、root过的android手机

2、Android  的SDK开发工具

3、抓包程序tcpdump   

下载 http://pan.baidu.com/share/link?shareid=375938&uk=3290099006

步骤:

1、我们使用数据线将Android手机连接到电脑端,打开windows命令提示符窗口。使用命令打开Android所在的文件夹,我的是在D盘根目录下,因为我们要使用到Adb.exe,所以我们要一直打开到adb所在目录。

android dump界面 安卓dump手机工具_手机端

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

android dump界面 安卓dump手机工具_Android_02

3、修改tcpdump的权限

(1)先输入adb shell进入权限修改,若是在4.0之后的系统,再输入完adb shell 之后,我们还需要输入su命令,在运行su指令后,手机终端桌面会出现相应提示信息以确认您对root操作的认可。

(2)当出现#后,输入chmod 777 /data/local/tcpdump(tcpdump在手机中的位置)

android dump界面 安卓dump手机工具_android dump界面_03

4、运行tcpdump进行抓包

# /data/local/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap

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

    android dump界面 安卓dump手机工具_android dump界面_04

  2. 将抓包结果复制至本地(前面那个目录为手机端地址,后面那个目录为本地地址)

    android dump界面 安卓dump手机工具_手机端_05

  3. 使用Wireshark等工具查看抓包文件capture.pcap。


方法二:电脑做wifi热点,手机连上后电脑上使用Wireshark抓包

该方法手机无须root,并且适用于各种有wifi功能的手机(IOS、android等)、平板等。只要电脑的无线网卡具有无线承载功能,就可以。方法如下:

1.把电脑的网络做为热点

2.开启wifi热点后,被测手机连接到该热点;

3.启动wireshark,选择做为热点的网卡,点击start开始抓包;

4.操作手机,可以抓取到手机所有与网络交互的数据包,如需停止,直接点击wireshark的stop即可。

方法三:使用fiddler来抓取

此方法只适应于抓取http。此方法的最大优点是,可以拦截发出或者收到的http,可以修改http的request和response数据。因此用此方法可以模拟一些特殊场景(如包无响应、模拟一些很难出现的错误码等)。

此方法最好有一台拥有无线网卡的电脑。

1.电脑和手机连接到同一个局域网下(如电脑和手机连接到同一个wifi下)

2.电脑打开fiddler,在fiddler下,Tools-fiddler options,在connections选项卡下设置监听的端口号和勾选“allow remote computers connect”,点击“ok”

3.手机在wifi的选项下,选择**为“手动”,然后主机名填上电脑的IP地址,端口号填上刚才设置的“8888”后,保存

4.设置完毕之后,直接操作手机就可以在电脑的fiddler上看到http码流。

未完待续~~