有谁知道我如何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
我想我可以通过运行这样的方式来实现我所追求的socat
:
socat -d -d TCP4-LISTEN:1234,fork,so-bindtodevice=eth0 UNIX-CLIENT:/tmp/foo.sock
但我相信我缺少一些低级网络编程知识,因此不太了解这个选项应该做什么,我只是希望它应该做我想做的事情,但实际上它实际上绑定到所有网络接口。