隧道中的 Socat 執行腳本

隧道中的 Socat 執行腳本

我正在運行這樣的隧道:

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

我想運行一個腳本來執行程式碼,其中字串穿過隧道。

該腳本不會更改字串,僅獨立處理字串,但允許在兩端之間不更改的情況下通過。

這可能嗎?

答案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

相關內容