我可以通过 netcat 管道/重定向控制台应用程序以便可以远程使用吗?

我可以通过 netcat 管道/重定向控制台应用程序以便可以远程使用吗?

是否可以通过 netcat 来“管道”控制台应用程序的实例,以便 netcat 监听新连接并通过网络连接stdin重定向。stdout

答案1

嗯,正如记录的那样维基百科netcat文档中,有一个-e选项可以导致它产生(收到连接后,程序将调用 xecute 命令,将套接字连接到进程的 stdin、stdout 和 stderr。示例用法:

nc -l -p端口号-e程序名称

例子通常表明/bin/sh或被bash用作程序名称。不建议使用此选项,因为它基本上会打开一个匿名、无密码的访问门户进入您的计算机。当然,通过使用比 shell 功能更弱的程序(无法转入 shell 的程序),尽量减少对它的使用,并保密,可以缓解这种情况。尽管如此,的原始开发人员netcat强烈地认为此选项是个坏主意,他们默认禁用它,并在“GAPING_SECURITY_HOLE”编译选项下对其进行了条件限制。这在本文有简要提及NetCat 教程和其他netcat文件。

通过 Google 搜索,我找到了其他 Stack Exchange 网站上关于此问题的讨论:堆栈溢出服务器故障。多位贡献者提供了以下技术来在不使用该选项的情况下完成相同的操作(即在禁用该选项-e的版本中):netcat-e

在服务器上:
mkfifo管道名称
nc -l -p端口号<管道名称  | 程序名称>管道名称

在客户端上:
nc 服务器计算机名称 端口号

几点说明:

  • 在某些版本中netcat-l暗示-p,所以您应该只说然后说-l端口号。
  • 您可能希望将您的解决方案包装在一个while true循环中。

相关内容