分析IP头的结构

分析IP头的结构

在这里插入图片描述

根据IP数据报 来分析IP
在这里插入图片描述

由抓包结果可知 IP包为灰色部分
在这里插入图片描述

“45” 其中“4”是IP协议的版本(Version),说明是IP4。“5”是IHL位,表示IP头部的长度,是一个4bit字段,最大就是1111了,值为15(表示有15行,一行有32bit),IP头部的最大长度就是60字节。而这里为“5”,说明是20字节,这是标准的IP头部长度,头部报文中没有发送可选部分数据。

“00” 为服务类型(Type of Service)。这个8bit字段由3bit的优先权子字段,4 bit的TOS子字段以及1 bit的未用字段(现在为0)构成.4 bit的TOS子字段包含:最小延时、最大吞吐量、最高可靠性以及最小费用构成,这四个1bit位最多只能有一个为1,这里都为0,表示是一般服务。

“00 28”为IP数据报文总长,包含头部以及数据,这里表示40字节。这40字节由20字节的IP头部以及20字节的TCP头构成(最后的一个字节为数据)。

“00 1e”两个字节为数据包封装标识信息,与后面的偏移量一起用,这个是让目的主机来判断新来的分段属于哪个分组。

“00 00”其中前三位表示标志位,后面13位表示片段偏移地址。其中第一位是IP协议目前没有用上的,为0。接着的是两个标志DF和MF。DF为1表示不要分段,MF为1表示还有进一步的分段(本例为0)。然后的“00000”是分段便移(Fragment Offset)。

“80” 这个字节就是TTL(Time To Live)了,表示一个IP数据流的生命周期,用Ping显示的结果,能得到TTL的值128(将十六进制的80转化为十进制得128)。

“06” 这个字节表示传输层的协议类型(Protocol)。在RFC790中有定义,6表示传输层是TCP协议。

“da 5f”这个16bit是头校验和(Header Checksum)。

“c0 a8 6f 81”表示源地址,也就是PC的IP地址,转换为十进制的IP地址就是:192.168.111.129。

“c0 a8 6f 80”表示目标IP地址,转换为十进制的IP地址就是:192.168.111.128