Heute muß ich mal wieder ein paar große Dateien über das Netzwerk auf einen anderen PC kopieren. Da das im lokalen Netz passieren soll, verzichte ich auf Verschlüsselung. Also ist ssh nicht das Tool der Wahl
Daher muß netcat ran. Netcat wird auf jedem PC gestartet. Zuerst auf dem PC, auf dem die Dateien landen sollen, also dem Ziel-PC
nc -l -p 30000 | tar x
und als zweites dann auf dem Quell-PC
tar -cf - DATEINAME | nc ZIEL-PC-IP-ADRESSE 30000
Was passiert?
Durch das Starten der ersten Befehlsverkettung auf dem Ziel-PC lauscht netcat auf dem Port 3000. Alles was dort angeliefert wird, wird dann an tar weitergereicht.
Die zweite Befehlsverkettung packt mit tar die Datei und reicht dieses dann an netcat weiter, welches wiederum die Tar-Daten an den Port 30000 der QUELL-IP-Adresse weiterreicht.
Jetzt ist auch klar, warum man zuerst auf dem Quell-PC nc starten muß. Die zweite Befehlszeile sendet ja sofort die Daten - also muß der Ziel-PC schon auf die Daten warten.
— Guido Thulke 14.11.2009 16:58