标签:push 数据 结束 选择 查询条件 card wlan 流量测试 保存
注意:Android设备使用tcpdump需要root权限
tcpdump是一个在Unix-like系统中通用的网络抓包工具,当然,这个工具在Android系统中也是可以使用的。
先去下载Android系统使用的tcpdump工具
下载地址:http://www.androidtcpdump.com/
下载后,push到手机设备上,如:
abd push tcpdump /data/local/tmp/tcpdump
tcpdump命令支持许多参数,常见的有:
-i指定网卡(interface),any表示不限网卡; -c指定接收的packets数量,接收完成后自动停止抓包; -w指定输出文件,输出文件的格式为pcap; -s(--snapshot-length)指定在每个packet中最多截取的字节数,设置为0时表示截取上限取默认值262144; -v/-vv/-vvv,指定输出的详细程度,针对流量测试,我们不需要非常详尽的输出数据,取-v即可。
看完上面的参数,我们在terminal执行以下命令:
adb shell su -c /data/local/tmp/tcpdump -v -i any -s 0 -w /sdcard/dedao.pcap
tcpdump开始采集后,在手机执行测试场景,执行完毕后,control + c 结束采集。
然后运行下面命令把.pcap文件down下来:
adb pull /sdcard/dedao.pcap ./
打开已安装的wireshark,文件——打开本地的dedao.pcap。
可以看到列表内有非常多的通讯信息,不过可以用wireshark的筛选功能只显示我们想要的数据。
在筛选器中输入http.host contains "dedao.com",回车,即可符合条件的数据。
接下来查看流量大小。
计算总流量
右键一个请求,选择追踪流—— TCP流,会弹出一个“追踪TCP流”的窗体。
红框圈中的位置,会有三个选项,依次是总流量,总上行流量,总下载流量。
所以这里可以看到本次抓包的全部流量,(前提是只有一个服务器,如果多个服务器,相加计算)
计算单个请求的流量
在选择追踪流—— TCP流后,列表已经自动改变查询条件,显示是你选择请求所在tcp流的所有数据。
选择统计——端点
勾选显示过滤器的限制,切换到TCP和UDP标签,分别查看流量大小,相加
下载GT for Android
很简单,不详细描述了。
2.1 选择被调试的应用,并勾选Net指标。
2.2 在参数tab,拖动NET参数到已关注,并勾选。
2.3 启动被测App,操作前,点击GT的悬浮窗的开始录制按钮。开始操作测试场景。
2.4 操作完后,暂停GT的悬浮窗,回到GT参数页面,保存数据到手机。
2.5 pull数据文件到本地,打开.csv文件。最下面的一行即为此次的总流量。
先拿到被测App的UID,如下,10084就是com.UCMobile.trunk应用的UID
root@hammerhead:/ # cat /data/system/packages.list | grep com.UCMobile.trunk com.UCMobile.trunk 10084 0 /data/data/com.UCMobile.trunk default 3003,1028,1015
然后,具体获取流量有两个位置。
第一种:
流量数据分为接收流量(tcp_rcv)和发送流量(tcp_snd)两部分,这两个状态数值我们可以通过读取/proc/uid_stat/<UID>
目录下的两个文件得到。
shell@hammerhead:/ $ cat /proc/uid_stat/10084/tcp_rcv 3446837 shell@hammerhead:/ $ cat /proc/uid_stat/10084/tcp_snd 134366
单位bytes,这个数据是累加的,除非卸载应用才会被删除。否则会一直增加。
所以测试前记录下数字,测试完后减去记录的数字就是流量大小。
还有,这种方式只能获取TCP协议的流量,UDP的没有计算。。
第二种:
adb shell cat /proc/net/xt_qtaguid/stats | grep 10084
48 wlan0 0x0 10127 0 316574 2279 472562 3651 316574 2279 0 0 0 0 472562 3651 0 0 0 0 49 wlan0 0x0 10127 1 6172960 4936 415951 5215 6172960 4936 0 0 0 0 415951 5215 0 0 0 0 50 wlan0 0x3792d5b400000000 10127 0 29678 208 32168 296 29678 208 0 0 0 0 32168 296 0 0 0 0 51 wlan0 0x3792d5b400000000 10127 1 226170 222 25745 265 226170 222 0 0 0 0 25745 265 0 0 0 0 56 wlan0 0xfa1dcc4b00000000 10127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 57 wlan0 0xfa1dcc4b00000000 10127 1 3014885 2127 139857 2117 3014885 2127 0 0 0 0 139857 2117 0 0 0 0
其中第6和8列为 rx_bytes(接收数据)和tx_bytes(传输数据)包含tcp,udp等所有网络流量传输的统计。
但是我的手机这种方式不行,,不管怎么操作被测应用,一直不会变化。。
标签:push 数据 结束 选择 查询条件 card wlan 流量测试 保存
原文地址:http://www.cnblogs.com/xiaoluosun/p/6024030.html