11 votes

Comment simuler la perte de paquets sur un appareil Android ?

J'aimerais simuler la perte de paquets sur un appareil Android enraciné pour voir comment différents niveaux affectent la qualité du streaming vidéo. J'ai essayé netem et iptables, sans succès :

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".

Le format est-il erroné ou est-il possible d'ajouter le support netem d'une manière ou d'une autre ?

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-t-il une autre alternative dans Android ?

2voto

Mołot Points 19466

Il est possible de définir la latence et la vitesse du réseau en utilisant les fonctions de contrôle de l'émulateur des outils standard du développeur Android.

Si vous utilisez eclipse : Sélectionnez Fenêtre \Open Perspective \DDMS Sur l'écran, vous verrez un onglet nommé "Emulator Control". Dans cet onglet, vous trouverez les options Vitesse et Latence. Les "Paramètres de téléphonie", tout en haut, comportent des sélections de vitesse et de latence.

Il existe d'autres moyens de modifier ces paramètres (notamment en les inscrivant dans un script dans la configuration de votre émulateur), mais c'est le moyen le plus simple d'accéder aux paramètres.

2voto

Jim McKeeth Points 283

Puisque votre appareil est enraciné, vous pouvez installer un Proxy. J'ai utilisé TransparentProxy . Configurez ensuite un proxy sur une autre machine de votre réseau local. Dirigez TransparentProxy vers ce proxy, puis réglez votre proxy sur l'accélérateur. Voici quelques proxys qui pourraient fonctionner CharlesProxy o Capture de service .

Si cela ne fonctionne pas, vous pouvez vous attaquer au niveau du routeur. Une machine exécutant BSD ou Linux peut fonctionner comme un routeur. Ou vous pouvez obtenir un Appareil virtuel ou un CD amorçable pour le faire à votre place.

0voto

Shawn Points 143

Je ferais référence à ce fil : https://serverfault.com/questions/201588/configuring-a-router-to-drop-packets-introduce-latency-corrupt-data

Il ne semble pas y avoir de raison pour qu'iptables ne fonctionne pas.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X