Socat-Exec-Skript im Tunnel

Socat-Exec-Skript im Tunnel

Ich betreibe einen Tunnel wie diesen:

socat TCP-LISTEN:9090,fork TCP:192.168.1.3:9090

Ich möchte ein Skript ausführen, um Code mit den Zeichenfolgen auszuführen, die durch den Tunnel laufen.

Das Skript verändert die Zeichenfolgen nicht, sondern verarbeitet die Zeichenfolgen lediglich unabhängig voneinander, ermöglicht jedoch eine Passage ohne Änderung zwischen beiden Enden.

Ist das möglich?

Antwort1

Es istjetzt möglichmit socat v2. socat v2 führt die Idee ein,Adressketten. Sie können ein Skript ausführen, wobei EXECstdin/stdout (Dateideskriptoren 0 und 1) mit dem Abhörsocket und die Dateideskriptoren 3 und 4 mit dem Sende-Socket verbunden sind:

socat - "TCP-LISTEN:localhost:8000 | EXEC:myscript.sh | TCP:myserver:80"

Im Beispiel myscript.sh:

  • stdin(fd 0) - liest Daten von Port 8000
  • stdout(fd 1) - Daten auf Port 8000 schreiben
  • fd 3 - liest Daten vom MyServer-Port 80
  • fd 4 - schreibt Daten auf MyServer-Port 80

verwandte Informationen