私は次のようにトンネルを運営しています。
socat TCP-LISTEN:9090,fork TCP:192.168.1.3:9090
文字列がトンネルを通過するコードを実行するスクリプトを実行したいと思います。
スクリプトは文字列を変更せずに単独で処理しますが、2つの端の間を変更せずに通過できるようにします。
可能ですか?
ベストアンサー1
それ今可能socat v2では、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にデータを書き込む