Answers:
在Debian上可以看到,至少有3或4种不同的netcat实现:
我去买openbsd。每个版本的语法可能都略有不同,因此请注意。
顺便说一句:socat是一个比netcat更好的工具,能够做更多的事情。你应该试试看!
socat tcp6-listen:2222,reuseaddr -
(或者可能是reuseport
)。
我相信ipv4和ipv6的功能实际上是由于存在多个实现(分支)或完全不同的版本而造成的混乱。如果您进行搜索,则会偶然发现的信息nc6
。这种实现似乎在基于BSD的发行版中。
我会尝试nc6
在您的特定发行版上安装并运行它,而不是nc
为ipv6提供支持。
我能够找到日期为2018年1月11日的提交,添加了IPv6补丁,该补丁显然是将IPv6功能重新添加到您所称的较新版本的netcat中。
注意:我只能在系统上访问nc 7.50,并且正如您所描述的,它同时支持-4
和-6
。
我怀疑您认为netcat的更新版本实际上是一个较旧的版本:http : //nc110.sourceforge.net/。
如果您需要各种实现的详尽列表,可以在Wikipedia有关Netcat的问题中找到。
netcat的原始版本是Unix程序。最新版本(1.10)于1996年3月发布。1
在大多数Linux发行版中,大多数使用GNU netcat或NMAP版本:
POSIX系统上有多种实现,包括从头开始重写,例如GNU netcat [5]或OpenBSD netcat,其中6支持IPv6和TLS。OpenBSD版本已被移植到FreeBSD base 7和Windows / Cygwin。8 Mac OS X自OSX 10.13起安装了netcat,或者用户可以使用MacPorts安装变体。[9] 还有可用的Microsoft Windows版本的netcat。[10]
例如,在CentOS 7.x上:
$ nc --version
Ncat: Version 7.50 ( https://nmap.org/ncat )
$ rpm -qf /bin/nc
nmap-ncat-6.40-13.el7.x86_64
socat
工具。显然,它还有更多选择,以下是:socat tcp6-listen:2222
做这项工作。