![一旦旧连接断开,busybox nc 服务器就无法接受新连接](https://linux22.com/image/225922/%E4%B8%80%E6%97%A6%E6%97%A7%E8%BF%9E%E6%8E%A5%E6%96%AD%E5%BC%80%EF%BC%8Cbusybox%20nc%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%B0%B1%E6%97%A0%E6%B3%95%E6%8E%A5%E5%8F%97%E6%96%B0%E8%BF%9E%E6%8E%A5.png)
BusyBox v1.36.1 (2023-07-17 18:29:09 UTC) 多调用二进制文件。
我运行最小的数控服务器,例如:
nc -lkp 12345
我可以连接一次nc localhost 12345
。 ctr-C 后,下一次尝试将失败。
但是如果我用-e
它运行一些东西就会起作用:
nc -lkp 12345 -e /bin/cat
谁能解释这种行为?
答案1
并非所有版本的 netcat 都支持-e
.
如果没有-e
netcat,则将其标准输入复制到连接到它的第一个东西。当该连接关闭时,它就会退出。
使用该-e
选项,每个新连接都会从所提供命令的新执行中获取输出。如果多个事物同时连接cat
,事情可能不会那么顺利,因为多个猫都会尝试从标准输入获取输入以进行发送。