這個工具 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下將特定程式包成服務 就可以達成囉。