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 443zeigt, ob ein TCP-Port erreichbar ist. - Zuhören:
nc -l 9000wartet auf eine Verbindung und gibt ein, was ankommt. Praktisch, um zu sehen, was ein Programm sendet. - Datei senden: Empfänger
nc -l 9000 > datei, Sendernc 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:80als einfache Weiterleitung odersocat - OPENSSL:host:443. - Vorsicht: Unverschlüsselt und ohne Anmeldung. Offene Listener im fremden Netz sind riskant. Siehe Sockets.
Siehe auch: SSH-Tunnel und Portweiterleitung