nc ::1 80
geht nur wenn man netcat6
installiert hat
Klassisches Beispiel: Apache2 ist listening auf ::: :80
und lässt sich sowohl über 127.0.0.1:80
als auch [::1]:80
ansprechen. Andere Dienste z.B. ssh öffenen beide Sockets.
Das bestimmt die Anwendung beim Öffnen des Sockets (IPV6_V6ONLY). Die Default-Einstellung steht unter
sysctl net.ipv6.bindv6only net.ipv6.bindv6only = 0
Wird beim Einrichten eines Sockets IPV6_V6ONLY nicht gesetzt, wird der IPv4-Socket implizit über ::ffff:192.168.x.y
geöffnet. Bug: Diese implizieten IPv4-Sockets werden aber in lsof
und netstat
nur als v6-Sockets angezeigt. Es ist also mit diesen Tools nicht feststellbar, ob ein Dienst IPv6 exclusiv läuft oder nicht.
IPv6 Adressen in komprimierter Form nicht als Text vergleichen.
Bsp.: dreimal die selbe Adresse
* aaaa:0:0:bbbb:cccc:0:0:dddd
* aaaa::bbbb:cccc:0:0:dddd
* aaaa:0:0:bbbb:cccc::dddd