Generieren Sie eine begrenzte Menge zufälligen Netzwerkverkehrs zwischen zwei Hosts

7

Ich versuche, ein Dienstprogramm zu finden, mit dem ich einen konstanten Fluss zufälligen Netzwerkverkehrs mit einer bestimmten Rate zwischen zwei Hosts generieren kann. Das Dienstprogramm muss unter Windows und OSX ausgeführt werden. Ich habe iperf ausprobiert, aber es scheint eher auf kurzfristige Tests / Statistiken ausgerichtet zu sein und belastet die CPU auch bei langsameren Raten. Ich möchte etwas, das für einige Wochen Datenverkehr mit beispielsweise 10 Mbit / s generiert, während ich andere Tools verwende, um die Auswirkungen dieses Verkehrsniveaus auf das Netzwerk zu überwachen.

Andrew S.
quelle

Antworten:

4

Verwenden Sie Ping. Sie können ein Skript erstellen, um zufällige Überschwemmungen auszuführen und alle möglichen coolen Dinge zu tun. Ich bin kein MacOS-Experte, aber ich bin mir ziemlich sicher, dass es den Linux-CLI-Optionen sehr ähnlich ist ...

Um die Ports auf das Verbindungsgeschwindigkeitslimit zu bringen, führen Sie einen Flood-Ping aus (beachten Sie, dass dies root sein muss, ich führe meinen für 100.000 Pakete hier aus):
$ping -f -c 100000 <destination IP>

SDGuero
quelle
Dies scheint der einfachste Weg zu sein, um den konstanten Verkehr zu erzeugen. Nicht ganz das, was ich mir vorgestellt hatte, aber es ist ziemlich leicht für den Prozessor und kann über die Parameter -s und -i etwas gesteuert werden, um die gewünschte Netzwerkaktivität zu erreichen. Um eine Auslastung von 7% für eine 100-Mbit / s-Verbindung zu erhalten: ping -q -s 500 -i .001 <hostIP>
Andrew S
5

Gehen Sie der Einfachheit halber, versuchen Sie netcat .

Wenn Sie eine begrenzte Menge herauskurbeln möchten, können Sie eine Datei generieren und in NC weiterleiten

nc 192.168.0.1 3333 > file.dat

Wenn Sie Ihr Netzwerk überlasten möchten, können Sie alternativ eine Verbindung einrichten, die A und B untereinander überflutet

auf Computer A.

yes AAAAAAAAAAAAAAAAAAAAAA | nc -v -v -l -p 2222 > /dev/null

auf einem anderen Computer (Wir nennen B)

yes BBBBBBBBBBBBBBBBBBBBBB | nc othermachine 2222 > /dev/null

Es gibt eine Vielzahl von Verweisen auf Dinge, die Sie mit Netcat tun können. Ich empfehle Ihnen dringend, irgendwann einmal Google zu machen.

ŹV -
quelle
Ist es möglich, mit netcat eine Übertragungsrate festzulegen?
Zoredache
Throttle ( klicman.org/throttle ) kann eine Möglichkeit sein, Netcat einzuschränken, aber ich sehe keine Binärdateien für Windows, konnte sie jedoch unter OS X (10.6) kompilieren.
Andrew S
3

Ich wollte nur sagen, dass Ostinato sowohl unter Mac OS X als auch unter Windows funktioniert.

Auf meinem 2,2-GHz-Core2Duo unter Windows XP benötigt Ostinato etwa 50% der CPU. Nur für Ostinato - der Grund, warum selbst bei niedrigen Raten so viel CPU benötigt wird, ist die Aufrechterhaltung einer genauen Übertragungsrate (Lesen einer konstanten Verzögerung zwischen Paketen) bei Vorhandensein anderer konkurrierender Anwendungen.

Sie können auch tcpreplay ausprobieren

Offenlegung: Ich bin der Entwickler von Ostinato

Srivats P.
quelle
1

Ostinato könnte für Windows tun. Ich habe nicht viel Zeit damit verbracht, aber es sieht interessant aus.

AndyN
quelle
0

Leider habe ich keine Erfahrungen aus erster Hand damit, aber MGEN könnte möglicherweise passen. PackETH ist nett, aber es ist meistens Linux (plus Windows-Port), also kommt es wahrscheinlich nicht in Frage.

Wenn Ihnen das nicht passt, kann die Liste auf der D-ITG- Website hilfreich sein.

Karol J. Piczak
quelle
Ich habe MGEN ausprobiert, aber es scheint sich sehr ähnlich wie iperf zu verhalten und mein 2,2-GHz-Core2Duo ist selbst bei langsamen Raten fast voll.
Andrew S
-1

Führen Sie einfach dieses Skript aus ...

#!/bin/bash

while true;
do
  t=$(($RANDOM%2500 + 500))
  b=$(($RANDOM%150 + 50))
  ping -c 1 -s $b $1
  sleep $(($t/1000))                                            
done 
Bryan Wilcutt
quelle