长度过滤
Iptables下length模块可对数据包的长度进行匹配。
length使用参数:
-m length --length num #匹配指定大小的数据
-m length ! --length num #匹配非指定大小数据
-m length --length num: #匹配大于或等于
-m length --length :92 #匹配小于或等于
-m length --length num:num #匹配指定区间
示例:
iptables -I INPUT -p icmp -m length --length :60 -j ACCEPT
#仅允许数据包长度小于或等于60字节的ping请求数据进入
注意:这里的长度指的是ip层以及ip层之上数据的总长度,不包含以太层长度。
icmp头过滤
ip6tables -I INPUT -p icmpv6 --icmpv6-type 128 -m length --length :1280 -j NFQUEUE --queue-num 0
- -I INPUT 表示指定INPUT链
- -p icmpv6 表示icmpv6的协议
- –icmpv6-type 128 表示匹配icmpv6的type等于128(request)的包
- -m length --length :1280 长度过滤,上面已经说过了
- -j NFQUEUE --queue-num 0 转到NFQUEUE中,队列号为0