每个可执行的 UDP 端口可以重定向吗?

每个可执行的 UDP 端口可以重定向吗?

我有一个黑匣子程序,它监听特定的 UDP 端口。我希望它能够监听我选择的 UDP 端口。

有没有办法欺骗可执行文件侦听不同的端口。我可能会想象存在一个可以注入 LD_PRELOAD 的库,它可能会拦截系统调用并促进这一点。

虚拟机当然是一个严厉的选择,但这对我来说不是一个选择。

答案1

如果您可以告诉黑盒程序仅在特定的 IP 地址上监听,则可以将其绑定到任意环回地址,例如 127.0.0.10,然后使用 netcat(AKA)nc在 127.0.0.10 上的端口和外部 IP 上的任何端口之间建立管道。

维基百科中有一篇关于 Netcat 的文章,其中有一个关于代理的部分。您需要了解这一点,并知道 -u 选项允许您使用 UDP 而不是默认的 TCP。

在此示例中,192.168.200.200 是外部 IP,12345 是您的端口监听的黑匣子。 127.0.0.10 是你告诉黑匣子使用的 IP,987 是黑匣子粗暴地坚持使用的端口。

mkfifo backpipe
chmod {something sane backpipe}
nc -l -u 192.168.200.200 12345 0<backpipe | nc 127.0.0.10 987 1>backpipe

mkfifo如果你的系统上没有,请谷歌搜索“mknod pipe”

相关内容