0

我不确定这在应用层是否可行。是否可以编写程序来读取和分析数据包(可能通过它的 lua api 与wireshark 交互)并禁止具有可疑网络流量的MAC 地址?(将可疑网络流量定义为类似于已知攻击的数据包注入模式)

4

1 回答 1

0

您需要组合libnetfilter_queue和 iptables 规则。libnetfilter_queue,通过一个 Iptable 规则,会给你所有被内核数据包过滤器排队的数据包(在用户空间中)。然后它会等待您为数据包发送判决。

一旦你安装了 netfilter_queue 并编写了一个监听用户态应用程序,运行一个 iptable 规则,比如

iptable -t mangle -A PREROUTING -i eth0 -j NFQUEUE --queue-num 0

请注意,这将为您提供所有数据包,然后内核将等待您做出判断,或者如果没有用户土地应用程序正在运行,则会丢弃它。您可以在各种粒度级别设置 iptables 规则,例如 src IP , 协议等

一旦您确定必须禁止特定 MAC 地址,请运行 iptables 规则,例如(从您的用户区应用程序中,您可以使用system()该规则运行此 iptable 规则)

iptables -A INPUT -m mac --mac-source 00:0F:EA:91:04:08 -j DROP

netfilter_queue 上的示例程序可帮助您入门。希望能帮助到你。

另一个注意事项:阅读 iptables 或在 serverfault 处询问。涉及多个表(输入、输出、mangle、prerouting、forward、nat 等),我可能错误地为 iptable 规则建议 mangle 表。

于 2010-06-27T15:08:17.133 回答