1. tcpdump + wireshark

1.1 tcpdump抓包

注意: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 ./

1.2 wireshark分析

打开已安装的wireshark,文件——打开本地的dedao.pcap。

可以看到列表内有非常多的通讯信息,不过可以用wireshark的筛选功能只显示我们想要的数据。

在筛选器中输入http.host contains "dedao.com",回车,即可符合条件的数据。

接下来查看流量大小。

计算总流量

右键一个请求,选择追踪流—— TCP流,会弹出一个“追踪TCP流”的窗体。

红框圈中的位置,会有三个选项,依次是总流量,总上行流量,总下载流量。

所以这里可以看到本次抓包的全部流量,(前提是只有一个服务器,如果多个服务器,相加计算)

计算单个请求的流量

在选择追踪流—— TCP流后,列表已经自动改变查询条件,显示是你选择请求所在tcp流的所有数据。

选择统计——端点

勾选显示过滤器的限制,切换到TCP和UDP标签,分别查看流量大小,相加

2. 腾讯GT

下载GT for Android

很简单,不详细描述了。

2.1 选择被调试的应用,并勾选Net指标。

2.2 在参数tab,拖动NET参数到已关注,并勾选。

2.3 启动被测App,操作前,点击GT的悬浮窗的开始录制按钮。开始操作测试场景。

2.4 操作完后,暂停GT的悬浮窗,回到GT参数页面,保存数据到手机。

2.5 pull数据文件到本地,打开.csv文件。最下面的一行即为此次的总流量。

3. 查看手机系统文件

先拿到被测App的UID,如下,10084就是com.UCMobile.trunk应用的UID

[email protected]:/ # cat /data/system/packages.list | grepcom.UCMobile.trunk

com.UCMobile.trunk10084 0 /data/data/com.UCMobile.trunk default 3003,1028,1015

然后,具体获取流量有两个位置。

第一种:

流量数据分为接收流量(tcp_rcv)和发送流量(tcp_snd)两部分,这两个状态数值我们可以通过读取/proc/uid_stat/目录下的两个文件得到。

[email protected]:/ $ cat /proc/uid_stat/10084/tcp_rcv3446837cat /proc/uid_stat/10084/tcp_snd134366

单位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等所有网络流量传输的统计。

但是我的手机这种方式不行,,不管怎么操作被测应用,一直不会变化。。

android 流量测试工具,Android测试流量的几种方法相关推荐

  1. android漏洞检测工具,Android漏洞检测——模糊测试

    前言 Android在目前的市场上占有率很高,用户数量庞大,而在该平台下的应用程序开发成本低,开发难度低,发布容易,缺少监管和审查,导致大量低质量App流入市场,这些App由于开发者缺乏安全编程技能或 ...

  2. Android Gradle 构建工具(Android Gradle Build Tools)是什么?

    转载地址:http://mrfu.me/android/2015/07/17/New_Android_Gradle_Build_Tools/ 译者地址:[翻]一览新的 Android Gradle 构 ...

  3. 测试工具和测试自动化

    文/陈旭盛 人类的进化史和发展史,就是一个不断创造和使用工具的历史.工具是人类想象力的物理呈现,也是社会进步的巨大助力.对于测试而言,工具同样不可或缺,甚至于如果想判断某个厂商的测试水平是处于&quo ...

  4. 转自H3C:测试工具和测试自动化

    人类的进化史和发展史,就是一个不断创造和使用工具的历史.工具是人类想象力的物理呈现,也是社会进步的巨大助力.对于测试而言,工具同样不可或缺,甚至于如果想判断某个厂商的测试水平是处于"蛮荒时代 ...

  5. 四款主流测试工具的测试流程

    主流测试工具的测试流程 WinRunner 1 启动时选择要加载的插件 2 进行一些设置(如录制模式等) 3 识别应用程序的GUI,即创建map(就是学习被测试软件的界面) 4 建立测试脚本(录制及编 ...

  6. 常用的安全渗透测试工具(渗透测试工具)

    常用的安全渗透测试工具(渗透测试工具) 应用程序安全性并不新鲜,但它在需求.复杂性和深度方面正迅速增长.随着网络犯罪自疫情爆发以来增长了近600%,越来越多的SaaS企业开始争相保护他们的应用程序.即 ...

  7. Mac 和 Android 手机之间互传文件,这四种方法简单高效!

    在Windows上,我们常常需要用USB数据线将安卓手机连接到电脑上,然后在手机和电脑之间传输各种文件.但是这种方法对Mac电脑就不怎么起作用了.由于OS X系统的特殊性,许多用户都不知道如何顺利地将 ...

  8. 【Android】Eclipse自动编译NDK/JNI的三种方法

    [Android]Eclipse自动编译NDK/JNI的三种方法 SkySeraph Sep. 18th  2014 Email:skyseraph00@163.com 更多精彩请直接访问SkySer ...

  9. android fragment传递参数_fragment之间传值的两种方法

    在Activity中加载Fragment的时候.有时候要使用多个Fragment切换.并传值到另外一个Fragment.也就是说两个Fragment之间进行参数的传递.查了很多资料.找到两种方法.一种 ...

  10. Java运行非Web的Springboot项目(测试类或启动主类两种方法)

    Java运行非Web的Springboot项目(测试类或启动主类两种方法) 前言 一.创建打开一个Springboot项目 二.运行项目 1.Test测试类运行 2.启动主类运行 三.持续运行不停止( ...

最新文章

  1. CSDN 字体颜色表
  2. ASP.NET中网站访问量统计方法
  3. 查看oracle监听服务状态,(总结)Oracle监听服务lsnrctl参数及查询状态详解
  4. Go_ go mod 命令解决墙的问题
  5. .NET 大数据量并发解决方案
  6. PCI、PCI-X、PCI-E AGP区别
  7. imageNamed 与 imageWithContentsOfFile的区别
  8. MD5加密以及产生唯一的ID
  9. AutoPtr 的局限性
  10. 数据新闻周报:阿尔法狗将挑战德州扑克
  11. 打开应用中SQLite文件的方法
  12. iOS支付指南:POS终端刷卡流程(发卡行返回码)、结算周期、付款码二维码编码规则、脱敏规范、银行卡号有效性校验、扫码验证密码规则、测试辅助工具、【签购单未打印,但持卡人收到扣款信息,商户的处理方案】
  13. 30个有趣的Python实战项目(附源码)
  14. Exchange 2010升级到Exchange 2016汇总
  15. ubuntu 18.04安装Tenda U12驱动
  16. 物流快递管理系统源码
  17. 华为无线网卡无服务器,联通华为无线上网卡连接时连接被终止解决方法 - 小众知识...
  18. android专业拍照软件,安卓最专业的拍照软件排行榜 优质滤镜相机软件推荐
  19. 爬虫不借助浏览器登录_借助Android音乐播放器和旅行组合踏上道路
  20. apq用linux镜像,apq模拟器如何使用 apq模拟器使用方法教程

热门文章

  1. QVariant的强大用法
  2. 自动求导-Automatic differentiation (自动微分
  3. 【POJ3164】Command Network 最小树形图模板题 重修版
  4. 2016 第一篇 之数据库
  5. Java学习笔记: Tomcat基础配置
  6. NASM汇编初探(入门教程)
  7. python可视化拖拽平台_python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例...
  8. 微服务架构之:Redisson分布式可重入锁原理
  9. lapack安装 matlab,Windows Scipy安装:找不到Lapack / Blas资源
  10. 阿里云服务器配置ssl(nginx+springboot)