netcat (Kurzform nc) ist ein Kommandozeilen-Werkzeug, das Daten über TCP- oder UDP-Verbindungen sendet und empfängt. Wegen seiner Vielseitigkeit — Port-Tests, Dateiübertragung, einfache Server und Debugging — gilt es als „Schweizer Taschenmesser" der Netzwerkadministration. Moderne Varianten heißen OpenBSD netcat, Ncat (von Nmap) oder GNU netcat.
Verbindungen testen
nc -zv server.example.com 22 # Prüfen, ob Port 22 erreichbar ist
nc -zv server.example.com 20-25 # Portbereich scannen
nc -vz -u server.example.com 53 # UDP-Port testen
echo "test" | nc server.example.com 80 # Rohes HTTP-Request senden
-z (zero I/O) sendet keine Daten, sondern meldet nur, ob der Port offen ist. -v gibt die Diagnose aus, -u schaltet auf UDP um. Im Gegensatz zu tshark und tcpdump baut netcat aktiv Verbindungen auf statt passiv zu lauschen.
Dateien übertragen
# Auf dem Empfänger (Port 1234 lauschen):
nc -l -p 1234 > empfangene-datei.txt
# Auf dem Sender:
nc -w 3 server.example.com 1234 < zu-sendende-datei.txt
Auf dem Empfänger startet nc -l -p 1234 einen einfachen Listener, der die ankommenden Daten in die Datei umleitet. Der Sender schickt den Inhalt der Datei über die Verbindung. So lassen sich auch Binärdateien ohne FTP oder SCP übertragen — allerdings unverschlüsselt, daher nur im vertrauenswürdigen Netz.
Einfache Server und Debugging
nc -l -p 8080 # Mini-HTTP-Server (gibt Anfragen aus)
{ echo "HTTP/1.1 200 OK"; echo ""; echo "Hallo"; } | nc -l -p 8080
nc -l -p 1234 < /dev/zero | pv > /dev/null # Bandbreite messen (mit pv)
Sicherheitshinweise
- Reverse Shells: Angreifer nutzen netcat, um eine entfernte Shell zu öffnen (
nc -e /bin/bashauf dem Ziel, Listener beim Angreifer). Die-e-Option fehlt in den meisten modernen netcat-Versionen bewusst. - Unverschlüsselt: netcat überträgt Klartext — für Fernzugriff SSH verwenden.
- Firewall-Test:
nc -zvgehört zum Standard-Repertoire, um Regeln zu prüfen — etwa nach dem Konfigurieren einer Firewall. - Port-Scans: Für gründliche Scans ist nmap das bessere Werkzeug; netcat eignet sich für schnelle Einzelchecks.