Ein Werkzeug um schnell Daten im Netzwerk zu übertragen ist netcat.
Unverschlüsselt
Mit folgendem Kommando lauscht netcat auf dem TCP-Port 12345 und speichert alle über diesen Port empfangenen Daten in der Datei daten.txt:
nc -l 12345 > daten.txt
Die Daten können anschließend vom Sender mit folgendem Kommando verschickt werden:
nc -q0 zielhostname 12345 < daten.txt
Neuere Implementierungen von netcat benötigen den Parameter -q, welcher beim Lesen von EOF die Verbindung beendet und so dem Empfänger mitteilt, dass die Übertragung beendet ist.
Obige Kommandos lassen sich verwenden, um schnell Daten im lokalen Netzwerk zu kopieren.
Verschlüsselt
Wenn die Daten über das Internet übertragen werden sollen, so sollte eine Verschlüsselung eingesetzt werden. Dazu werden die Daten zuerst mit mcrypt verschlüsselt und anschließend mit netcat wie oben beschrieben verschickt:
mcrypt --flush < daten.txt | nc -q0 zielhostname 12345
Das Kommando auf dem Zielhost um die Daten zu empfangen und zu entschlüsseln lautet:
nc -l 12345 | mcrypt -d > daten.txt
Zu beachten ist, dass mcrypt Informationen über das verwendete Verschlüsselungsverfahren in die Daten einfügt. Möchte man das verhindern, z.B. um irgendwelchen Mitlesern die Arbeit zu erschweren, kann mcrypt in den obigen Befehlen um den Parameter
--bare
erweitert werden. Für ganz Vorsichtige kann auch der zu verwendende Algorithmus und der zu verwendende Blockchiffre (z.B. zur Fehlerkorrektur) vorgegeben werden. Informationen dazu enthält die Manpage von mcrypt.
Sofern ssh installiert ist, bevorzuge ich scp.