我找到了一个使用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套接字:不支持协议
有谁知道问题的可能原因?
答案 0 :(得分:2)
与ip(6)_queue一起,libipq已被弃用。引自Wikipedia article:
在Linux kernel-2.6.14之后,已经弃用了Libipq以支持更新的libnetfilter_queue。