J'utilise la dernière version de netcat (v1.10-41.1
) qui ne semble pas avoir d'option pour les adresses IPv6 (comme le -6
était dans les anciennes versions de nc
).
Si je tape nc -lvnp 2222
et vérifiez les ports d'écoute avec netstat -punta
, le serveur semble écouter sur le port 2222
pour les adresses IPv4 uniquement:
tcp 0 0 0.0.0.0:2222 0.0.0.0:* LISTEN 2839/nc
tcp6 n'est pas actif comme, par exemple, mon serveur Apache2:
tcp6 0 0 :::80 :::* LISTEN -
Il y a au moins 3 ou 4 implémentations différentes de netcat comme vu sur Debian:
J'irais pour l'openbsd. Chaque version peut avoir une syntaxe subtilement différente, alors faites attention.
Soit dit en passant: socat est un bien meilleur outil capable de faire vraiment bien plus que netcat. Tu devrais l'essayer!
Je crois que la fonctionnalité d'ipv4 et d'ipv6 est en fait le résultat de la confusion autour de l'existence de plusieurs implémentations (fourches) ou de versions complètement différentes. Si vous recherchez, vous tomberez sur des mentions de nc6
. Cette implémentation semble être dans les distributions basées sur BSD.
J'essaierais d'installer nc6
sur votre distribution particulière et l'exécuter au lieu de nc
pour la prise en charge d'ipv6.
J'ai pu trouver ceci commit daté du 2018-01-11- ajouter le correctif IPv6 qui ajoute clairement la fonctionnalité IPv6 dans ce que vous appelez la version plus récente de netcat.
REMARQUE: Je n'ai accès qu'à nc 7.50 sur mes systèmes et, comme vous le décrivez, prend en charge les deux -4
et -6
.
Je soupçonne que ce que vous pensez être une version plus récente de netcat est en fait une version beaucoup plus ancienne: http://nc110.sourceforge.net/ .
Si vous souhaitez une liste exhaustive des différentes implémentations, celle-ci est disponible dans la question Wikipedia sur Netcat .
La version originale de netcat était un programme Unix. La dernière version (1.10) est sortie en mars 1996 . 1
Sur la plupart des distributions Linux, soit GNU netcat ou la version NMAP semble être ce que la plupart utilisent:
Il existe plusieurs implémentations sur les systèmes POSIX , y compris les réécritures à partir de zéro comme GNU netcat- [5] ou OpenBSD netcat, 6 ce dernier prenant en charge IPv6 et TLS . La version d'OpenBSD a été portée sur la base FreeBSD7 et Windows/Cygwin . 8 Mac OS X est livré avec netcat installé à partir d'OSX 10.13 ou les utilisateurs peuvent utiliser MacPorts pour installer une variante. [9] Il existe également une version Microsoft Windows de netcat. [10]
Par exemple, sur 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