netzwerkgeschwindigkeit messen

zum messen der reellen netzwerkgeschwindigkeit zwischen zwei hosts ist es wenig hilfreich, kopiervorgänge zu starten, denn sie sind allesamt von diensten abhängig, die je nach verfügbarer rechenpower und arbeitsspeicher unterschiedlich schnell performen: samba, ftp, sftp/openssh. ebenso stellt die kommunikation mit der festplatte einen nicht zu vernachlässigenden flaschenhals dar, der das ergebnis deutlich verfälschen kann.

hier bietet sich “netcat” an, das nichts anderes macht, als daten über das netzwerk von einem computer zum anderen zu schieben, ohne das system z.b. mit der verschlüsselung des datentransfers zu behelligen. der theoretische vorgang ist einfach:

  1. netcat auf maschine 1 im “lauschmodus” starten:
    nc -vvv -l -n 2222 > /dev/null
  2. netcat auf maschine 2 starten und daten an maschine 1 schicken lassen:
    time yes | nc -vvv -n 192.168.10.164 2222 > /dev/null
  3. nach einer selbst gewählten zeit die datenübertragung auf maschine 2 abbrechen (ctrl + c). der output auf maschine 2 müsste in etwa so aussehen:
    sent 87478272, rcvd 0
     real 0m9.993s
     user 0m2.075s
     sys 0m0.939s
  4. datendurchsatz nach der formel “sent[bits] * 8/ real[sekunden]” berechnen

in meinem falle war es jedoch nicht möglich “netcat” zur ausgabe des sent wertes zu bewegen, was das vorhaben erfolglos enden ließ. daher musste ein helferlein her, der die übertragenen bytes zählt. mit dem “pipe viewer” wurde ich fündig – er kann sogar die aktuelle geschwindigkeit anzeigen.

das zuvor beschriebene prozedere ändert sich hierbei nur minimal:

  1. netcat auf maschine 1 im “lauschmodus” starten, diesmal jedoch mit zwischengeschaltetem pipe viewer:
    nc -l -n 2222 | pv -tbr > /dev/null
  2. netcat auf maschine 2 starten und daten an maschine 1 schicken lassen:
    time yes | nc -n 192.168.10.164 2222 > /dev/null
  3. nach einer selbst gewählten zeit die datenübertragung auf maschine 2 abbrechen (ctrl + c). der output auf maschine 1 müsste in etwa so aussehen:
    143MB 0:00:40 [3,53MB/s]
  4. fertig.

insgesamt ist “netcat” ein recht spannendes spielzeug. hier ein paar links mit weiter führenden informationen: