我想根据某些标准从我的机器上丢弃传出的 IP 数据包。我检查了 iptables 提供的功能,但不幸的是它没有我要找的东西。
所以我想要的是访问数据包(至少那些在我的机器上生成并发送出去的)。并根据某些标准删除它们的能力。
我应该考虑修改 iptables 源代码以添加此功能,还是应该制作一个 Linux 内核模块来执行此操作?或者还有什么我应该调查的吗?
我需要一些一般指导,但任何细节(例如 iptables 中可以添加此类功能的特定文件)也将非常有用!
最佳答案
您可以使用 netfilter 的 NFQUEUE 目标。它将数据包发送到用户空间程序,该程序可以解析有效负载并返回诸如 DROP 或 ACCEPT 之类的决定。
您可以在 netfilter website 上找到文档和示例.
此功能在 man iptables
的开头提到...
关于linux - 在 Linux 中丢弃 IP 数据包的能力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7911174/