我正在尝试做一个简单的练习,我需要使用 netcat 设置一个托管绑定 shell 的“服务器”。在我的本地主机上。我运行的是 ubuntu 20.04
我正在跟进这教程,有这么简单的一行:
nc -nvlp 5555 -e /bin/bash
但是,当我复制粘贴这一点时,netcat 被该-e
标志搞糊涂了:
netcat: invalid option -- 'e'
删除-e
标志也没有多大帮助。在这种情况下,netcat 只是打印它的使用说明。我哪里错了?
编辑
检查我的 netcat 版本:
ask@Garsy:~$ netcat -h
OpenBSD netcat (Debian patchlevel 1.206-1ubuntu1)
答案1
并非每个版本都netcat
包含该-e {command}
选项。例如,在我的 Debian 版本上,man netcat
我安装的 OpenBSD 派生版本的文档(请参阅 参考资料)中写道,
这里没有
-c
或选项,但您仍然可以通过重定向文件描述符建立连接后执行命令。这里要小心,因为打开端口并让任何连接的人在您的站点上执行任意命令是危险的。如果你确实需要这样做,这里有一个例子-e
netcat
然后,它继续通过几个示例展示如何实现命令重定向。