WEB开发网
开发学院网络安全安全技术 如何使用访问控制列表防御IP碎片攻击? 阅读

如何使用访问控制列表防御IP碎片攻击?

 2010-05-28 00:00:00 来源:WEB开发网   
核心提示:利用扩展ACL防止IP Fragment攻击1.基本概念要说fragment的话,先说一下MTU(Maximum Transmission Unit,如何使用访问控制列表防御IP碎片攻击?,最大传输单元),这个是数据链路层的PDU(Protocol Data Unit,这个回头在IPv6中提到,IP数据包在封装时, 在

利用扩展ACL防止IP Fragment攻击

1.基本概念

要说fragment的话,先说一下MTU(Maximum Transmission Unit,最大传输单元),这个是数据链路层的PDU(Protocol Data Unit,协议数据单元),也就是帧的大小。

不同的数据链路层协议, 帧的格式也不同, 但大致都会有目标MAC地址、源MAC地址、长度/类型、数据(有效载荷: Payload)这几个字段。 对最常见的以太网而言, 采用的是数据链路层协议是基于IEEE 802.2/802.3, 但与标准IEEE 802.2/802.3略有区别。以太网帧中的数据(有效)字段的长度范围是46-1500个字节。这个1500就是以太网的MTU。不同链路层协议, MTU值也不同, 对以太网, MTU是1500字节, 而对令牌环(Token Ring)网, MTU是4482字节。当链路层的上层协议,比如IP协议所要传输的IP数据包(包括IP Header)大小超过这个长度范围时, IP数据包就必须分成多片传输, 这个过程就是分片(Fragmentating), 其中分割出来的每一个片断就是一个Fragment。

2.IP包中于分片有关的字段

注意;我们接着往下提到的IP包中的字段都是IPv4中的,IPv6的包中没有关于分片的字段,因为IPv6中采用了不同的关于MTU的机制,这个回头在IPv6中提到。

IP数据包在封装时, 在IP头的第8-9个字节(16bit)中, 存放关于分片的信息. 其中前3个bit表示分片的状态, 后13个bit表示当前片断在分片之前的整块待封装的数据包中的偏移量(因为IP数据包的最大可能长度为16bit, 而这13bit无法表示16bit的范围, 故实际使用时, 偏移量的计算是用这13bit的值乘8(3bit), 以实现表示16bit的范围)。

不分片标记(Don't Fragment Flag)

IP头第8-9字节从左往右的第2bit表示当前IP数据包是(1)否(0)不分片, 缺省值为0, 就是不不分片, 即允许分片. 因为默认允许分片, 所以我们平常使用Ping命令时, 加参数-l 65500(指定IP包大小)Ping一台机器也不会有问题。

1 2 3  下一页

Tags:如何 使用 访问

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接