admin管理员组

文章数量:1568418

2024年7月9日发(作者:)

实验三使用

Wireshark

分析

IP

协议

一、实验目的

1

、分析

IP

协议

协议

2

、分析

IP

数据报分片

数据报分片

二、实验环境

与因特网连接的计算机,操作系统为

Windows

,安装有

Wireshark

IE

等软

件。

件。

三、实验步骤

IP

协议是因特网上的中枢。它定义了独立的网络之间以什么样的方式协同

工作从而形成一个全球户联网。因特网内的每台主机都有

IP

地址。数据被称作

数据报的分组形式从一台主机发送到另一台。每个数据报标有源

IP

地址和目的

IP

地址,然后被发送到网络中。如果源主机和目的主机不在同一个网络中,那

么一个被称为路由器的中间机器将接收被传送的数据报,并且将其发送到距离目

的端最近的下一个路由器。这个过程就是分组交换。

IP

允许数据报从源端途经不同的网络到达目的端。每个网络有它自己的规

则和协定。

IP

能够使数据报适应于其途径的每个网络。例如,每个网络规定的

最大传输单元各有不同。

IP

允许将数据报分片并在目的端重组来满足不同网络

的规定。

的规定。

1.1 DHCP

报文

报文

报文类型

报文类型

DHCP-DISCOVER 

主要功能

主要功能

DHCP

客户端广播发送的,用来查找网络中可用的

DHCP

服务器

服务器

DHCP-OFFER 

DHCP-REQUEST 

DHCP-ACK 

DHCP-NAK 

DHCP-RELEASE 

DHCP

服务器用来响应客户端的

DHCP-DISCOVER

请求,

并为客户端指定相应配置参数

DHCP

客户端广播发送

DHCP

服务器,用来请求配置参数

或者续借租用

DHCP

服务器通知客户端可以使用分配的

IP

地址和配置

参数

DHCP

服务器通知客户端地址请求不正确或者租期已过

期,续租失败

DHCP

客户端主动向

DHCP

服务器发送,告知服务器该客

DHCP-DECLINE 

DHCP-INFORM 

户端不再需要分配的

IP

地址

DHCP

客户端发现地址冲突或者由于其它原因导致地址不

能使用,则发送

DHCP-DECLINE

报文,通知服务器所分

配的

IP

地址不可用

DHCP

客户端已有

IP

地址,用它来向服务器请求其它配置

参数

3.1 DHCP

报文

1

、使用

DHCP

获取

IP

地址

地址

1

)打开命令窗口

,

启动

Wireshark

2

)输入

ipconfig

/release

。这条命令会释放主机目前的

IP

地址,此时,

主机

IP

地址会变为

0.0.0.0 

3

)然后输入

ipconfig

/renew

命令。这条命令让主机获得一个网络配置,

包括新的

IP

地址。

地址。

4

)等待,直到

ipconfig

/renew

终止。然后再次输入

ipconfig

/renew

” 

令。

令。

5

)当第二个命令

ipconfig

/renew

” 

终止时,输入命令

“ipconfig /release” 

释放原来的已经分配的

IP

地址

地址

6

)停止分组俘获。如图

3.2

所示:

所示:

3.2 Wireshark

俘获的分组

俘获的分组

下面,我们对此分组进行分析:

下面,我们对此分组进行分析:

IPconfig

命令被用于显示机器的

IP

地址及修改

IP

地址的配置。当输入命

ipconfig /release

命令时

用来释放机器的当前

IP

地址。释放之后,该机没有有

效的

IP

地址并在分组

2

中使用地址

0.0.0.0

作为源地址。

作为源地址。

分组

2

是一个

DHCP Discover(

发现

)

报文,如图

3.2

所示。当一台没有

IP

址的计算机申请

IP

地址时将发送该报文。

DHCP Discovery

报文被发送给特殊的

255.255.255.255

,广播地址:该地址将到达某个限定广播范围内所有在线的主机。

理论上,

255.255.255.255

能够广播到整个因特网上,但实际上并不能实现,

能够广播到整个因特网上,

但实际上并不能实现,因为

但实际上并不能实现,

因为

路由器为了阻止大量的请求淹没因特网,不会将这样的广播发送到本地网之外。

DHCP Discover

报文中,客户端包括自身的信息。

报文中,

客户端包括自身的信息。特别是,

客户端包括自身的信息。

特别是,它提供了自己

特别是,

它提供了自己

的主机名和其以太网接口的物理地址。这些信息都被

DHCP

