Mac OS X上的Netcat -e


10

我是来自Debian的新手Macuser,而且是命令行用户。我喜欢的一种是netcat(在Mac上也称为nc)。我特别喜欢-e选项,该选项使您可以创建一个双向处理strem的进程。

不幸的是,当我使用经典版本时:

nc -l -p 6666 -e /bin/bash

Netcat与我不同意,我得到以下信息:

nc: illegal option -- e
usage: nc [-46DdhklnrtUuvz] [-i interval] [-p source_port]
      [-s source_ip_address] [-w timeout] [-X proxy_version]
      [-x proxy_address[:port]] [hostname] [port[s]]

这意味着什么?我可以通过其他方式使用此命令吗?

谢谢你的帮助,

PS:如果有人可以编辑标签,那就更好了-这里不知道netcat,nc :)

Answers:


8

经过研究后,看来netcatMacOS 中的发行版是netcat-openbsd克隆的相当旧的版本(于2005-10-07导入)。这是来自位于opensource.apple.comnetcat.c的头文件。

/* $OpenBSD: netcat.c,v 1.82 2005/07/24 09:33:56 marius Exp $ */

有3种流行的版本netcat

  • gnu-netcat或netcat版本 0.71
  • netcat 1.10或nc110(在debian中也称为netcat-traditional)
  • 正在开发中的openbsd版本(netcat-openbsd,netcat metapackage指向它)。

当前,只有gnu和1.10版本支持该-e选项,并且它被认为是不安全的。在1.10版本中,应使用-DGAPING_SECURITY_HOLEdefine进行编译以启用该-e开关。

安装此版本的最简单方法是使用自制软件或其他端口系统(自制软件使用netcat 0.71源代码)。


3

我刚刚检查了手册页。看起来不支持该标志。我想您可以下载其他版本。(也许是“ netcat”而不是“ nc”)。


是的...我想知道在这种情况下,macports / darwin或类似的方法是否会有所帮助...当我得到更多时间时,我将看看源代码版本。Thx为重新标记btw :)
Rob

3
@Rob或brew install netcat(←代码中隐藏了一个链接):-)
JariKeinänen2011年

@koiyu看起来不错...我不知道所有这些Mac东西。这听起来让人放心:)
Rob

太完美了...如果您创建答案,我会接受!也感谢Harv。
罗布

@Rob:@mspasov的最新答案比我的答案更彻底,因此值得接受。
加里·凯纳嫩(JariKeinänen)2011年

2

如果安装Nmap(debianports),您还将获得ncat。ncat基本上是nc的高级版本,具有以下选项:-e,-ssl,-broker,-chat,...

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.