Nicht in der Lage zu erstellen netlink socket: Protocol wird nicht unterstützt

Fand ich ein Beispiel über das abfangen von IPv6-Paketen mit netfilter zusammen mit libipq library.

Es beginnt mit der Anmeldung und das erstellen eines ipq_handle Struktur:

struct ipq_handle *h;
h = ipq_create_handle(0, NFPROTO_IPV6);
if (!h) die(h);

Den entsprechenden Matrize () - Funktion ist wie folgt

static void die(struct ipq_handle *h)
ipq_error("Passer");
ipq_destroy_handle(h);
exit(1);

Jedoch, das Programm nicht ordnungsgemäß ausgeführt werden, erzeugen die folgenden:

Passer: kann Nicht erstellt netlink socket: Protokoll wird nicht unterstützt

Jemand kennt die wahrscheinliche Ursache des Problems?

Hast du IPv6 aktiviert das Betriebssystem?
Offensichtliche Antwort: IPv6 wird nicht unterstützt in dieser version?
Ich bin mit ubuntu 12.04 auf meinem virtuellen Maschinen. Ich denke, IPv6 ist standardmäßig aktiviert. Eigentlich habe ich konfigurierte Globale IPv6-Adressen und verwaltet das senden von IPv6-UDP-sockets, bevor Sie Sie verwenden netlink-sockets!
Ich glaube, Sie brauchen die ip6_queue kernel-Modul. Seine nicht Teil meiner ubuntu 13.04 Standard-desktop-Installation zumindest. Edit: vielleicht bin ich ein wenig out of date: lxr.linux.keine/#linux+v3.9/Dokumentation/ABI/entfernt/ip_queue (ich hoffe, die libipq devs nicht)
Es war offenbar veraltet!

InformationsquelleAutor Mouad | 2013-04-29

Schreibe einen Kommentar