目录

  • Wireshark操作
  • 一、观察不分片标志对较短IP报文传输的影响
  • Windows命令行提示窗口
  • Wireshark
  • 二、观察不分片标志位对较长IP报文传输的影响
  • Windows命令行提示窗口
  • 三、将IP报文分片
  • Windows命令行提示窗口
  • Wireshark



Wireshark操作

步骤1:在 PC1 上运行 Wireshark,开始截获报文,为了只截获和实验内容有关的报文,将 Wireshark 的 Captrue Filter 设置为“icmp”;
步骤2: PC1 ping PC2.
步骤3:停止截获报文,分析截获的结果。


一、观察不分片标志对较短IP报文传输的影响

Windows命令行提示窗口

打开Windows命令行提示窗口,在Windows命令行提示符中输入“ping –l 1472 –f 192.168.1.11”。参数-l 是设置ping 命令的数据的大小;参数-f是将该IP报文设置为不可分片。192.168.1.11是要ping的PC2的IP地址,这里自己修改。

系统默认是发送四个数据包,我们观察其中一个就可以

wireshark捕获局域网内指定ip wireshark怎么捕获ip数据包_IP

Wireshark

wireshark捕获局域网内指定ip wireshark怎么捕获ip数据包_路由器_02

分析该 IP 协议的报文格式:


(不分片标志对较短IP报文传输的影响)IP协议

字段

报文信息

含义

说明

版本

4

IPv4

IP所使用版本号

头长

20bytes (5)

头部长度20bytes

IP头的长度

服务类型

0x00

------

优先级标志位和服务类型标志位,被路由器用来进行流量的优先排序

总长度

1500

以太网的帧中最多可容纳 1500 字节的数据(以太网的MTU是1500)

IP头与数据包中数据的长度

标识

0xc0a5

表示这个是c0a5数据包

一个唯一的标识数字,用来识别一个数据包或者被分片数据包的次序

标志

0x40(010x xxxx)

表示这个数据包没有分片且这个帧之后也无分片数据

用来标记一个数据包是否是一组分片数据包的一部分

片偏移

0

片位移为0

一个数据包是一个分片,这个域中的值就会被用来将数据包以正确的顺序重新组装

生存周期 (TTL)

64

DNS记录在DNS服务器上存在的时间

用来定义数据包的生存周期,以经过路由器的跳数/秒数进行描述

协议

ICMP

ICMP协议

用来识别在数据包序列中上层协议数据包的类型

校验和

0xf115

用以校验

一个错误检测机制,用来确认IP头的内容没有被损坏或者篡改

源地址

192.168.1.10

PC1:源IP地址

发出数据包的主机的IP地址

目的地址

192.168.1.11

PC2:目的IP地址

数据包目的地的IP地址

二、观察不分片标志位对较长IP报文传输的影响

Windows命令行提示窗口

打开Windows命令行提示窗口,在Windows命令行提示符中输入“ping –l 1473 –f 192.168.1.11”

wireshark捕获局域网内指定ip wireshark怎么捕获ip数据包_wireshark捕获局域网内指定ip_03


需要拆分数据包但是设置DF 指的是数据包大小超过了网络限定MTU大小,即不分片时对超过MTU的长报文无法传输。

三、将IP报文分片

Windows命令行提示窗口

打开Windows命令行提示窗口,利用wireshark捕获“ping –l 4000 -n 1 192.168.1.11”命令发送的数据包;只发送一个4000大小的数据包;分别分析各个分片相关字段(标识、标志和偏移)

wireshark捕获局域网内指定ip wireshark怎么捕获ip数据包_路由器_04


原理:

wireshark捕获局域网内指定ip wireshark怎么捕获ip数据包_网络_05

Wireshark

wireshark捕获局域网内指定ip wireshark怎么捕获ip数据包_wireshark捕获局域网内指定ip_06

第一个分片:

wireshark捕获局域网内指定ip wireshark怎么捕获ip数据包_路由器_07

分析该 IP 协议的报文格式:

IP协议

字段

报文信息

含义

说明

版本

4

IPv4

IP所使用版本号

头长

20bytes (5)

头部长度20bytes

IP头的长度

服务类型

0x00

------

优先级标志位和服务类型标志位,被路由器用来进行流量的优先排序

总长度

1500

第一个分片的总长度为最大值(MTU):1500

IP头与数据包中数据的长度

