linux – 使用netcat将unix socket连接到tcp socket
发布时间:2020-12-14 02:14:35 所属栏目:Linux 来源:网络整理
导读:我试图使用此命令将unix套接字公开为tcp套接字: nc -lkv 44444 | nc -Uv /var/run/docker.sock 当我尝试从浏览器访问localhost:44444 / containers / json时,它不会加载任何东西,但保持连接打开(加载东西不断旋转),但是控制台(因为-v标志)显示正确的http响
我试图使用此命令将unix套接字公开为tcp套接字:
nc -lkv 44444 | nc -Uv /var/run/docker.sock 当我尝试从浏览器访问localhost:44444 / containers / json时,它不会加载任何东西,但保持连接打开(加载东西不断旋转),但是控制台(因为-v标志)显示正确的http响应. 关于如何使这个工作的任何想法? PS:我知道我可以使用socat,或者只是告诉docker也可以监听tcp套接字,但是我使用的是项目的原始vm图像,除了/ home之外它不会让我修改任何东西. 解决方法
您只是重定向传入数据,而不是传出数据.
尝试: mkfifo myfifo nc -lkv 44444 <myfifo | nc -Uv /var/run/docker.sock >myfifo 见http://en.wikipedia.org/wiki/Netcat#Proxying 编辑:在脚本中,您需要随机生成fifo的名称,并在打开后将其删除: FIFONAME=`mktemp -u` mkfifo $FIFONAME nc -lkv 44444 < $FIFONAME | nc -Uv /var/run/docker.sock > $FIFONAME & rm $FIFONAME fg (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |