IP分片重组的问题
2017-02-13 13:41
288 查看
在IP层协议处理IP分片重组时,会调用ip_defrag() -> ip_frag_queue()
在ip_frag_queue函数中有关于分片与前个分片或后个分片重叠的情形,比如与前个分片重叠的处理:
C/C++ code
?
我想问的是,在什么情况下会发生分片间重叠的情况?IP分片时应该都是分割的不会重叠的
内核对分片队列fragments限制了内存大小的,应该不会被溢出
C/C++ code
?
不明白的还是如果重叠攻击才会导致分片重叠,直接在IP重组时丢弃掉不行吗?
一定不只是攻击行为,分片重叠一定还有其他用途,可我现在只能举出这个例子。
现在的内核一定不会有溢出的可能,限制ip碎片的大小应该不是关键,最后ip包要整合在一起送给上一层协议处理,ip包声明的长度和实际送上来的数据长度就有可能出现偏差。
重叠部分的大小不确定,这个丢弃的工作也不好完成把。个人认为ip层的数据应该尽量多的交给上层,这样上层控制才能更灵活。
在ip_frag_queue函数中有关于分片与前个分片或后个分片重叠的情形,比如与前个分片重叠的处理:
C/C++ code
?
内核对分片队列fragments限制了内存大小的,应该不会被溢出
C/C++ code
?
一定不只是攻击行为,分片重叠一定还有其他用途,可我现在只能举出这个例子。
现在的内核一定不会有溢出的可能,限制ip碎片的大小应该不是关键,最后ip包要整合在一起送给上一层协议处理,ip包声明的长度和实际送上来的数据长度就有可能出现偏差。
重叠部分的大小不确定,这个丢弃的工作也不好完成把。个人认为ip层的数据应该尽量多的交给上层,这样上层控制才能更灵活。
相关文章推荐
- IP包的分片和重组——路由器的分片攻击
- libnids中TCP/IP栈实现细节分析(下)——IP分片重组
- suricata 3.2 源码分析(IP数据包分片重组流程)
- Lwip IP包分片重组
- libnids-1.21 中 IP 分片重组分析 之数据结构与处理流程
- IP分片重组的分析和常见碎片攻击
- ip virtual-reassembly:IP虚拟分片重组
- TCP/IP协议栈关于IP分片重组
- libnids-1.21 中 IP 分片重组分析之数据结构与处理流程
- IP包分片问题实例分析 推荐
- IP虚拟分片重组配置命令
- IP分片重组的分析和常见碎片攻击 v0.2
- libnids中TCP/IP栈实现细节分析(下)——IP分片重组
- IP虚拟分片重组配置命令
- 【linux内核2.4.26·网络】IP分片重组过程函数解析
- libnids-1.21 中 IP 分片重组分析 之数据结构与处理流程
- Linux内核网络部分---IP数据报文分片重组
- ip分片重组 ip_defrag
- IP包分片与重组视屏