====== Fallstricke ====== ===== netcat ===== nc ::1 80 geht nur wenn man ''netcat6'' installiert hat ===== listening sockets ===== == Ist ein IPv6-Dienst inklusive IPv4? == 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. ===== Handhabung IPv6 Adressen im Skript ===== 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