当前位置: 首页 > news >正文

Android 通过adb命令查看应用流量

一.  获取应用pid号

        通过adb shell ps -A  |  grep 包名  来获取app的 pid号

二.  查看应用流量情况

        使用adb shell cat /proc/#pid#/net/dev 命令 来获取流量数据

备注:

Recevice: 表示收包
Transmit:  表示发包
bytes: 表示收发的字节数
packets: 表示收发正确的包量
errs: 表示收发错误的包量
drop: 表示收发丢弃的包量

wlan0: 表示代表的是wlan端口,wifi流量就是用的这个Interface

三.  计算使用流量

1. 先记录此时的流量情况

2. 然后操作业务场景,再记录一次流量情况

3. 前后数据相减就得到了流量使用,这里用的单位是byte  然后换成M(兆)即可

四.  网络流量诊断情况

指定 netstats 服务可提供自设备上次启动以来收集的网络使用情况统计信息。若要输出额外信息,如详细的唯一用户 ID (UID) 信息,请包含 detail 选项,如下所示:

#查看设备开机以来各应用流量的使用情况
adb shell dumpsys netstats detail#查看各应用历史流量使用情况
adb shell dumpsys netstats --full --uid --tag

输出内容因连接的设备上搭载的 Android 版本不同而异。以下部分介绍您通常会看到的信息类型。

活动接口和活动 UID 接口

以下示例输出内容中列出了连接的设备的活跃接口和活跃 UID 接口。在大多数情况下,活跃接口和活跃 UID 接口的信息是相同的。

Active interfaces:iface=wlan0 ident=[{type=WIFI, subType=COMBINED, networkId="Guest"}]
Active UID interfaces:iface=wlan0 ident=[{type=WIFI, subType=COMBINED, networkId="Guest"}]
“Dev”和“Xt”统计信息

以下是 Dev 统计信息部分的示例输出:

Dev stats:Pending bytes: 1798112History since boot:ident=[{type=WIFI, subType=COMBINED, networkId="Guest", metered=false}] uid=-1 set=ALL tag=0x0NetworkStatsHistory: bucketDuration=3600st=1497891600 rb=1220280 rp=1573 tb=309870 tp=1271 op=0st=1497895200 rb=29733 rp=145 tb=85354 tp=185 op=0st=1497898800 rb=46784 rp=162 tb=42531 tp=192 op=0st=1497902400 rb=27570 rp=111 tb=35990 tp=121 op=0
Xt stats:Pending bytes: 1771782History since boot:ident=[{type=WIFI, subType=COMBINED, networkId="Guest", metered=false}] uid=-1 set=ALL tag=0x0NetworkStatsHistory: bucketDuration=3600st=1497891600 rb=1219598 rp=1557 tb=291628 tp=1255 op=0st=1497895200 rb=29623 rp=142 tb=82699 tp=182 op=0st=1497898800 rb=46684 rp=160 tb=39756 tp=191 op=0st=1497902400 rb=27528 rp=110 tb=34266 tp=120 op=0

上面log信息是用于统计设备总流量情况

St=1497895200  是时间戳,转化成北京时间为:2017-06-20 03:00:00

bucketDuration=3600  单位是秒   就是每隔1小时记录一次流量使用

UID 统计信息

以下是每个 UID 的详细统计信息的示例:

UID stats:Pending bytes: 744Complete history:ident=[[type=MOBILE_SUPL, subType=COMBINED, subscriberId=311111...], [type=MOBILE, subType=COMBINED, subscriberId=311111...]] uid=10007  set=DEFAULT tag=0x0NetworkStatsHistory: bucketDuration=7200000bucketStart=1406167200000 activeTime=7200000 rxBytes=4666 rxPackets=7 txBytes=1597 txPackets=10 operations=0ident=[[type=WIFI, subType=COMBINED, networkId="MySSID"]] uid=10007  set=DEFAULT tag=0x0NetworkStatsHistory: bucketDuration=7200000bucketStart=1406138400000 activeTime=7200000 rxBytes=17086802 rxPackets=15387 txBytes=1214969 txPackets=8036 operations=28bucketStart=1406145600000 activeTime=7200000 rxBytes=2396424 rxPackets=2946 txBytes=464372 txPackets=2609 operations=70bucketStart=1406152800000 activeTime=7200000 rxBytes=200907 rxPackets=606 txBytes=187418 txPackets=739 operations=0bucketStart=1406160000000 activeTime=7200000 rxBytes=826017 rxPackets=1126 txBytes=267342 txPackets=1175 operations=35

