如何虚拟化Linux应用程序正在侦听的IP端口?

我有一个没有源代码的Linux应用程序.它侦听特定端口上的传入TCP连接.因为它设计错误,它一次只能处理一个连接.

我想运行这个应用程序的多个实例,让他们每个人都认为自己拥有该端口,通过虚拟化的套接字创建调用 – 即提供一个重定向层将传入连接分配给这些应用程序池,否则不会跑,因为他们争夺那个港口.

我很乐意编写粘合代码,但似乎已经有一些套接字创建的拦截解决方案不应该重新发明.在那儿?

最佳答案
您应该能够使用具有LD_PRELOAD的库来覆盖应用程序对套接字API的使用.您可能希望首先查看socksify实用程序的代码,例如tsocks或3dante中的socksify作为起点.

实际上,您甚至可以设置socks服务器并使用其中一个现有实用程序来解决此问题.

转载注明原文:如何虚拟化Linux应用程序正在侦听的IP端口? - 代码日志