好用的代理工具 Socat

這個工具 socat 應該是我近期用過最好用的代理工具,原因是簡單易用。因為太好用了,我決定筆記在這裡。

安裝 socat

首先,我們先來安裝 socat

sudo apt-get update
sudo apt-get install socat

開始使用

使用範例如下:

你想將本機的 TCP 8080 轉發到 172.16.1.2 的 TCP 80 上

socat TCP-LISTEN:8080,fork,reuseaddr TCP4:172.16.1.2:80

你想將本機的 UDP 12345 轉發到 172.16.1.2 的 UDP 54321 上

socat UDP-LISTEN:12345,fork,reuseaddr UDP4:172.16.1.2:54321

其他設定技巧

[1] 如果我想同時轉發同個埠上的 TCP 及 UDP,是可以做到的嗎?

可以,就開兩個 socat,分別指向 TCP 及 UDP 就好。

[2] 支援 IPv6 嗎?

可以,在上述範例可以看到 TCP4 或是 UDP4,這個 4 就是代表 IPv4,所以若想轉發到 IPv6 上,只需要將其改成 TCP6 或是 UDP6 即可哦。

[3] 如何讓他在背景運作?

可以使用 screen 或是我之前寫的 在linux下將特定程式包成服務 就可以達成囉。