今天我在阅读nc
手册页并偶然发现了这个命令。我知道:
mkfifo /tmp/f
在/tmp/f创建命名管道。cat /tmp/f
正在打印写入该命名管道的任何内容,并且输出cat /tmp/f
被管道传输到/bin/sh
/bin/sh
以交互方式运行,stderr 被重定向到 stdout。- `然后将输出通过管道传输到正在侦听端口 1234 的 nc
- 并且输出最终再次重定向到命名管道。
运行时,连接到该端口(即 1234)上的远程服务器会打开一个 shell 提示符,客户端可以执行任意命令。但它是如何工作的呢?