转载自:http://blog.onovps.com/archives/iptables-length.html
Iptables下length模块可对数据包的大小进行匹配操作,拒绝非必要的数据进入。
length使用参数:
-m length --length num #匹配指定大小的数据 -m length ! --length num #匹配非指定大小数据 -m length --length num: #匹配大于或等于 -m length --length :92 #匹配小于或等于 -m length --length num:num #匹配指定区间
length应用示例(使用Ping):
#仅允许数据包小于或等于60字节的ping请求数据进入 iptables -I INPUT -p icmp --icmp-type 8 -m length --length :60 -j ACCEPT
PING测试Wwindows下ping默认发送32字节数据,包含IP、ICMP头28字节,共60字节。
ping x.x.x.x 正在 Ping x.x.x.x [x.x.x.x] 具有 32 字节的数据: 来自 x.x.x.x 的回复: 字节=32 时间=183ms TTL=51 来自 x.x.x.x 的回复: 字节=32 时间=212ms TTL=51 来自 x.x.x.x 的回复: 字节=32 时间=185ms TTL=51 来自 x.x.x.x 的回复: 字节=32 时间=178ms TTL=51 #默认可以PING通过,然后自定义数据大小PING ping -l 40 x.x.x.x 正在 Ping x.x.x.x 具有 40 字节的数据: 请求超时。 请求超时。 请求超时。 请求超时。 #可见如果PING发送数据超过系统限制会拒绝数据包进入