如需查找应用的 UID,请运行以下命令:adb shell dumpsys package your-package-name。然后查找标有 userId 的行。

例如,如需查找应用“com.example.myapp”的网络使用情况,请运行以下命令:

adb shell dumpsys package com.example.myapp | grep userId

输出的内容应类似于以下文本:

userId=10007 gids=[3003, 1028, 1015]

使用上述示例转储,查找包含 uid=10007 的行。有两个这样的行,第一个表示移动数据连接,第二个表示 Wi-Fi 连接。在每一行下方,您可以看到每个两小时期限(bucketDuration 以毫秒为单位表示)的以下信息:

  • set=DEFAULT 表示前台网络使用情况,set=BACKGROUND 表示后台网络使用情况,set=ALL 表示这两种网络使用情况。
  • tag=0x0 表示与流量关联的套接字标记。
  • rxBytes 和 rxPackets 表示在相应时间间隔内接收的字节数和数据包数。
  • txBytes 和 txPackets 表示在相应时间间隔内发送(传输)的字节数和数据包数。

总结: 第四种方式,需要自己去把每个时间段的接收和发送的byte数相加处理,然后统计总流量

相关文章:

Android 通过adb命令查看应用流量

一. 获取应用pid号 通过adb shell ps -A | grep 包名 来获取app的 pid号 二. 查看应用流量情况 使用adb shell cat /proc/#pid#/net/dev 命令 来获取流量数据 备注: Recevice: 表示收包 Transmit: 表示发包 bytes: 表示收发的字节数 packets: 表示收发正确的…...

超全的测试类型详解,再也不怕面试答不出来了!

在软件测试工作过程中或者在面试过程中经常会被问到一些看起来简单但是总是有些回答不上的问题,比如你说说“黑盒测试和白盒测试的区别?”,“你们公司做灰度测试么?", ”α测试和β测试有什么不一样?“&#xff0…...

【Linux】

