Springe zum Inhalt

Netcat: Dateien verschlüsselt übertragen

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.

Ein Gedanke zu „Netcat: Dateien verschlüsselt übertragen

Kommentare sind geschlossen.