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

时间:2014-10-27 00:20:57

标签: linux bash sockets

我有 abstract Linux socket 监听连接。

抽象的Linux套接字基本上是一个名为AF_UNIX的套接字 - 除了名称没有引用文件系统上的文件。相反,名称只是位于内核中抽象套接字命名空间内的唯一名称。

我的问题:有没有办法只使用Bash shell连接到抽象套接字?我从this question知道您可以使用socatnetcat连接到与文件系统上的文件关联的普通命名AF_UNIX套接字。但是当我尝试使用抽象套接字时,它没有工作(它将我的名字字符串视为文件,并报告&#34;文件未找到&#34;,这是我的预期。)< / p>

那么,我可以使用任何实用程序连接到抽象 Linux套接字吗?

1 个答案:

答案 0 :(得分:5)

socat的现代版本只有ABSTRACT命名空间。

引自the manual

  

摘要-CONNECT:其中串GT;

     

摘要-LISTEN:其中串GT;

     

摘要-SENDTO:其中串GT;

     

摘要-recvfrom的:其中串GT;

     

摘要-RECV:其中串GT;

     

摘要-CLIENT:其中串GT;

     

ABSTRACT地址几乎与相关的UNIX地址相同,只是它们不处理基于文件系统的套接字,而是处理备用UNIX域地址空间。为了实现这一点,套接字地址字符串以&#34; \ 0&#34;为前缀。内部。此功能在Linux上可用(仅限?)。选项组与相关的UNIX地址相同,只是ABSTRACT地址不是NAMED组的成员。