EMZETT.
Login

netcat und socat

Kurz: netcat (nc) und socat sind Kommandozeilenwerkzeuge, die rohe Netzwerkverbindungen öffnen oder annehmen. Man nennt sie das „Schweizer Taschenmesser” der Netzwerke.

Genauer: Sie verbinden Standardeingabe und -ausgabe mit einer TCP-, UDP- oder Unix-Socket-Verbindung. So lassen sich Dienste testen, Daten übertragen und Verbindungen weiterleiten.

Im Detail

  • Port prüfen: nc -zv server 443 zeigt, ob ein TCP-Port erreichbar ist.
  • Zuhören: nc -l 9000 wartet auf eine Verbindung und gibt ein, was ankommt. Praktisch, um zu sehen, was ein Programm sendet.
  • Datei senden: Empfänger nc -l 9000 > datei, Sender nc empfänger 9000 < datei.
  • Protokolle von Hand: printf 'GET / HTTP/1.0\r\n\r\n' | nc beispiel.de 80.
  • socat: Mächtiger: verbindet zwei beliebige Endpunkte (Datei, Pipe, TLS, serielle Schnittstelle), etwa socat TCP-LISTEN:8080,fork TCP:intern:80 als einfache Weiterleitung oder socat - OPENSSL:host:443.
  • Vorsicht: Unverschlüsselt und ohne Anmeldung. Offene Listener im fremden Netz sind riskant. Siehe Sockets.

Siehe auch: SSH-Tunnel und Portweiterleitung