Ich verwende die neueste Version von netcat ( v1.10-41.1
), die anscheinend keine Option für IPv6-Adressen bietet (wie -6
in den älteren Versionen von nc
).
Wenn ich nc -lvnp 2222
empfangende Ports eintippe und mit überprüfe netstat -punta
, scheint der Server den Port nur 2222
auf IPv4-Adressen zu überwachen:
tcp 0 0 0.0.0.0:2222 0.0.0.0:* LISTEN 2839/nc
tcp6 ist nicht aktiv wie zum Beispiel mein Apache2 Server:
tcp6 0 0 :::80 :::* LISTEN -
socat
Tool vorgeschlagen haben. Es hat anscheinend viel mehr Möglichkeiten und folgendes:socat tcp6-listen:2222
Hat den Job gemacht.socat tcp6-listen:2222,reuseaddr -
(oder wahrscheinlich auchreuseport
), wenn Sie es zweimal hintereinander verwenden möchten, wenn der Server (der Befehl socat) zuerst die Verbindung trennt.Ich glaube, die Funktionalität von ipv4 & ipv6 ist in der Tat ein Ergebnis von Verwirrung, da es mehrere Implementierungen (Forks) oder völlig unterschiedliche Versionen gibt. Wenn Sie suchen, stoßen Sie auf Erwähnungen von
nc6
. Diese Implementierung scheint in den BSD-basierten Distributionen zu sein.Ich würde versuchen,
nc6
auf Ihrer speziellen Distribution zu installieren und diese anstelle dernc
IPv6-Unterstützung auszuführen.Weitere Untersuchung
Ich konnte feststellen, dass dieses Commit vom 11.01.2018 einen IPv6-Patch hinzufügt, der die IPv6-Funktionalität eindeutig wieder in die neuere Version von Netcat einfügt.
HINWEIS: Ich habe auf meinen Systemen nur Zugriff auf nc 7.50 und es unterstützt, wie Sie beschreiben, sowohl
-4
als auch-6
.Ich vermute, was Sie denken, ist eine neuere Version von Netcat ist in der Tat eine viel ältere Version: http://nc110.sourceforge.net/ .
Wenn Sie eine vollständige Liste der verschiedenen Implementierungen wünschen, finden Sie diese in der Wikipedia-Frage zu Netcat .
Auf den meisten Linux-Distributionen scheint GNU Netcat oder die NMAP-Version das zu sein, was die meisten verwenden:
Zum Beispiel unter CentOS 7.x:
quelle