Gostaria de simular a perda de pacotes em um dispositivo Android com raiz para ver como os diferentes níveis afetam a qualidade da transmissão de vídeo. Eu tentei netem e iptables, sem sucesso:
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".
O formato está errado ou é possível adicionar suporte ao netem de alguma forma?
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.
Existe alguma outra alternativa no Android?
Respostas:
Como seu dispositivo está enraizado, você pode instalar um Proxy. Eu usei o TransparentProxy . Em seguida, configure um proxy em outra máquina na sua rede local. Aponte TransparentProxy para esse proxy e defina seu Proxy como acelerador. Alguns proxies que podem funcionar incluem CharlesProxy ou Service Capture .
Se isso não funcionar, você poderá encontrá-lo no nível do roteador. Uma máquina executando BSD ou Linux pode funcionar como um roteador. Ou você pode obter um appliance virtual ou um CD inicializável para fazer isso por você.
fonte
É possível definir a latência e velocidade da rede usando as funções de controle do emulador das ferramentas padrão do desenvolvedor Android.
Se estiver usando o eclipse: Selecione Janela \ Abrir perspectiva \ DDMS Na tela, você verá uma guia chamada "Controle do emulador". Nesta guia, você encontrará as opções de Velocidade e latência. As 'Configurações de telefonia' na parte superior têm seleções de velocidade e latência.
Existem outras maneiras de modificar essas configurações (incluindo a criação de scripts na configuração do emulador), mas essa é a maneira mais simples de acessar as configurações.
fonte
Gostaria de referenciar este tópico: /server/201588/configuring-a-router-to-drop-packets-introduce-latency-corrupt-data
Não parece haver nenhuma razão para o iptables não funcionar.
fonte