Eine Aufgabe, ein Werkzeug – dieser Unix-Tradition folgt auch das Programm Netcat [1]: Es beschränkt sich auf seine Arbeit im Netzwerk, erledigt diese jedoch mit facettenreicher Konsequenz. Als ersten Beispiel dafür kann das einfache Kopieren zwischen zwei Rechnern dienen.
Hin und her
Nehmen wir an, Sie möchten eine Datei namens aus.txt, die auf dem Rechner mit dem Hostnamen erde liegt, auf den Rechner sonne kopieren. Dazu starten Sie auf sonne zunächst das Programm Netcat als ansprechbaren Server mit den Optionen -l für "listen" (dt: lausche) und -p 6000, wobei der Parameter -p den Port steht, auf dem Netcat lauscht. Eine Ausgabeumleitung mittels > ein.txt sorgt zudem dafür, dass Netcat die eingehenden Daten in die entsprechende Datei schreibt. In der Regel stehen ihnen die Aufrufe netcat und die Kurzform nc zur Verfügung, um das Tool in der Shell zu starten.
sonne:~$ nc -l -p 6000 > ein.txt
Auf erde genügen die Parameter sonne und 6000, um anhand von < Original.txt die Daten an Netcat zu verfüttern und an das Netcat auf sonne zu übergeben:
erde:~$ nc sonne 6000 < aus.txt
Nachdem Sie auf erde den obigen Befehl eingegeben haben, müssen Sie das Programm dort mit [Strg]+[C] abbrechen. Der Netcat-Server auf sonne beendet sich nach dem Schreiben der Datei ein.txt damit ebenfalls. Auf ähnliche Weise verfahren Sie beim Senden ganzer Verzeichnisinhalte:
sonne:~$ nc -l -p 6000 | tar x erde:~$ tar cf - * | nc sonne 6000
Damit verstauen Sie das aktuelle Arbeitsverzeichnis, in dem Sie sich in der Shell auf erde befinden, durch die Pipe | in einen Tarball, senden diesen an sonne und entpacken ihn dort.
Kommunikation
Was passiert, wenn Sie das Tool nicht mit Ein- und Ausgabeumleitungen arbeiten lassen oder den Output des Programms durch die Pipe an ein weiteres Werkzeug weiterleiten? Dann haben Sie einen kleinen Chat:
sonne:~$ nc -l -p 2000 erde:~$ nc sonne 2000
Alles, was die Benutzer der Rechner sonne und erde nun eintippen, kann man auch auf dem jeweils anderen Rechner lesen. Daneben können Sie mit Netcat auch interaktiv arbeiten, etwa, um die Anzahl und die Größe der Mails abzufragen, die im Postfach Ihres Providers für Sie bereitliegen:
sonne:~$ nc pop.gmx.net 110 user Benutzername pass Passwort list quit
Mit den Schlüsselwörtern user und pass authentifizieren Sie sich am Server pop.gmx.net. Das folgende Kommando list befiehlt dem POP-Server, die Größe aller Nachrichten anzuzeigen, die er für Sie bereithält. Der Befehl quit beendet die Verbindung zum Server. Auf ähnliche Weise verbinden Sie sich auch mit SMTP-, NNTP- oder FTP-Servern.



