linux - 在 Linux 下将 TCP 流量重定向到 UNIX 域套接字

标签 linux unix networking sockets tcp

假设有一个旧版 Linux 应用程序正在监听 UNIX 域套接字 /tmp/foo

除了通过 UNIX 域套接字机制与这个遗留应用程序通信之外,我还希望能够通过端口 1234 上的 TCP 连接连接到它。

绑定(bind)到 TCP 端口 1234,然后将所有传入连接重定向到 UNIX 域套接字 /tmp/foo 的最简单方法是什么?

最佳答案

结果是 socat可以用来实现这个:

socat TCP-LISTEN:1234,reuseaddr,fork UNIX-CLIENT:/tmp/foo

并增加了一点安全性:

socat TCP-LISTEN:1234,bind=127.0.0.1,reuseaddr,fork,su=nobody,range=127.0.0.0/8 UNIX-CLIENT:/tmp/foo

这些示例已经过测试并按预期工作。

关于linux - 在 Linux 下将 TCP 流量重定向到 UNIX 域套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2149564/

相关文章:

c - Unix 服务器客户端连接 : Connection refused

linux - 比较unix中的两个文件并将增量添加到一个文件中

regex - 在linux中使用sed匹配两行文本

unix - 使用 wc 查找字数并分配给变量

shell - 如何从一个位置参数生成两个变量?

python - 在 Python 中 HTTP GET 的最快方法是什么?

c - fork() 返回值与进程的 ps 命令输出不同

linux - 带有项目列表的 makefile 过程变量,其中一项是带空格的引号字符串

iphone - 是否可以使用 Cocoa 创建本地 WiFi 网络,同时保持与现有的支持 Internet 的 WiFi 连接的连接?

docker - 有关Docker容器网络如何工作的问题