Chciałbym zasymulować utratę pakietów na zrootowanym urządzeniu z Androidem, aby zobaczyć, jak różne poziomy wpływają na jakość przesyłania strumieniowego wideo. Próbowałem netem i iptables, bez powodzenia:
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".
Czy format jest nieprawidłowy lub czy można w jakiś sposób dodać obsługę Netem?
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.
Czy jest jakaś alternatywa dla Androida?
Odpowiedzi:
Ponieważ urządzenie jest zrootowane, możesz zainstalować serwer proxy. Użyłem TransparentProxy . Następnie skonfiguruj serwer proxy na innym komputerze w sieci lokalnej. Wskaż Przezroczysty serwer proxy na ten serwer proxy, a następnie ustaw przepustnicę na serwerze proxy. Kilka serwerów proxy, które mogą działać, to CharlesProxy lub Service Capture .
Jeśli to nie zadziała, możesz to zrobić z poziomu routera. Maszyna z systemem BSD lub Linux może działać jako router. Możesz też dostać wirtualne urządzenie lub bootowalną płytę CD, aby zrobić to za Ciebie.
źródło
Możliwe jest ustawienie opóźnienia i prędkości sieci za pomocą funkcji kontrolnych emulatora standardowych narzędzi Android Developer.
Jeśli używasz Eclipse: Wybierz Window \ Open Perspective \ DDMS Na ekranie zobaczysz zakładkę o nazwie „Emulator Control”. W tej zakładce znajdziesz opcje Prędkości i Opóźnienia. „Ustawienia telefonii” u góry mają wybór prędkości i opóźnienia.
Istnieją inne sposoby modyfikacji tych ustawień (w tym skryptowanie ich w ustawieniach emulatora), ale jest to najprostszy sposób na uzyskanie dostępu do ustawień.
źródło
Odniosłbym się do tego wątku: /server/201588/configuring-a-router-to-drop-packets-intruces-latency-corrupt-data
Wydaje się, że nie jest to żaden powód, dla którego iptables nie powinien działać.
źródło