Linux零基础入门 列出文件/文件夹新建/切换路径查看当前路径重命名或者移动文件夹拷贝文件/文件夹删除文件夹设置环境变量编辑文本文件压缩和解压查看cpu的信息查看/杀死进程查看进程的CPU和内存占用重定向日志场景一场景二场景三场景四 列出文件/文件夹 命令:Ls(L…...

「 网络安全常用术语解读 」网络攻击者的战术、技术和常识知识库ATTCK详解

引言:随着网络攻击手段的不断升级和多样化,网络安全领域面临着越来越严峻的挑战。为了帮助网络安全专业人员更好地识别和防御网络攻击,MITRE公司创建了ATT&CK框架,以提供一个统一且结构化的方法来描述网络攻击者的行为和技巧。…...

Java.lang.Integer类详解

Java.lang.Integer类详解 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!在今天的文章中,我们将深度解析Java中的一个重要类——java.lang.Integer&…...

GitFlow工作流

基于 Git 这一版本控制系统,通过定义不同的分支,探索合适的工作流程来完成开发、测试、修改等方面的需求。 例如:在开发阶段,创建 feature 分支,完成需求后,将此分支合并到 develop 分支上;在发…...

GitHub Copilot 与 OpenAI ChatGPT 的区别及应用领域比较

GitHub Copilot 和 OpenAI ChatGPT 都是近年来颇受关注的人工智能项目,它们在不同领域中的应用继续引发热议。本文旨在分析和比较这两个项目的区别,从技术原理、应用场景、能力和限制、输出结果、能力与限制和发展前景等方面进行综合评估,帮助…...

【C++】类和对象(上篇)

文章目录 🛟一、面向过程和面向对象初步认识🛟二、类的引入🛟三、类的定义📝1、类的两种定义方式📝2、成员变量命名规则的建议 🛟四、类的访问限定符及封装🍩1、访问限定符🍩2、封装…...

甜蜜而简洁——深入了解Pytest插件pytest-sugar

在日常的软件开发中,测试是确保代码质量的关键步骤之一。然而,对于测试报告的生成和测试结果的可读性,一直以来都是开发者关注的焦点。Pytest插件 pytest-sugar 以其清晰而美观的输出,为我们提供了一种愉悦的测试体验。本文将深入介绍 pytest-sugar 插件的基本用法和实际案…...

SpringBoot3整合OpenAPI3(Swagger3)

文章目录 一、引入依赖二、使用1. OpenAPIDefinition Info2. Tag3. Operation4. Parameter5. Schema6. ApiResponse swagger2更新到3后&#xff0c;再使用方法上发生了很大的变化&#xff0c;名称也变为OpenAPI3。 官方文档 一、引入依赖 <dependency><groupId>…...

2023美赛各题分析,2024美赛数学建模思路解析2.2日第一时间更新

目录 2024美赛数学建模各题思路模型代码&#xff1a;开赛后第一时间更新&#xff0c;更新见文末 一、2023题目重述 拟解决的问题 我们的工作&#xff1a; 二、模型和计算 1.数据预处理 2.报告数量区间预测模型 3.猜词结果分布预测模型 2024美赛数学建模交流&#xff0…...

分享一个学习git的网站

Learn Git Branching...

用户拉新的4大关键策略,照着做就对了!

今天给大家分享用户拉新的4个关键策略&#xff0c;掌握了这些策略&#xff0c;不仅有助于增加用户数量&#xff0c;还能让对方成为你忠实的粉丝。 1、制定明确的目标&#xff1a;在开始拉新之前&#xff0c;你需要明确自己的目标。你想要吸引什么样的用户&#xff1f;你希望他…...

如何用“VMware安装Ubuntu”win11系统?

一、 下载Ubuntu 企业开源和 Linux |Ubuntu的 二、 安装 三、 启动虚拟机 选中Try or Install Ubuntu Server&#xff0c;按回车...

ZJOI2009 对称的正方形

P2601 [ZJOI2009] 对称的正方形 题目大意 给定一个 n m n\times m nm的矩阵&#xff0c;求这个矩阵中满足上下对称且左右对称的正方形子矩阵的个数。 1 ≤ n , m ≤ 1000 1\leq n,m\leq 1000 1≤n,m≤1000 题解 首先&#xff0c;我们对原矩阵、左右翻转后的矩阵、上下翻转后…...

大模型学习与实践笔记(十一)

一、使用OpenCompass 对模型进行测评 1.环境安装&#xff1a; git clone https://github.com/open-compass/opencompass cd opencompass pip install -e . 当github超时无法访问时&#xff0c;可以在原命令基础上加上地址&#xff1a; https://mirror.ghproxy.com git clon…...

Elasticsearch+Kibana 学习记录

文章目录 安装Elasticsearch 安装Kibana 安装 Rest风格API操作索引基本概念示例创建索引查看索引删除索引映射配置&#xff08;不配置好像也行、智能判断&#xff09;新增数据随机生成ID自定义ID 修改数据删除数据 查询基本查询查询所有&#xff08;match_all&#xff09;匹配查…...

Cesium叠加超图二维服务、三维场景模型

前言 Cesium作为开源的库要加超图的服务则需要适配层去桥接超图与Cesium的数据格式。这个工作iClient系列已经做好&#xff0c;相比用过超图二维的道友们可以理解&#xff1a;要用Openlayer加载超图二维&#xff0c;那就用iClient for Openlayer库去加载&#xff1b;同样的要用…...

【低危】OpenSSL 拒绝服务漏洞

漏洞描述 OpenSSL 是广泛使用的开源加密库。 在 OpenSSL 3.0.0 到 3.0.12, 3.1.0 到 3.1.4 和 3.2.0 中 &#xff0c;使用函数 EVP_PKEY_public_check() 来检查 RSA 公钥的应用程序可能会遇到长时间延迟。如果检查的密钥是从不可信任的来源获取的&#xff0c;这可能会导致拒绝…...

TDL-Tiny Synopsis-TED-ED 网络理论 Network Theory

Tiny Synopsis on TED-ED-Network Theory I) Webpage addressII&#xff09;Context ExceptionIII) Diagram/Chart Research&Developement I) Webpage address URL Resource II&#xff09;Context Exception what does “going viral” on Internet really mean? (网络…...

ESLyric歌词源一站式配置:Foobar2000多平台格式转换高效解决方案

