Iptables数据包大小匹配模块length应用(Ping)

By | 2013年3月7日

转载自: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发送数据超过系统限制会拒绝数据包进入