J'utilise la dernière version de netcat ( v1.10-41.1
) qui ne semble pas avoir d'option pour les adresses IPv6 (comme -6
c'était le cas dans les anciennes versions de nc
).
Si je tape nc -lvnp 2222
et vérifie les ports d'écoute avec netstat -punta
, le serveur semble écouter 2222
uniquement sur le port les adresses IPv4:
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 -
socat
outil. Il a apparemment beaucoup plus d'options, et ce qui suit: asocat tcp6-listen:2222
fait le travail.socat tcp6-listen:2222,reuseaddr -
(ou probablement à lareuseport
place) si vous souhaitez l'utiliser deux fois de suite lorsque le serveur (la commande socat) se déconnecte en premier.Je crois que la fonctionnalité d'ipv4 et d'ipv6 est en fait le résultat d'une 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 de l'exécuter au lieu de lanc
prise en charge ipv6.De plus amples recherches
J'ai pu trouver ce commit daté du 11-01-2018 - ajouter un correctif IPv6 qui ajoute clairement la fonctionnalité IPv6 dans ce que vous appelez la nouvelle version 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 .
Sur la plupart des distributions Linux, GNU netcat ou la version NMAP semblent être ce que la plupart utilisent:
Par exemple, sur CentOS 7.x:
la source