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

Sil*_*ler 4 sockets linux bash

我有一个抽象的Linux套接字监听连接.

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

我的问题:有没有办法只使用Bash shell连接到抽象套接字?我从这个问题中知道你可以使用socatnetcat连接到与文件系统上的文件相关联的普通命名的AF_UNIX套接字.但是当我尝试使用抽象套接字时,它不起作用(它将我的名字字符串视为文件,并报告"找不到文件",这是我的预期.)

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

Cha*_*ffy 5

现代版本socat具有ABSTRACT用于此目的的命名空间.

引自手册:

摘要-CONNECT:<字符串>

摘要-LISTEN:<字符串>

摘要-SENDTO:<字符串>

摘要-recvfrom的:<字符串>

摘要-RECV:<字符串>

摘要-CLIENT:<字符串>

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