实验9 利用Wireshark软件分析DHCP

Source

目录

一、实验目的及任务

二、实验环境

三、预备知识

四、实验步骤 

五、实验报告内容


一、实验目的及任务

1.通过协议分析进一步明确DHCP报文格式中各字段语法语义;

2.进一步明确DHCP工作原理并能够描述

二、实验环境

联网的计算机;主机操作系统为Windows;WireShark等软件。

三、预备知识

在本实验中,我们将快速了解DHCP动态主机设置协议。 DHCP在课本的第4.4.3节中介绍。回想一下,DHCP广泛用于企业,大学和家庭网络有线和无线LAN,以动态地为主机分配IP地址(以及配置其他网络配置信息)。 

四、实验步骤 

为了了解DHCP如何的工作,我们将执行几个与DHCP相关的命令,并捕获由于执行这些命令而传输的DHCP消息。 请执行下列操作:

1.首先打开Windows命令提示符应用程序(可在“附件”文件夹中找到)。 如图1所示,输入“ipconfig /release”(注意是引号内容,且不包括引号)。 ipconfig 的可执行程序位于 C:\windows\system32中。 此命令会释放您当前 的IP地址,以便主机的 IP 地址变为0.0.0.0。

2.打开 Wireshark 并且进行抓包。

3.现在继续在Windows命令提示符并输入“ipconfig /renew” (注意是引号内 容,且不包括引号)。 这会指示您的主机获取网络配置,包括新的IP地址。在图1中,主机获得IP地址192.168.1.108。

4.等到“ipconfig /renew”命令执行完毕。 然后再次输入相同的命令“ipconfig/renew”。

5.等到第二遍“ipconfig /renew”命令执行完毕。再次在命令提示符输入“ipconfig/release”命令释放您刚获取的IP。

6.最后,输入“ipconfig/renew”命令再次为您的计算机分配一个 IP 地址。

7.停止抓包。

在这里插入图片描述

图1您应该在命令提示符所输入一系列ipconfig命令

现在让我们来看看抓包结果。 要仅查看DHCP数据包,请进入过滤器字段“bootp”。(DHCP 来自一个名为BOOTP的旧协议。BOOTP和DHCP都使用相同的端口号67和68。要查看当前版本的Wireshark中的DHCP数据包,您需要在过滤器中输入“bootp”而不是“dhcp”。)我们从图2中看到,第一个“ipconfig/renew”命令导致生成四个DHCP数据包: DHCP Discover数据包,DHCP Offer数据包,DHCP Request数据包和DHCP ACK数据包。

在这里插入图片描述

图2Wireshark窗口展开详细显示第一个DHCP数据包-DHCP Discover数据包

五、实验报告内容

1.DHCP消息是通过UDP还是TCP发送的?

DHCP消息是通过UDP发送的

 

2.绘制时间流图形。说明客户端和服务器之间第一次四个DHCP发现,DHCP提供,DHCP请求以及DHCP响应的顺序,说明您的结果中对于每个数据包,指示源和目标端口号是否与本实验分配中给出的示例相同?

相同

点击统计并选择流量图,勾选限制显示过滤器 

 

3.主机的链路层(例如以太网)地址是什么?

主机的链路层地址为00:08:74:4f:36:23 

4.DHCP发现消息中的哪些值将此消息与DHCP请求消息区不同?

DHCP 发现消息与 DHCP 请求消息的区别在于Option(53)的值,DHCP发现消息为Option: (53) DHCP Message Type (Discover),而DHCP 请求消息为Option: (53) DHCP Message Type (Request)

 

5.第一次四个DHCP发现,DHCP提供,DHCP请求以及DHCP响应的Transaction-ID值是多少?Transaction-ID字段目的是什么。

均为0x3e5e0ce3;Transaction-ID字段的目的在于使DHCP服务器可以区分不同的客户端请求

 

6.主机使用 DHCP 获取IP地址。主机在DHCP的4次问询和回答之后获取了地址。请问如果在这 4次DHCP问询和回答中,如果主机没有IP地址,那么IP数据报的值是什么请分别指出这4个DHCP 的消息IP数据报源头和目标IP。

 在主机没有 IP 地址的情况下,主机的源IP地址为0.0.0.0,而服务器源IP地址为其实际IP地址(192.168.1.1),且主机和DHCP服务器都使用255.255.255.255作为目的IP地址

 

7.您的 DHCP 服务器的IP地址是多少?

如上图,DHCP 服务器的 IP 地址为192.168.1.1 

8.发送DHCP Offer消息的DHCP服务器IP是什么,指示哪条DHCP消息包含提供的DHCP地址。

是DHCP服务器分配给主机的IP地址

9.在作者的例子中,主机和DHCP服务器之间没有中继代理。 跟踪中的哪些值表明没有中继代理? 您的实验中是否有中继代理?如果是这样,代理的IP地址是什么?

Relay agent IP address的值为0.0.0.0,表明没有中继代理

 

10.解释DHCP offer消息中路由器和子网掩码字段的用途。

 当客户端启动IP配置时,设置子网掩码和网管。

 

11.在脚注2作者提供的抓包结果中,DHCP服务器会向作者提供特定的IP地址(请见上面问题 8)。请问客户端接受使用是否对第一个提供DHCP offer消息的DHCP地址?客户端的响应(DHCP 请求中)哪里是它所要求的地址。

主机接受第一个DHCP offer消息提供IP地址;主机的DHCP 请求中所要求的IP地址为第一个DHCP offer所提供的,即192.168.1.101

12.解释租约时间的目的。 您的实验中的租约时间有多长?

为DHCP服务器并不给客户端分配永久的IP地址,且只允许客户端在某个指定的时间内使用某个IP地址。在租约时间内,DHCP服务器不会将该IP地址分配给其他客户端,除非它是由客户端释放的。一旦租约时间到期,DHCP服务器则可以将该IP地址分配给其他客户端;本实验中,租约时间为1天 

   

13.DHCP释放消息的目的是什么?DHCP服务器是否发出收到客户端 DHCP释放请求的确认。如果客户端的DHCP释放消息丢了会发生什么。

DHCP释放消息的目的是释放租用的IP地址;DHCP服务器不会向客户端返回DHCP释放消息的确认;如果来自客户端的DHCP Release消息丢失,则DHCP服务器将等待该IP地址的租用期结束并将其重新用于另一个客户端

14.从Wireshark窗口中清除bootp过滤器。 在DHCP数据包交换期间是否发送或接收了任何ARP数据包? 如果接收到了,请说明这些ARP数据包的用途。

在DHCP数据包交换期间,DHCP服务器发出了ARP数据包;这些ARP数据包用于确保DHCP服务器所分配给主机的IP地址未被其他客户端使用 

 

 参考文章:https://www.acwing.com/blog/content/16449/