私は次のようにトンネルを実行しています:
socat TCP-LISTEN:9090,fork TCP:192.168.1.3:9090
トンネルを通過する文字列を使用してコードを実行するスクリプトを実行したいと思います。
スクリプトは文字列を変更せず、文字列を個別に処理するだけで、両端間で変更せずに通過できるようにします。
これは可能ですか?
答え1
その今可能socat v2では、アドレスチェーンEXEC
. stdin/stdout (ファイル記述子 0 と 1) がリスニング ソケットに接続され、ファイル記述子 3 と 4 が送信ソケットに接続されているスクリプトを実行できます。
socat - "TCP-LISTEN:localhost:8000 | EXEC:myscript.sh | TCP:myserver:80"
例では、myscript.sh は次のようになります。
- stdin(fd 0) - ポート8000からデータを読み取ります
- stdout(fd 1) - ポート8000にデータを書き込む
- fd 3 - myserver ポート 80 からデータを読み取ります
- fd 4 - myserver ポート 80 にデータを書き込みます