Come posso simulare la perdita di pacchetti su un dispositivo Android?


11

Vorrei simulare la perdita di pacchetti su un dispositivo Android con root per vedere come diversi livelli influenzano la qualità dello streaming video. Ho provato netem e iptables, senza successo:

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

Il formato è errato o è possibile aggiungere il supporto netem in qualche modo?

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.

Esistono altre alternative in Android?


3
Buona domanda! Il mio pensiero: in alternativa, forse connettersi a un router wifi e limitare la connessione lì se il router fa qualità del servizio o simile?
Bryan Denny


La configurazione del router è probabilmente il modo corretto di farlo, e ho quella simulazione in atto usando WANem . Tuttavia, mi piacerebbe avere un modo portatile che non si basa sulla configurazione di rete o sull'interfaccia di rete. Fondamentalmente voglio fare un test unitario in cui eseguo lo streaming video, aumento la perdita di pacchetti ed eseguo di nuovo lo stesso video.
fejd

Risposte:


2

Poiché il tuo dispositivo è rootato puoi installare un proxy. Ho usato TransparentProxy . Quindi configurare un proxy su un altro computer sulla rete locale. Puntare TransparentProxy su quel proxy e quindi impostare il proxy su throttle. Alcuni proxy che potrebbero funzionare includono CharlesProxy o Service Capture .

Se ciò non funziona, puoi provarci dal livello del router. Una macchina che esegue BSD o Linux può funzionare come router. Oppure puoi ottenere un dispositivo virtuale o un CD avviabile per farlo.


2

È possibile impostare la latenza e la velocità della rete utilizzando le funzioni di controllo dell'emulatore degli strumenti standard per sviluppatori Android.

Se si utilizza eclipse: selezionare Finestra \ Apri prospettiva \ DDMS Nella schermata verrà visualizzata una scheda denominata "Controllo emulatore". In questa scheda troverai le opzioni di velocità e latenza. Le "Impostazioni di telefonia" nella parte superiore hanno selezioni di velocità e latenza.

Esistono altri modi per modificare queste impostazioni (incluso lo scripting nella configurazione dell'emulatore), ma questo è il modo più semplice per accedere alle impostazioni.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.