标识

0xc0ae

表示这个是第c0ae个数据包

一个唯一的标识数字,用来识别一个数据包或者被分片数据包的次序

标志

0x20(001x xxxx)

表示这个数据包有分片且这个帧之后有帧

用来标记一个数据包是否是一组分片数据包的一部分

片偏移

0

片位移为0,这是第一个分片

一个数据包是一个分片,这个域中的值就会被用来将数据包以正确的顺序重新组装

生存周期 (TTL)

64

DNS记录在DNS服务器上存在的时间。

用来定义数据包的生存周期,以经过路由器的跳数/秒数进行描述

协议

ICMP

ICMP协议

用来识别在数据包序列中上层协议数据包的类型

校验和

0x111a

用以校验

一个错误检测机制,用来确认IP头的内容没有被损坏或者篡改

源地址

192.168.1.10

PC1:源IP地址

发出数据包的主机的IP地址

目的地址

192.168.1.11

PC2:目的IP地址

数据包目的地的IP地址

第二个分片:

wireshark捕获局域网内指定ip wireshark怎么捕获ip数据包_网络_08

分析该 IP 协议的报文格式:

IP协议

字段

报文信息

含义

说明

版本

4

IPv4

IP所使用版本号

头长

20bytes (5)

头部长度20bytes

IP头的长度

服务类型

0x00

------

优先级标志位和服务类型标志位,被路由器用来进行流量的优先排序

总长度

1500

第二个分片的总长度为最大值(MTU):1500

IP头与数据包中数据的长度

标识

0xc0ae

表示这个是第c0ae个数据包,注意与前一帧一致,表示都是同一组数据

一个唯一的标识数字,用来识别一个数据包或者被分片数据包的次序

标志

0x20(001x xxxx)

表示这个数据包有分片且这个帧之后有帧

用来标记一个数据包是否是一组分片数据包的一部分

片偏移

1480字节

注意这里wireshark换算为字节单位了,片位移以8字节为单位时是1480/8=185,帧中传输的也是185片偏移,这是第二个分片

一个数据包是一个分片,这个域中的值就会被用来将数据包以正确的顺序重新组装

生存周期 (TTL)

64

DNS记录在DNS服务器上存在的时间。

用来定义数据包的生存周期,以经过路由器的跳数/秒数进行描述

协议

ICMP

ICMP协议

用来识别在数据包序列中上层协议数据包的类型

校验和

0x1054

用以校验

一个错误检测机制,用来确认IP头的内容没有被损坏或者篡改

源地址

192.168.1.10

PC1:源IP地址

发出数据包的主机的IP地址

目的地址

192.168.1.11

PC2:目的IP地址

数据包目的地的IP地址

第三个分片:

wireshark捕获局域网内指定ip wireshark怎么捕获ip数据包_IP_09

分析该 IP 协议的报文格式:

IP协议

字段

报文信息

含义

说明

版本

4

IPv4

IP所使用版本号

头长

20bytes (5)

头部长度20bytes

IP头的长度

服务类型

0x00

------

优先级标志位和服务类型标志位,被路由器用来进行流量的优先排序

总长度

1068

最后一个分片的长度:1048+20=1068

IP头与数据包中数据的长度

标识

0xc0ae

表示这个是第c0ae个数据包

一个唯一的标识数字,用来识别一个数据包或者被分片数据包的次序

标志

0x01(000x xxxx)

表示这个数据包有分片且这个帧之后无帧,即这是分片的最后一帧

用来标记一个数据包是否是一组分片数据包的一部分

片偏移

2960字节

注意这里wireshark换算为字节单位了,片位移以8字节为单位时是2960/8=370,帧中传输的也是370片偏移,这是最后一个分片

一个数据包是一个分片,这个域中的值就会被用来将数据包以正确的顺序重新组装

生存周期 (TTL)

64

DNS记录在DNS服务器上存在的时间。

用来定义数据包的生存周期,以经过路由器的跳数/秒数进行描述

协议

ICMP

ICMP协议

用来识别在数据包序列中上层协议数据包的类型

校验和

0x314b

用以校验

一个错误检测机制,用来确认IP头的内容没有被损坏或者篡改

源地址

192.168.1.10

PC1:源IP地址

发出数据包的主机的IP地址

目的地址

192.168.1.11

PC2:目的IP地址

数据包目的地的IP地址