下面介绍几种获取app流量的统计规则:
分析方法D
①如何获取uid?
1.先获取进程pid (adb shell ps |findstr 包名)
2.进入到proc/pid/status 文件中
C:\Users\chenhui>adb shell
PD1816:/ $ cd proc/
PD1816:/proc $ cd 20814
PD1816:/proc/20814 $ cd status
/system/bin/sh: cd: /proc/20814/status: Not a directory
2|PD1816:/proc/20814 $ cat status
Name: aozh.iReader.dj
State: S (sleeping)
Tgid: 20814
Pid: 20814
PPid: 996
TracerPid: 0
Uid: 12912 12912 12912 12912
Gid: 12912 12912 12912 12912
Ngid: 0
FDSize: 1024
Groups: 3002 3003 9997 22912 52912
VmPeak: 2600288 kB
VmSize: 2284916 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 454092 kB
VmRSS: 317620 kB
VmData: 492016 kB
VmStk: 8192 kB
VmExe: 24 kB
VmLib: 162604 kB
VmPTE: 2468 kB
VmPMD: 16 kB
VmSwap: 4752 kB
Threads: 205
SigQ: 1/21806
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000001204
SigIgn: 0000000000000001
SigCgt: 00000006400086f8
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: 0000000000000000
CapAmb: 0000000000000000
Seccomp: 2
Speculation_Store_Bypass: unknown
Cpus_allowed: ff
Cpus_allowed_list: 0-7
Mems_allowed: 1
Mems_allowed_list: 0
voluntary_ctxt_switches: 22752
nonvoluntary_ctxt_switches: 3041
PD1816:/proc/20814 $
②但是方法D中我们现在的华为、OPPO等高端机中proc系统文件中找不到uid_stat
分析方法E
①方法E中我们现在的华为、OPPO等高端机中proc系统文件中找不到xt_qtaguid
若设备使用的是WiFi,则取第2列的值为“wlan0”的第6列的值相加为当前app的下载流量统计;
第8列的值相加为当前app的上传流量统计
C:\Users\chenhui>adb shell "cat /proc/net/xt_qtaguid/stats |grep 12912"
100 wlan0 0x0 12912 0 2456833 3078 524138 3195 2454245 3041 0 0 2588 37 524138 3195 0 0 0 0
101 wlan0 0x0 12912 1 386386297 287026 14115763 189232 386381873 286965 0 0 4424 61 14115763 189232 0 0 0 0
110 wlan0 0xa00500000000 12912 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
111 wlan0 0xa00500000000 12912 1 99440 173 29904 233 99440 173 0 0 0 0 29904 233 0 0 0 0
128 wlan0 0x3494e3bf00000000 12912 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
129 wlan0 0x3494e3bf00000000 12912 1 66397 93 11360 111 66397 93 0 0 0 0 11360 111 0 0 0 0
148 wlan0 0xe9970c8000000000 12912 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
149 wlan0 0xe9970c8000000000 12912 1 3305 45 55154 36 3305 45 0 0 0 0 55154 36 0 0 0 0
182 lo 0x0 12912 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
183 lo 0x0 12912 1 8250787 1134 8250995 1138 8250787 1134 0 0 0 0 8250995 1138 0 0 0 0
若设备使用的是SIM联网,则取第2列的值为“rmnet_data1”的第6列的值相加为当前app的下载流量统计;第8列的值相加为当前app的上传流量统计