gpt4 book ai didi

firewall - 从 netfilter 接受用户空间中的数据包

转载 作者:行者123 更新时间:2023-12-01 02:35:36 28 4
gpt4 key购买 nike

我想在端口 80 上捕获所有要发送到转发地址的 tcp 数据包,并将它们传递给用户空间程序进行修改。我知道如何使用 IPtables 规则来做到这一点,例如

iptables -A FORWARD ... -j NFQUEUE --queue-num 10

但我似乎找不到任何例子,而且有时间限制,所以我不能只筛选wireshark代码。我正在寻找例子,甚至是一个开始的地方。我可以使用 socket 吗?或者是否有一个内核数据结构可用于将数据包从堆栈中弹出,一旦完成,如何将数据包传递回 netfilter?

最佳答案

您可以编写一个内核模块来注册特定协议(protocol)的排队数据包。
您可以阅读 netfilter-hacking-HOWTO,第 25 页有一节“处理排队的数据包”。本节在更高层次上讨论,但回答您提出的所有问题。

从以下位置下载:
http://www.netfilter.org/documentation/index.html#documentation-howto

您可以使用 nf_reinject() 让数据包得到进一步处理。

我不想重复本指南中的任何内容,但这应该足以开始。

关于firewall - 从 netfilter 接受用户空间中的数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10439956/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com