In bestimmten Situationen ist erforderlich, dass man sehr schnell und effizient Dateien innerhalb eines Netzwerkes kopieren muss.

Dafür eignet sich netcat sehr gut, da hier direkt über TCP die Daten übertragen werden. Es entsteht also kein weiterer Overhead durch einen Protokoll, was meist für den Datentransfer zum Einsatz kommt (wie NFS, SAMBA oder SSH). Allerdings muss man dann auch auf Funktionalität wie Verschlüsselung oder Locking komplett verzichten. Es existiert auch kein Kontrollmechanismus der feststellt ob die Übertragung abgeschlossen ist. Aus Sicherheitsgründen sollte diese Lösung nur im lokalen Netz eingesetzt werden.

Diese Technik ist also nur dann das Mittel der Wahl, wenn es auf sehr schnelle Übertragung ankommt, die minimalen Overhead erzeugt.

Voraussetzung:

  • netcat (nc) muss installiert sein
  • ein Port für den Datenempfang muss auf dem Zielrechner offen sein (falls eine Firewall eingesetzt wird)

Beispiel: Der Inhalt des Verzeichnisses /Dateiablage soll von Rechner A auf Rechner B kopiert werden.

Auf Rechner B wird folgender Befehl ausgeführt:

cd /dateiablage
nc -l 4000 | tar xvf

Wenn der gleich Inhalt wie auf Rechner A gewünscht ist, sollte man überprüfen, dass das Verzeichnis leer ist.

Auf Rechner A wird folgender Befehl ausgeführt:

cd /dateiablage
tar -cf - . | nc target_ip 4000

Aktualisiert: