无法创建netlink套接字:不支持协议

时间:2013-04-29 09:01:45

标签: linux sockets ipv6 netlink

我找到了一个使用netfilter和libipq库拦截IPv6数据包的例子。

首先声明并创建一个ipq_handle结构:

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

相应的die()函数如下所示

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

但是,程序无法正常运行,生成以下内容:

  

Passer:无法创建netlink套接字:不支持协议

有谁知道问题的可能原因?

1 个答案:

答案 0 :(得分:2)

与ip(6)_queue一起,libipq已被弃用。引自Wikipedia article

  

在Linux kernel-2.6.14之后,已经弃用了Libipq以支持更新的libnetfilter_queue