![MacOS 上的 nc (netcat) 是否缺少“-e”标志?](https://linux22.com/image/107851/MacOS%20%E4%B8%8A%E7%9A%84%20nc%20(netcat)%20%E6%98%AF%E5%90%A6%E7%BC%BA%E5%B0%91%E2%80%9C-e%E2%80%9D%E6%A0%87%E5%BF%97%EF%BC%9F.png)
当我尝试运行时nc -l 1337 -e /bin/bash
,它说:
nc: invalid option -- e
usage: nc [-46AacCDdEFhklMnOortUuvz] [-K tc] [-b boundif] [-i interval]
[-p source_port] [--apple-delegate-pid pid] [--apple-delegate-uuid uuid]
[-s source_ip_address] [-w timeout] [-X proxy_version]
[-x proxy_address[:port]] [hostname] [port[s]]
我想远程运行命令,但它只是远程打印文本。为什么这不起作用以及如何修复它?
答案1
你不必使用nc -l 1337 -e /bin/bash
.相反,另一种工作方式完全相同的方法是nc -l 1337 | /bin/bash
将接收到的所有内容输出到/bin/bash
.
答案2
或者尝试nc target port | /bin/bash | nc target port
例子:
nc 192.168.1.10 4444 | /bin/bash | nc 192.168.1.10 4444
它将把从第一个接收的内容重定向到第二个nc
,/bin/bash
并将输出重定向/bin/bash
到第二个nc
。这是一种解决方法,但它确实有效。 :)
否则只需安装 ncat。