当前位置: 首页 > 工具软件 > Nftables > 使用案例 >

使用nftables处理ARP Flood攻击

南宫凯康
2023-12-01

需要基于debian8 jessie处理arp flood——大量arp报文施加于设备某端口,设备业务通讯不受影响,查阅资料,比较好的方式是使用nftables工具;

nftables工具在linux内核版本>3.13以上均支持使用,但debian8 jessie无法apt-get install获取,需要从源码自己编译,官网链接https://netfilter.org/projects/nftables/

下载libmnl、libnftnl、nftables三个源码tar.bz2,先编译前两个,最后编译nftables,编译步骤常见三板斧,就完事了

./configure 
make
make install

编译中途缺啥库,就apt-get install补充啥,

编译完成后,配置下动态库链接ldconfig,执行nft -v,检查下是否生效;

执行下nft -f  arp_wall.nft就可以限流了,arp_wall.nft内容如下,语法可以看看

https://wiki.nftables.org/wiki-nftables/index.php/Main_Page

flush ruleset

table arp filter {
        chain input {
                type filter hook input priority 0; policy accept;
                limit rate over 2/second counter drop
        }
}

下载libmnl、libnftnl、nftables三个源码tar.bz2要注意,要根据你操作系统的发布时间,选择下版本,优选新版本(新版本支持的模块多,例如nftables-0.5版本,就不支持limit rate over中的over,必须在nftables-0.6及以后才支持,ubuntu16.04发行版apt-get install下的版本就是0.5) 

验证了一下,选择以下三个版本在debian8下面,比较顺利:

libmnl-1.0.4.tar.bz2

libnftnl-1.0.7.tar.bz2

nftables-0.7.tar.bz2

完事儿……功能好简单,环境搭建比较烦……

弄完以后,执行以下watch语句是会显示drop掉的arp包数据的(仅限本例子arp表中的filter,不要乱套用),和iptables -nvL类似,有个drop看着直观一点;

watch -n 1 nft list table arp filter

 要是想模拟笔记本发包,下个HyenaeFE试试,发arp包看看效果

 类似资料: