2016-07-11 28 views
2

Ich schreibe ein Skript, um schlechte Netzwerkverbindungen für ein Android-Gerät mit Busybox zu simulieren. In Bash verwende ich tc und netem, um Paketverlust, spezifische Latenzen usw. zu simulieren, aber diese sind in Busybox nicht verfügbar. Ich weiß, dass Busybox iptables verfügbar ist, aber es bietet nicht so viel Funktionalität wie . Ich habe ein paar Fragen:Simulieren von schlechten Netzwerkverbindungen in Busybox

  1. Wie schlagen Sie schlechte Netzwerkverbindungen in Busybox zu simulieren? Ich habe ziemlich viel geforscht und niemanden gefunden, der versucht hat, langsame Verbindungen zu einem Gerät mit Busybox zu testen.
  2. Gibt es eine Möglichkeit, netem für Busybox zu kompilieren, und könnten Sie mir in die richtige Richtung zeigen, um damit anzufangen, wenn es möglich ist?
  3. Gibt es eine Möglichkeit, spezifische Latenzen, Paketverlust, Korruption und Duplizierung mit iptables zu simulieren, wie es mit möglich ist?

Danke.

+0

Diese Frage hat nichts mit Bash zu tun –

+0

Ich versuche, eine äquivalente Funktion von 'Netem' zu finden, um in Busybox zu verwenden, die in bash verfügbar ist. Das Skript, das ich schreibe, ist in bash, und ich möchte es auf ein anderes Gerät verschieben –

+0

am besten, um das Bash-Tag zu entfernen, um die Puristen zu befriedigen ;-). Hast du den BusyBox Doc gelesen? Was Sie (im größeren Bild) brauchen, ist 'tc' und/oder' netem' als BusyBox-Applet hinzuzufügen. Unspezifische Anweisungen sind hier, aber scheinen machbar: https://busybox.net/FAQ.html#Adding. Ich fand diese Seite auch als einen guten Überblick über die Konstruktion von BusyBox-Distributionen: https://busybox.net/downloads/BusyBox.html. Viel Glück. – shellter

Antwort

2

Sie können tc (sowie andere Netzwerk-Dienstprogramme) in busybox/networking finden.

prüfen https://github.com/mozilla-b2g/busybox/blob/master/networking/tc.c

Es ist klar, Ihre Frage nicht bilden, wenn Sie es auf einem Android-Gerät oder auf einem anderen Gerät tun. In jedem Fall müssen Sie möglicherweise busybox für Ihr Ziel neu kompilieren, wenn tc nicht aktiviert ist.