文章目录
参考视频
https://www.bilibili.com/video/BV12K4y1d7kX/
抓取IP协议内容
IP协议字段解释
- version:版本
- header length:头长度
- differentiated service field:差分服务区域
- total length:总长度
- identification:标识位
- flags:标志位
- fragment offset:偏移量
- time to live:生存周期
- Protocol:上层协议
- Header checksum:校验和
- Source:源IP地址
- destination:目的IP地址
IP协议处理分片
MTU
- 最大传输单元,默认是1500字节
- 指的是一个数据包从网卡发出时,最大的total length的长度
- 如果大于1500字节就会进行分片
举例讲解
ping -s 5000 192.168.1.2
ping -s 4000 192.168.1.2
理解identification的作用
- 数据包1:5000字节需要分片,分成1500,1500,1500,500,四片
- 数据包2:4000字节需要分片,分成1500,1500,1000,三片
identification的作用就是用来标识一个分片的,也就是说:数据包1的identification都是一致的,数据包2的identification也都是一致的
理解flags的作用
- Reserved bit:保留位,暂时没作用
- Don’t fragment:DM位,该位置1,说明该数据包不能被分片
- 当一个数据包大于接口的MTU时,又不能分片,那么网络设备就会丢弃该数据包。主要是用来测试接口的MTU大小的
- More fragment:FM位,如果是最后一个分片,就用0来表示,不是最后一个分片就用1来表示
理解fragment offset的作用
- fragment offset也叫偏移量,偏移的计算是payload部分
- payload指的是去掉二层头部和三层头部后的内容
- 1500字节的分片,指的是IP+payload的大小
- 加上E2,整个数据包抓包看到的大小是1514字节
整个数据包的组成
14B + 20B + 1480B
-
第一个分片的payload取值范围:0~1479
- 偏移量:0
-
第二个分片的偏移量:1480-2959
- 偏移量:1480
-
第三个分片的偏移量:2960-4439
- 偏移量:2960
-
第四个分片的偏移量:4440~5919
- 偏移量:4440