Я полагаю, что функциональность ipv4 и ipv6 на самом деле является результатом путаницы вокруг множества реализаций (вилок) или совершенно разных версий. Если вы будете искать, вы наткнетесь на упоминания о nc6
. Эта реализация, кажется, в дистрибутивах на основе BSD.
Я бы попробовал установить его nc6
на свой дистрибутив и запустить вместо nc
поддержки ipv6.
Дальнейшие исследования
Я смог найти этот коммит от 2018-01-11 - добавить патч IPv6, который явно добавляет функциональность IPv6 обратно в то, что вы называете новой версией netcat.
ПРИМЕЧАНИЕ: у меня есть доступ только к nc 7.50 в моих системах, и он, как вы описываете, поддерживает -4
и -6
.
Я подозреваю, что вы думаете, что более новая версия netcat на самом деле является гораздо более старой версией: http://nc110.sourceforge.net/ .
Если вы хотите получить исчерпывающий список различных реализаций, это доступно в Википедии о Netcat .
Первоначальная версия netcat была программой Unix. Последняя версия (1.10) была выпущена в марте 1996 года. 1
В большинстве дистрибутивов Linux большинство используют GNU netcat или версию NMAP:
Существует несколько реализаций в системах POSIX , включая переписывание с нуля, например GNU netcat [5] или OpenBSD netcat, 6 последняя из которых поддерживает IPv6 и TLS . Версия OpenBSD была портирована на FreeBSD base 7 и Windows / Cygwin. 8 Mac OS X поставляется с Netcat, установленным с OSX 10.13, или пользователи могут использовать MacPorts для установки варианта. [9] Также доступна версия netcat для Microsoft Windows. [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
сделал работу.