gyr*_*yre 6 sockets linux network-programming socat
有谁知道我如何监听分配socat给一个特定网络接口的所有接口?我不确定这是否可能。
如果我想绑定socat到特定的,IP:PORT我总是从命令的输出中解析 IP 信息ip,然后socat像这样绑定到它:
NETIFC=$(ip -o -4 addr list eth0 | awk '{print $4}' | cut -d/ -f1)
socat -d -d TCP4-LISTEN:1234,fork,bind=$(NETIFC) UNIX-CLIENT:/tmp/foo.sock
Run Code Online (Sandbox Code Playgroud)
我想我可以通过运行socat这样的命令来实现我所追求的目标:
socat -d -d TCP4-LISTEN:1234,fork,so-bindtodevice=eth0 UNIX-CLIENT:/tmp/foo.sock
但我相信我缺少一些低级网络编程知识,因此不太明白这个选项应该做什么,我只是简单地希望它应该做我想做的事,但事实上它实际上绑定到所有网络接口。
小智 1
以下端口转发器侦听 IP: x.y.z.t:80,而不绑定到80任何其他公开的 IP(与绑定参数不同)。
SOCAT_SOCKADDR=x.y.z.t socat TCP-LISTEN:80,reuseaddr,fork,su=nobody TCP:a.b.c.d:80\nRun Code Online (Sandbox Code Playgroud)\n\n如果一个接口有多个 IP\xe2\x80\x99,则需要进行一些实验!在这种ip v4, v6情况下,最好使用两个转发器。就我当前的目的而言,上面的代码就足够了。
| 归档时间: |
|
| 查看次数: |
10056 次 |
| 最近记录: |