当前位置: 首页 > 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? (网络…...

【最新v2.7.5 版本安装包】OpenClaw 2.7.5 保姆级教程,零基础无需命令一键部署不踩坑

&#x1f680; OpenClaw 一键安装包&#xff5c;一键部署甩掉复杂环境配置 【点击下载最新安装包】https://xiake.yun/api/download/package/16?promoCodeIVBE1F235167 &#x1f4cc; 适配信息 适配系统&#xff1a;Windows10/11 64 位 当前版本&#xff1a;v2.7.5&#xff…...

国内用户怎么注册.ai域名?2026最新AI域名注册规则+平台推荐

随着人工智能&#xff08;AI&#xff09;行业的持续爆发&#xff0c;越来越多企业在搭建官网时&#xff0c;开始优先选择 .ai域名。 你会发现一个明显变化&#xff1a; &#x1f449; 很多AI工具、AI平台&#xff0c;直接使用“.ai”作为网站后缀 这背后的原因&#xff0c;其…...

Codex + SSH 远程运维实战:让 AI 管你的云服务器

Codex SSH 远程运维实战&#xff1a;让 AI 管你的云服务器从 Docker 部署到数据库调优&#xff0c;从日志排查到安全加固——用 Codex CLI 通过 SSH 管理云服务器的完整实战指南。一、为什么用 Codex 做运维&#xff1f; 传统运维的痛点&#xff1a; 半夜报警&#xff0c;睡眼…...

跨平台流媒体下载神器:N_m3u8DL-RE的完整使用指南

跨平台流媒体下载神器&#xff1a;N_m3u8DL-RE的完整使用指南 【免费下载链接】N_m3u8DL-RE Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文. 项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE 你…...

causal-learn实战指南:从算法选择到因果图解读

1. 为什么你需要causal-learn&#xff1f; 第一次接触因果发现这个概念时&#xff0c;我正被一个电商用户行为分析项目搞得焦头烂额。传统机器学习模型能准确预测用户是否会购买商品&#xff0c;但产品经理总追着我问&#xff1a;"到底哪些因素真正导致了购买行为&#xf…...

用Proteus玩转Arduino?别忘了这些电阻的‘潜规则’(附光敏电阻模拟方案)

用Proteus玩转Arduino&#xff1f;别忘了这些电阻的‘潜规则’&#xff08;附光敏电阻模拟方案&#xff09; 在虚拟原型开发领域&#xff0c;Proteus与Arduino的结合为创客们提供了无限可能。但许多开发者往往忽略了电路仿真中最基础的元件——电阻的巧妙运用。本文将揭示那些鲜…...

从零到一:用Air724UG 4G模块和Python,手把手搭建一个物联网数据上报系统(含完整代码)

从零构建基于Air724UG的物联网数据中台&#xff1a;Python全栈开发实战 当你拿起一块Air724UG 4G模块时&#xff0c;握在手中的不仅是通讯硬件&#xff0c;更是连接物理世界与数字世界的桥梁。这个火柴盒大小的模块能够将田间地头的土壤数据、工厂车间的设备状态、城市角落的环…...

终极游戏MOD加载指南:5分钟学会使用ASI加载器提升游戏体验

终极游戏MOD加载指南&#xff1a;5分钟学会使用ASI加载器提升游戏体验 【免费下载链接】Ultimate-ASI-Loader The Ultimate ASI Loader is a proxy DLL that loads custom .asi libraries into any game process. 项目地址: https://gitcode.com/gh_mirrors/ul/Ultimate-ASI-…...

Crontab实战指南:从基础配置到高级调试技巧

1. Crontab入门&#xff1a;从零开始掌握定时任务 第一次接触Crontab时&#xff0c;我被这个看似简单却功能强大的工具深深吸引。作为Linux系统中最经典的定时任务工具&#xff0c;它就像一位不知疲倦的助手&#xff0c;能够精确地在指定时间执行你交代的任何任务。记得刚开始使…...

Typora LaTeX主题:学术论文写作的终极解决方案

Typora LaTeX主题&#xff1a;学术论文写作的终极解决方案 【免费下载链接】typora-latex-theme 将Typora伪装成LaTeX的中文样式主题&#xff0c;本科生轻量级课程论文撰写的好帮手。This is a theme disguising Typora into Chinese LaTeX style. 项目地址: https://gitcode…...