作为我大学研究项目的一部分,我需要更改数据包,并且遇到了两个图书馆。分别是libnetfilter_queue
和libipq
(已弃用的版本)。在包更改方面,libnetfilter_queu
e文档几乎为零,而我遇到的唯一好的文档是通过libipq
完成的。
因此,当我运行代码时,我得到了错误传递者:无法创建netlink套接字:不支持的协议,我发现这是由于新的Linux内核不支持libipq
的事实。
我的查询是,是否有一种解决方法可以使libipq
与Ubuntu 12.04 LTS
一起使用,或者是否有任何文档或教程参考可以帮助通过libnetfilter_queue
实施数据包更改。
我在这里待了几天,找不到解决方案。您的帮助将不胜感激。 :)
非常感谢你 :)
附注:问题也发布在此处(https://askubuntu.com/questions/430234/libipq-not-supported-in-ubuntu-12-04-lts)
最佳答案
一旦ip_queue
模块消失了,就不能再使用libipq
了,因为它直接利用了该模块。因此,没有,除非您安装仍具有ip_queue
模块的旧内核,否则没有解决方法。
就是说,您完全没有提及您实际尝试过的内容。如果从基本的libnetfilter_queue
示例开始,则在设置结论时,应使用nfq_set_verdict
,并传入包含模糊数据包数据的data_len
和buf
参数。
关于c - Ubuntu 12.04不支持libipq,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22220148/