Good to Know Database

Datenübertragung mit Netcat


Das Programm Netcat kann zur Übertragung von Daten über das Netzwerk verwendet werden und wird entweder im Client- oder im Server-Modus eingesetzt. Netcat überträgt die Daten unverschlüsselt und sollte deshalb nur in vertrauenswürdigen Netzwerken zur Datenübertragung verwendet werden. Wenn Sie eine verschlüsselte Datenübertragung benötigen, sollten Sie Cryptcat oder SCP verwenden.

Unter Ubuntu können Sie Netcat mit dem folgenden Befehl nachinstallieren.

georg@ubuntu904:~$ sudo apt-get install netcat

Um mit Netcat eine Datei von einem Rechner auf einen anderen Rechner zu übertragen, müssen Sie Netcat auf dem Ziel-Rechner im Server-Modus starten und die eingehenden Daten in eine Datei umleiten. Dazu rufen Sie Netcat mit der Option -l (listen) auf und geben mit der Option -p einen Port an welcher nicht durch eine Firewall gesperrt ist. Wenn Sie Netcat als normaler Benutzer verwenden wollen, müssen Sie einen Port über 1024 verwenden da die Ports 1-1024 nur vom Superuser root benutzt werden können.

georg@ubuntu904:~$ nc -l -p 1234 > dateiname

Auf dem Rechner welcher die Datei senden soll, müssen Sie Netcat als Client mit den Daten des Ziel-Rechners aufrufen und die zu sendende Datei an Netcat weiterleiten. Durch die Option -w geben Sie einen Verbindungs-Timeout in Sekunden an. Dadurch wird die Verbindung nach der Datenübertragung automatisch getrennt.

georg@ubuntu904:~$ nc -w 1 192.168.10.1 1234 < dateiname

Wenn Sie eine ganze Partition oder Festplatte über das Netzwerk klonen wollen, sollten Sie das Programm dd zum Einlesen und Speichern der Daten verwenden. Bevor Sie einen Datenträger über das Netzwerk klonen, sollten Sie überprüfen, ob dieser nicht gemountet ist.

Auf dem Ziel-Rechner rufen Sie Netcat wie gewohnt auf, jedoch werden die eingehenden Daten an dd weitergeleitet und dann auf den Datenträger /dev/sdb geschrieben. Achtung, bestehende Daten auf /dev/sdb werden überschrieben.

georg@ubuntu904:~$ nc -l -p 1234 | dd of=/dev/sdb

Nachdem der Empfänger konfiguriert wurde, starten Sie auf dem Sender-System mit dem folgenden Befehl die Übertragung.

georg@ubuntu904:~$ dd if=/dev/sdb | nc 192.168.10.1 1234

Je nach der Größe des Datenträgers kann dieser Vorgang einige Zeit in Anspruch nehmen. Leider bietet Netcat keine Statusanzeige mit welcher Sie die Restzeit einschätzen könnten. Hierfür können Sie aber das Programm pv zwischen Netcat und dd schalten.

Das Programm pv installieren Sie unter Ubuntu mit dem folgenden Befehl.

georg@ubuntu904:~$ sudo apt-get install pv

Die Befehlsaufrufe sehen dann wie folgt aus.

Empfänger-System:

georg@ubuntu904:~$ nc -l -p 1234 | pv | dd of=/dev/sdb

Sender-System:

georg@ubuntu904:~$ dd if=/dev/sdb | pv | nc 192.168.10.1 1234


Dieser Eintrag wurde am 14.06.2009 erstellt und zuletzt am 27.02.2011 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_7_645.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer