[LINUX] socat

Von | 3. Dezember 2023

socat ist ein Befehlszeilentool für Linux, das Daten zwischen zwei Verbindungen transferieren kann. Der Name “socat” steht für “SOcket CAT”. Es ermöglicht die Verbindung verschiedener Arten von Datenströmen, einschließlich TCP, UDP, UNIX-Domain-Sockets, Dateien, Serial-Ports und mehr.

Mit socat können Sie eine Vielzahl von Aufgaben durchführen, darunter:

Portweiterleitung

Sie können Daten von einem Port auf einen anderen weiterleiten, sowohl lokal als auch über das Netzwerk.

socat TCP-LISTEN:8080 TCP:localhost:80

Hiermit wird der lokale Port 8080 auf den Port 80 des entfernten Hosts weitergeleitet.

Dateiübertragung

Sie können Daten zwischen Dateien kopieren.

socat FILE:input.txt FILE:output.txt

Damit wird der Inhalt von input.txt in output.txt kopiert.

Bidirektionale Kommunikation

Sie können eine bidirektionale Kommunikation zwischen verschiedenen Datenquellen herstellen.

socat EXEC:"my_script.sh",pty,ctty STDIO

Hierbei wird die Ausgabe von my_script.sh an STDIO weitergeleitet.

Verschiedene Protokolle:

socat unterstützt eine Vielzahl von Protokollen und kann zum Beispiel auch SSL/TLS-verschlüsselte Verbindungen herstellen.

socat TCP-LISTEN:443,bind=192.168.1.2,reuseaddr,fork SSL:localhost:80,verify=0
  1. Hier wird der lokale Port 443 auf den Port 80 weitergeleitet, wobei SSL für die Verschlüsselung verwendet wird.

Diese Beispiele sind nur einige Anwendungsgebiete von socat. Es ist ein leistungsstarkes Werkzeug für Netzwerkkommunikation und Datenflussmanipulation. Beachten Sie, dass die Befehle je nach Ihren Anforderungen angepasst werden können. Es ist wichtig, die socat-Dokumentation zu konsultieren, um die spezifischen Optionen und Verwendungsmöglichkeiten zu verstehen.

Teilen ...