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