Mac OS X上的Netcat


31

其他人无法nc -lp 8888在Mac OS X上工作吗?还有另一种方法可以使它起作用吗?


它怎么不起作用?它返回错误吗?
重载了2010年

我现在不在Mac电脑旁,但它会返回使用情况。nc -lp 8888在我的Ubuntu盒子上工作。
kzh 2010年

在阅读有关Docker的书之前从未听说过。他们还提到了一个叫做socat的东西,据称这是对立体声的命令。此处有更多信息stackoverflow.com/questions/16808543/install-socat-on-mac以及linux.die.net/man/1/socat以及youtube.com/watch?v=ZnwZA1GRqkw
JGFMK

Answers:


35

在我看来,该-p选项对OS X版本的netcat无效。要使其正常工作,我必须做nc -l localhost 8888


7
除非从自制软件安装,否则nc -l -p 8888可以工作。
user1338062

2
来自man nc-l ... It is an error to use this option in conjunction with the -p, -s, or -z options. ... 您可能只想保留@kzh的命令
fatuhoku 2013年

@fatuhoku我刚刚检查了手册,是的,确实在那儿说了,但是奇怪的是,如果我这样做了nc -lp 8888nc -l -p 8888否则将-p意味着监听端口。因此,我的分布式副本不会听其手册!
2013年

同意!标志有点过分表达...它应该只是拒绝做任何有用的工作,输出一条消息然后退出!
fatuhoku

也可用于nc -l 8888
polym 2015年

13

这是在OS X 10.10上使用已安装的BSD版本或Homebrew的版本的方法:

BSD版本

使用OS X随附的BSD版本时,可以像这样启动服务器

/usr/bin/nc -l 9999

家酿

要启动服务器:

nc -l -p 9999

要启动客户端:

nc targethost 9999

要获得此版本的手册页,需要使用man netcat,因为这man nc将打开BSD版本的手册页。


3

MacOS上的nc有太多错误,Apple多年来未进行任何修补。自制软件的netcat是一个非常低的版本。使用nmap中的ncat代替


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.