Me gustaría simular la pérdida de paquetes en un dispositivo Android rooteado para ver cómo los diferentes niveles afectan la calidad de la transmisión de video. He probado netem e iptables, sin éxito:
netem :
# tc qdisc change dev rmnet0 root netem loss 0.1%
tc qdisc change dev rmnet0 root netem loss 0.1%
Android does not support qdisc 'netem'
Garbage instead of arguments "loss ...". Try "tc qdisc help".
¿El formato es incorrecto o es posible agregar soporte de netem de alguna manera?
iptables :
# iptables -A INPUT -m statistic --mode random --probability 0.01 -j DROP
iptables -A INPUT -m statistic --mode random --probability 0.01 -j DROP
iptables v1.3.7: Couldn't find match `statistic'
Try `iptables -h' or 'iptables --help' for more information.
¿Hay alguna otra alternativa en Android?
Respuestas:
Como su dispositivo está rooteado, puede instalar un Proxy. He usado TransparentProxy . Luego configure un proxy en otra máquina en su red local. Apunte TransparentProxy a ese proxy y luego configure su Proxy para acelerar. Algunos proxies que podrían funcionar incluyen CharlesProxy o Service Capture .
Si eso no funciona, puede hacerlo desde el nivel del enrutador. Una máquina con BSD o Linux puede funcionar como un enrutador. O puede obtener un dispositivo virtual o un CD de arranque para que lo haga por usted.
fuente
Es posible establecer la latencia y la velocidad de la red utilizando las funciones de control del emulador de las herramientas estándar para desarrolladores de Android.
Si usa eclipse: Seleccione Window \ Open Perspective \ DDMS En la pantalla verá una pestaña llamada "Control de emulador". En esta pestaña, encontrará las opciones de Velocidad y Latencia. La 'Configuración de telefonía' en la parte superior tiene selecciones de velocidad y latencia.
Hay otras formas de modificar esta configuración (incluidas las secuencias de comandos en la configuración de su emulador), pero esta es la forma más sencilla de acceder a la configuración.
fuente
Me gustaría hacer referencia a este hilo: /server/201588/configuring-a-router-to-drop-packets-introduce-latency-corrupt-data
No parece haber ninguna razón por la que iptables no debería funcionar.
fuente