Śledzenie statystyk sieciowych aplikacji (netstats) za pomocą ADB

Mam wrażenie, że jest to możliwe, po prostu nie jestem pewien, gdzie są przechowywane informacje.

Chcę uzyskać statystyki up / down dla konkretnych aplikacji, ale chcę to zrobić za pomocą ADB, a nie wireshark lub netty.

Wiem, że widzę vmData

adb shell
cd proc
cd pid#
cat status 

i wiem, że mogę zobaczyć netstats używając:

ADB Shell dumpsys netstats details full

co daje mi następujące wyniki:

Dev stats:

  Pending bytes: 1410076

  Complete history:

  ident=[[type=MOBILE, subType=COMBINED, subscriberId=310260...]] uid=-1 set=ALL tag=0x0
NetworkStatsHistory: bucketDuration=3600000
  bucketStart=1349211600000 activeTime=3600000 rxBytes=19656154 rxPackets=16897 txBytes=615620 txPackets=8084 operations=0
  bucketStart=1349215200000 activeTime=3600000 rxBytes=28854708 rxPackets=23363 txBytes=1037409 txPackets=12206 operations=0
  bucketStart=1349218800000 activeTime=3600000 rxBytes=1839274 rxPackets=1565 txBytes=89791 txPackets=914 operations=0
  bucketStart=1349222400000 activeTime=3600000 rxBytes=17421 rxPackets=88 txBytes=18376 txPackets=95 operations=0
  bucketStart=1349226000000 activeTime=3600000 rxBytes=506966 rxPackets=788 txBytes=96491 txPackets=859 operations=0

Niestety wygląda to jak połączony netstat, który nie rozróżnia aplikacji.

Więc moje pytanie: czy istnieje sposób, aby zobaczyć ruch sieciowy według unikalnych nazw PID # lub aplikacji, po prostu używając wiersza polecenia?

EDYTOWAĆ

W porządku zrobiłem kilka dobrych kroków

Z tym kodem

 adb shell cat proc/1638(thePID)/net/dev > C:\netstats.txt 

Mogę uzyskać te informacje:

Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
lo:        3564      28    0    0    0     0          0         0     3564      28    0    0    0     0       0          0
dummy0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
rmnet0: 117062940  191775  0    0    0     0          0         0 19344640  177574    0    0    0     0       0          0
rmnet1: 2925492    5450    0    0    0     0          0         0  1448544    5664    0    0    0     0       0          0
rmnet2:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
rmnet3:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
rmnet4:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
rmnet5:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
rmnet6:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
rmnet7:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
  sit0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
  vip0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0

Niestety po dwukrotnym sprawdzeniu tych numerów w programach takich jak „Network Usage” z rynku Android odkryłem, że te liczby są sumą w górę iw dół całego urządzenia.

Pozostaje mi więc, jak / gdzie do cholery są programy takie jak „Wykorzystanie sieci” i „Części zamienne”, które pobierają informacje?

questionAnswers(2)

yourAnswerToTheQuestion