有很多 UCSPI-TCP 工具。

有很多 UCSPI-TCP 工具。

inetd可以使多个具有 stdin 输入和 stdout 输出的程序像具有从套接字输入和输出到套接字的程序一样工作,并同时监视它们的侦听套接字。

有没有比只适用于单个程序更简单的程序inetd:使具有 stdin 输入和 stdout 输出的单个程序像具有来自套接字的输入和输出的程序一样工作?

谢谢。

答案1

Nmap 的 Ncat可以使用它的-c-e选项来做到这一点:

nc -l -c bc

将侦听默认端口 (31337),并在建立连接时bc以其连接到套接字的标准输入和输出运行。

nc localhost 31337

然后将连接到“远程” bc,然后您可以输入bc表达式并查看其结果。

socat也可以做到这一点(谢谢赫尔曼):

socat tcp-listen:31337,reuseaddr,fork EXEC:bc

答案2

有很多 UCSPI-TCP 工具。

以下服务器程序为./service,0.0.0.0 或 ::0 为主机 IP 地址,7777 为端口号。

还有(未在此答案中列出,但记录在各种工具集合中,qv)用于 AF_LOCAL 套接字的 UCSPI-UNIX 和 UCSPI-LOCAL 工具,用于对 FIFO 执行相同操作的工具,用于 TLS/TCP 套接字的 UCSPI-SSL 工具,以及Netlink 套接字的工具。

伯恩斯坦 ucspi-tcp

在 Daniel J. Bernstein 的 ucspi-tcp 中,有tcpserver

tcpserver -v -P -R -H -l 0 0.0.0.0 7777 \
。/服务

Bernstein ucspi-tcp 有支持 IPv6 的增强版本,例如 Erwin Hoffman 的tcpserver

tcpserver -v -P -R -H -l 0 ::0 7777 \
。/服务

Bercot s6-网络

Laurent Bercot 的 s6 网络具有s6-tcpserver4

s6-tcpserver4 -v 0.0.0.0 7777 \
。/服务
s6-tcpserver6

s6-tcpserver6 -v ::0 7777 \
。/服务
这些是其他 s6 网络工具的垫片。

nosh UCSPI 工具

nosh 工具集有tcp-socket-listentcp-socket-accept

tcp-socket-listen --combine4and6 :: 7777 \
tcp-socket-accept --verbose --localname 0 \
。/服务
它还有一个tcpserver只是其他两个的垫片,并且默认有几个选项:

tcpserver -v -l 0 :: 7777 \
。/服务

帕普 ipsvd

Gerrit Pape 的 ipsvd 有tcpsvd

tcpsvd -v 0.0.0.0 7777 \
。/服务

桑普森onenetd

亚当·桑普森有onenetd

onenetd -v :: 7777 \
。/服务

进一步阅读

答案3

除了 JdeBP 列出的程序外,导游也使用这样的包装器,称为快递cpd

相关内容