1 votos

¿Qué proceso es responsable de capturar el uso de datos (móvil/WiFi)?

El problema es que a mí se me rompe. Personalicé bastante, concretamente instalando un firewall que usa Root y desactivando los receptores y servicios de transmisión en muchas aplicaciones de Huawei y Google que venían preinstaladas. Supongo que una de estas debe ser la responsable de capturar cuántos datos fluyen por cada interfaz y de qué app se originan, ya que la función se rompió.

¿Qué proceso (en cualquier teléfono Android, probablemente pueda encontrar el equivalente una vez que sepa dónde buscar) es responsable de hacer esto?

0 votos

¿Así que tu "configuración -> datos" no está rastreando bien?

0 votos

@rogerdpack Sí

4voto

Jack Wade Puntos 231

DataUsageController (un componente de la aplicación Ajustes) recoge datos de NetworkStatsService (1) que forma parte del framework de Android, es decir system_server y depende de (2) TrafficController (un componente de netd servicio nativo) que a su vez utiliza libqtaguid para etiquetar sockets de red por aplicación/UID. Anteriormente qtaguid módulo del núcleo se utilizó para rastrear tomas de corriente etiquetadas (leyendo "/proc/net/xt_qtaguid/stats" ( 3 ) ) que se sustituye por eBPF framework. Ahora los datos de uso estarán disponibles en un sistema de archivos virtual ("/sys/fs/bpf/traffic_uid_stats_map" ( 4 ) ).

Restricciones de la política de red (Datos/Ahorro de batería y Datos de fondo (5) ) y Límite de Datos/Advertencia se implementan principalmente por NetworkPolicyManager y NetworkManagementService . En el extremo posterior netd insertar/borrar iptables reglas (6) para imponer restricciones en el espacio del núcleo.

Ambos qtaguid (7) y cuota2 Los módulos forman parte únicamente del núcleo de Android ( 8 ) mientras que owner forma parte del núcleo principal de Linux.

RELACIONADO: ¿Cómo ver el tráfico de red solicitado por una aplicación específica?


REFERENCIAS:

1. El que podemos acceder con dumpsys netstats
2. A través de NetworkStatsManager / TrafficStats / SocketTagger JNI NetworkManagementSocketTagger , libcutils (qtaguid) , NetdClient , Netd's FwmarkServer y posiblemente otros
5. Puede ser leído / ajustado por dumpsys netpolicy y cmd netpolicy
6. Utilización de módulos propietario y cuota2
7. Basado en propietario y depende de toma de corriente módulo

1 votos

Woa, nunca había esperado una respuesta tan detallada ya que es muy de nicho. De todos modos, me alegro de haberme decidido a hacer la pregunta. Muchas gracias. Voy a bucear en esto, pero sólo catting /proc/net/xt_qtaguid/stats parece que estos son los datos de uso que estoy buscando y es solo la pantalla de uso de datos de la configuración la que está rota (puedo analizar los csvs manualmente, sin problema). Sólo tengo que averiguar sobre qué período es este seguimiento y lo que significan todas las columnas (como cnt_set ). Me sumergiré en esto cuando tenga algo de tiempo dentro de unas horas :)

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X