用来标识一个已知

的客户端。

DHCP

服务器可以使用这些信息实现一系列的策略,比如,分配与上

次相同的

IP

地址,分配一个上次不同的

IP

地址,或要求客户端注册其物理层地

址来获取

IP

地址。

地址。

DHCP 

Discover

报文中,客户端还详细列出了它希望从

DHCP

服务器接在

DHCP Discover

收到的信息。在

Parameter Request List

中包含了除客户端希望得到的本地网络的

IP

地址之外的其他数据项。这些数据项中许多都是一台即将连入因特网的计算

机所需要的数据。例如,

机所需要的数据。

例如,客户端必须知道的本地路由器的标识。

例如,

客户端必须知道的本地路由器的标识。任何目的地址不

客户端必须知道的本地路由器的标识。

任何目的地址不

在本地网的数据报都将发送到这台路由器上。也就是说,

在本地网的数据报都将发送到这台路由器上。

也就是说,这是发向外网的数据报

在通向目的端的路径上遇到的第一台中间路由器。

3.3 DHCP Discovery 

客户端必须知道自己的子网掩码。子网掩码是一个

客户端必须知道自己的子网掩码。

子网掩码是一个

32

位的数,用来与

位的数,

用来与

IP

址进行

按位逻辑与运算

从而得出网络地址。所有可以直接通信而不需要路由器

参与的机器都有相同的网络地址。因此,

参与的机器都有相同的网络地址。

因此,子网掩码用来决定数据报是发送到本地

路由器还是直接发送到本地目的主机。

3.4 Parameter Request List 

客户端还必须知道它们的域名和它们在本地域名服务器上的标识。域名是一

个可读的网络名。

个可读的网络名。

IP

地址为

192.168.1.1

DHCP

服务器回复了一个

DHCP OFFER

报文。该报

文也广播到

255.255.255.255

,因为尽管客户端还不知道自己的

IP

地址,但它将

接收到发送到广播地址的报文。这个报文中包含了客户端请求的信息,包括

IP

地址、本地路由器、子网掩码、域名和本地域名服务器。

DHCP 

Request

(请求)报文表明自己接收到在分组

5

中,客户端通过发送

DHCP Request

IP

地址。最后,在分组

6

DHCP

服务器确认请求的地址并结束对话。此后,

客户端开始使用它的新的

IP

地址作为源地址。

地址作为源地址。

DHCP

在分组

3

和分组

7

的地址

ARP

协议引起了我们的注意。在分组

3

中,

服务器询问是否有其它主机使用

IP

地址

192.168.1.100

(该请求被发送到广播地

址)。这就允许

DHCP

服务器在分配

IP

之前再次确认没有其它主机使用该

IP

址。在获取其

IP

地址之后,客户端会发送

3

个报文询问其他主机是否有与自己

相同的

IP

地址。前

4

ARP

请求都没有回应。

DHCP

服务器再次询问哪个主机

拥有

IP

地址

192.168.1.100

,客户端两次回答它占有该

IP

同时提供了自己的以太

网地址。

网地址。

通过

DHCP

分配的

IP

地址有特定的租用时间。为了保持对某个

IP

的租用,

客户端必须更新租用期。当输入第二个命令

ipconfig /renew

后,在分组中就会看

到更新租用期的过程。

DHCP Request

请求更新租用期。

DHCP ACK

包括租用期

的长度。如果在租用期到期之前没有

DHCP Request

发送,

DHCP

服务器有权将

IP

地址重新分配给其他主机。

地址重新分配给其他主机。

ipconfig 

/release

后的结果。在

DHCP

服务器接收到这个最后,在输入命令

ipconfig /release

报文后,客户停止对该

IP

的使用。如有需要

DHCP

服务器有权重新对

IP

地址进

行分配。

行分配。

2

、分析

IPv4

中的分片

中的分片

在第二个实验中,我们将考察

IP

数据报首部。俘获此分组的步骤如下:

数据报首部。俘获此分组的步骤如下:

“Capture”

-----“interface…”

-----

“interface…”----

“interface…”

----“start”

----

“start”

)(

1

) 启动

Wireshark

,开始分组俘获(

“Capture”-----

2

) 启动

pingplotter

pingplotter

的下载地址为

,

“Address to trace:”

下面的输入框里输入目的地址,选择菜单栏

“Edit”---

“Edit”

---“Options”

---

“Options”---

“Options”

---“Packet”,

---

“Packet”,

“Packet size(in bytes defaults=56):”

右边输入

