Bash: 连接到 Linux 抽象 UNIX 套接字

6
我有一个用于监听连接的抽象Linux套接字
抽象Linux套接字基本上就是一个命名的AF_UNIX套接字——只不过它的名称并不指向文件系统上的文件。相反,该名称只是位于内核内部的抽象套接字命名空间中的唯一名称。
我的问题是:有没有办法仅使用Bash shell连接到抽象套接字?我知道从这个问题中,您可以使用socatnetcat连接到与文件系统上的文件相关联的常规命名的AF_UNIX套接字。但当我尝试在抽象套接字上使用时,它没有起作用(它将我的名称字符串视为文件,并报告“找不到文件”,这正是我预期的)。
所以,有没有任何实用程序可以用来连接到抽象Linux套接字?
1个回答

6
现代版本的socat专门为此目的提供了一个抽象命名空间。
引用自手册:
ABSTRACT-CONNECT: ABSTRACT-LISTEN: ABSTRACT-SENDTO: ABSTRACT-RECVFROM: ABSTRACT-RECV: ABSTRACT-CLIENT: 这些抽象地址与相关的UNIX地址几乎相同,除了它们不是针对基于文件系统的套接字,而是针对备用的UNIX域地址空间。为了实现这一点,套接字地址字符串在内部以"\0"为前缀。此功能仅适用于Linux(只有?)。与相关的UNIX地址一样,选项组相同,只是抽象地址不属于NAMED组。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接