ESLyric歌词源一站式配置&#xff1a;Foobar2000多平台格式转换高效解决方案 【免费下载链接】ESLyric-LyricsSource Advanced lyrics source for ESLyric in foobar2000 项目地址: https://gitcode.com/gh_mirrors/es/ESLyric-LyricsSource ESLyric歌词源是Foobar2000播…...

步进电机复位翻车实录:从堵转到精准归位的5个调试技巧

步进电机复位翻车实录&#xff1a;从堵转到精准归位的5个调试技巧 去年夏天&#xff0c;我接手了一个工业自动化项目&#xff0c;需要精确控制12台42步进电机同步复位。本以为是个常规任务&#xff0c;结果第一周就遭遇了集体"罢工"——有的电机原地抖动不归零&#…...

HarmonyOS6 半年磨一剑 - RcTextarea 组件核心架构与类型系统设计

文章目录前言一、组件整体架构1.1 文件结构1.2 装饰器体系二、类型系统深度解析2.1 边框模式类型2.2 清空触发类型2.3 格式化与解析函数类型2.4 文本对齐与回车键类型三、核心参数体系3.1 必传参数3.2 尺寸相关参数3.3 功能开关参数四、内部状态与生命周期4.1 内部状态设计4.2 …...

基于粒子群优化算法的地表水源热泵机组优化调度 以水源热泵机组角度对地表水源热泵系统建模

基于粒子群优化算法的地表水源热泵机组优化调度 以水源热泵机组角度对地表水源热泵系统建模&#xff0c; 并采用粒子群优化算法优化算法求解热泵机组每小时最佳制冷量和制热量 最近帮朋友做了个小区地表水源热泵的调度优化项目&#xff0c;一开始以为就是调调空调温度&#xf…...

PhysX帧分配器:一帧一擦的高效艺术

写满就擦&#xff0c;擦完再写&#xff0c;永不停歇引子&#xff1a;数学老师的白板 还记得高中数学课吗&#xff1f; 老师走进教室&#xff0c;面前是一块干干净净的白板。他开始讲解——写公式、画图形、列步骤&#xff0c;白板渐渐被填满。下课铃响&#xff0c;老师拿起板擦…...

OpenClaw自动化测试:Qwen3.5-9B在API接口校验中的实战应用

OpenClaw自动化测试&#xff1a;Qwen3.5-9B在API接口校验中的实战应用 1. 为什么选择OpenClaw做接口自动化测试 去年接手一个个人项目时&#xff0c;我遇到了接口测试的痛点&#xff1a;每次后端更新都要手动验证几十个API&#xff0c;不仅耗时还容易遗漏边缘case。尝试过Pos…...

基于Python的本科生交流培养管理平台毕业设计源码

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。 一、研究目的 本研究旨在设计并实现一个基于Python的本科生交流培养管理平台&#xff0c;以提升我国高等教育中本科生交流培养的质量与效率。具体研究目的如下&#xff1a…...

【人物传记】唯一一位两次获得诺贝尔物理学奖-约翰·巴

1 约翰巴丁简介 约翰巴丁&#xff08;英语&#xff1a;John Bardeen&#xff0c;1908年5月23日—1991年1月30日[6]&#xff09;是一名美国物理学家和工程师。他是唯一一个两度获得诺贝尔物理学奖的人&#xff1a;第一次是在1956年与威廉肖克利和沃尔特布拉顿一起发明晶体管&am…...

麒麟V10系统下国产海量数据库安装全攻略(含内核参数优化与避坑指南)

麒麟V10系统下国产海量数据库安装全攻略&#xff08;含内核参数优化与避坑指南&#xff09; 在国产化技术快速发展的今天&#xff0c;越来越多的企业和机构开始采用国产操作系统和数据库产品。麒麟V10作为国产操作系统的代表之一&#xff0c;其稳定性和安全性得到了广泛认可。而…...

MoMask终极指南:5分钟学会AI生成3D人体运动动画

MoMask终极指南&#xff1a;5分钟学会AI生成3D人体运动动画 【免费下载链接】momask-codes Official implementation of "MoMask: Generative Masked Modeling of 3D Human Motions (CVPR2024)" 项目地址: https://gitcode.com/gh_mirrors/mo/momask-codes 想…...