是否可以使用 shell 命令建立 Socket 会话(服务器和客户端之间)?

是否可以使用 shell 命令建立 Socket 会话(服务器和客户端之间)?

根据我读到的内容(仅是大纲,我不懂C语言),通过按一定顺序调用服务器和客户端的函数,在服务器和客户端之间建立套接字会话。

It starts with the Server:
socket()     #creates communication point
bind()       #gives this communication point an address
listen()     #tells it to be ready for some signal

then the Client:
socket()
connect()    #establishes a line between himself and the listening Server

now both can talk with each other by using read() and write().

嗯,这是用 C 编程语言实现的,但是也可以用 Shell 来实现吗?如果可以的话,这样做有意义吗?

答案1

有多个程序可用于从命令行(或通过 shell 脚本)建立套接字连接。最常见的可能是netcat,其中至少有三种实现:

bc手册页提供了许多示例,例如,以下是如何在套接字上运行(基于手册页中更可怕的示例) :

mkfifo /tmp/f && cat /tmp/f | bc -i 2>&1 | nc -l 127.0.0.1 1234 > /tmp/f

然后您可以bc使用以下命令连接到该网络:

nc localhost 1234

或者用socat,它是:

socat EXEC:'bc -i' TCP4-LISTEN:1234,bind=127.0.0.1   # server
socat - TCP4:127.0.0.1:1234                          # client

相关内容