IP

数据报大小:

5000

,按下

“OK”

。最后按下按钮

“Trace”,

你将会看

pingplotter

窗口显示如下内容,如图

3

所示:

所示:

3 ping plotter 

3

) 停止

Wireshark

。设置过滤方式为:

IP

,在

Wireshark

窗口中将会看

到如下情形

,

如图

4

所示。

所示。

在分组俘获中,你应该可以看到一系列你自己电脑发送的

“ICMP Echo 

Request”

和由中间路由器返回到你电脑的

“ICMP TTL-exceeded messages

4 

Wireshark

所俘获的分组

所俘获的分组

下面,我们来分析具体分组:

下面,我们来分析具体分组:

IP

层位于传输层和链路层之间。在传输层协议是

UDP

,链路层协议是以太

网。发送两个

UDP

数据报,每个包含

5000

个字节的数据部分和

8

字节的

UDP

首部。在分组

103-105

和分组

108-110

分别代表了先后发送的两个

UDP

数据报。

数据报。

IP

层接收到

5008

字节的

UDP

数据报时,它的工作是将其作为

IP

数据报

在以太网传输。以太网要求一次传输的长度不大于

1514

个字节,其中有

14

字节

是以太网帧首部。

是以太网帧首部。

IP

被迫将

UDP

数据报作为多个分片发送。每个分片必须包含以太网帧首部、

IP

数据报首部。每个分片还会包含

UDP

数据报的有效负载(首部和数据)的一

部分。

部分。

IP

将原始数据报的前

1480

个字节(含

1472

个字节的数据和含

8

个字节的

UDP

首部)放在第一个分片中。后面两个分片每个均含

1480

个字节的数据,最

后一个分片中包含的数据为

568

个字节)。

为了让接收段重组原始数据,

IP

使用首部的特殊字段对分片进行了编号。

标识字段用于将所有的分片连接在一起。分组

103-105

含有相同的标识号

0xfd2b,

分组

108-110

的标识号是

0xfd2c.

片漂移量指明了分组中数据的第一个字节在

UDP

数据报中的偏移量。例如分组

103

和分组

108

的偏移量都是

0

,因为它们都

是第一个分片。

是第一个分片。

最后在标识字段中有一位用来指明这个分片后是否还有分片。分组

103

到分

104

和分组

108

到分组

109

均对该位置进行了置位。分组

105

和分组

110

由于

是最后一个分片而没有对该位置位。

是最后一个分片而没有对该位置位。

四、实验报告内容

回答以下问题:

回答以下问题:

1

、选择你的电脑所发送的第一个

ICMP 

请求消息,在包详细信息窗口扩展

包的

Internet

协议部分。你的电脑的

IP 

地址是多少?

地址是多少?

答:

192.168.0.100 

2

、在

IP 

包头部,上层协议区域的值是多少?

包头部,上层协议区域的值是多少?

答:

icmp(1) 

3

IP 

头部有多少字节?

IP 

数据包的有效载荷是多少字节?解释你是怎样

确定有效载荷的数量的?

确定有效载荷的数量的?

答:头部有

20

字节

字节

有效载荷

1500-20=1480

字节

字节

4

、这个

IP 

数据包被分割了吗?解释你是怎样确定这个数据包是否被分割?

答:没有

答:没有

5

、接下来单击列名按

IP 

源地址排序数据包,选择你的电脑发送的第一个

ICMP 

请求消息,扩展显示

IP 

协议的数据。

协议的数据。

6

、在包捕获列表窗口,你能看到在第一个

ICMP 

下的所有并发的

ICMP 

息吗?

息吗?

7

、往同一

IP 

的数据包哪些字段在改变,而且必须改变?为什么?哪些字段

是保持不变的,而且必须保持不变?

是保持不变的,而且必须保持不变?

答:必须改变的:

identification

(标识)、

header chechsum(

头部检验和

) 

标识是源主机富裕

IP

数据报的标识符、头部检验和用于保证

数据报的标识符、

头部检验和用于保证

IP

数据报报头

的完整性。

的完整性。

header 

length(

头部长度

)

differentiated 

必须保持不变的:

version(

版本

)

header length(

services field(

区分服务

)

flags(

标记

)

fragment offset

(片偏移)、

protocol

(协

(片偏移)

议)、

destination

(目的地址)

(目的地址)

8

、描述一下在

IP 

数据包的

Identification 

字段的值是什么样的?

字段的值是什么样的?

答:

27738 

本文标签: 客户端地址数据分组请求