我有一个抽象的Linux套接字侦听连接。
一个抽象的Linux套接字基本上是一个名为AF_UNIX套接字 – 除了该名称不是指文件系统上的文件。 相反,名称只是位于内核中抽象套接字名称空间内的唯一名称。
我的问题:是否有任何方式连接到一个简单的抽象套接字使用Bash shell? 我知道从这个问题 ,你可以使用socat
或netcat
连接到一个正常的名为AF_UNIX套接字,与文件系统上的文件关联。 但是,当我试图用抽象套接字来使用它,它不起作用(它把我的名字string当作一个文件,并报告“文件未find”,这是我的预期。
那么,有什么实用工具可以用来连接到一个抽象的 Linux套接字?
为了这个目的, socat
现代版本有一个ABSTRACT
命名空间。
从手册引用:
摘要-CONNECT:<字符串>
摘要-LISTEN:<字符串>
摘要-SENDTO:<字符串>
摘要-recvfrom的:<字符串>
摘要-RECV:<字符串>
摘要-CLIENT:<字符串>
ABSTRACT地址与相关的UNIX地址几乎相同,只是它们不寻址基于文件系统的套接字,而是寻址备用的UNIX域地址空间。 要实现这一点,套接字地址字符串在内部前缀为“\ 0”。 此功能在Linux上可用(仅限?)。 除了ABSTRACT地址不是NAMED组的成员之外,选项组与UNIX相关的地址相同。