1. 抓包工具下载
x下面是一个IP数据报的抓包软件——IPtool的蓝奏云下载链接
https://wwix.lanzoue.com/iaGpy11klpnc
2. iptool使用
下载解压之后,右击以管理员身份运行,打开该exe文件即可

然后点击绿色运行就开始捕包了

随便点一个包进去进行分析就可以了

如下图,就是随便点了一个包

然后进行分析就可以了
3. IP数据报格式

左边和右边一一对应,按照顺序分析就行

其中主要字段的意义和功能如下:
* 版本:指IP 协议的版本;
* 头长:是指IP 数据报的报头长度,它以4 字节为单位。IP 报头长度至少为 20 字节,
如果选项部分不是4 字节的整数倍时,由填充补齐;
* 总长度:为整个IP 数据报的长度;
* 服务类型:规定对数据报的处理方式;
* 标识:是IP 协议赋予数据报的标志,用于目的主机确定数据分片属于哪个报文;
* 标志:为三个比特,其中只有低两位有效,这两位分别表示该数据报文能否分段和是
否该分段是否为源报文的最后一个分段;
* 生存周期:为数据报在网络中的生存时间,报文每经过一个路由器时,其值减 1,当生存周期变为 0 时,丢弃该报文;从而防止网络中出现循环路由;
* 协议:指IP 数据部分是由哪一种协议发送的;
* 校验和:只对IP 报头的头部进行校验,保证头部的完整性;
* 源IP 地址和目的IP 地址:分别指发送和接收数据报的主机的IP 地址。
下面 给一个IP数据报分析的例子
|   字段  |   报文信息  |   说明  | 
|   版本  |   4  |   Version,该字段指明IP协议的版本号  | 
|   头长  |   20 byte  |   Header length,指明IP数据报头部的长度  | 
|   服务类型  |   Type of service  | |
|   总长度  |   60 byte  |   Total length,指明整个IP数据报的长度,包括头部和数据部分,该字段的单位为字节  | 
|   标识  |   0  |   Indentification,用于唯一标识每一个IP数据报  | 
|   标志  |   010  |   Flags,由3个比特位组成,其中第一个比特位保留,第二个比特位表示是否允许分片,第三个比特位表示是否是最后一个分片  | 
|   片偏移  |   0  |   Fragment offset,指示当前分片在原始IP数据报中的位置  | 
|   生存周期  |   53 hops(跳数)  |   Time to Live,用于控制IP数据报在路由器中的生存时间,防止数据报无限循环  | 
|   协议  |   TCP协议  |   Protocol, 该字段指明封装在IP数据报中的数据所使用的协议类型  | 
|   校验和  |   0xf2b2 (校验正确)  |   Checksum, 用于检测IP数据报头部传输过程中的错误,防止数据报在传送过程中发生损坏或错误  | 
|   源地址  |   223.111.173.27  |   Source IP Address, 指明IP数据报的发送者的IP地址  | 
|   目的地址  |   10.40.188.106  |   Destination IP Address, 指明IP数据报的目的地的IP地址  | 


















