实验9 利用Wireshark软件分析DHCP

news2024/11/25 4:53:12

目录

一、实验目的及任务

二、实验环境

三、预备知识

四、实验步骤 

五、实验报告内容


一、实验目的及任务

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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/102198.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

iead中安装Lombok插件、Lombok注解的使用

Lombok插件安装&#xff1a; 1.pom.xml引入Lombok依赖包&#xff1a; <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.10</version></dependency>2.file-setting: 安装Lom…

Python中变量的定义和使用规则

一、如何理解Python中的变量 在解释变量这个东东之前&#xff0c;我先给大家看一组代码&#xff0c;如下图&#xff1a; 上图里面&#xff0c;a作为变量&#xff0c;每次存放的数据和数据类型都不同。看到这里大部分人应该明白了&#xff0c;变量就是随时都可以改变的量&#…

[附源码]计算机毕业设计Python的桌游信息管理系统(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

UG/NX二次开发Siemens官方NXOPEN实例解析—2.2 Selection

列文章目录 UG/NX二次开发Siemens官方NXOPEN实例解析—2.1 AssemblyViewer UG/NX二次开发Siemens官方NXOPEN实例解析—2.2 Selection 列文章目录 文章目录 前言 一、知识点提取 二、案例需求分析 三、程序分析 总结 前言 随着工业智能化的不断发展&#xff0c;UG二次开…

代码随想录训练营第十二天

专题&#xff1a;栈和队列 题目&#xff1a;滑动窗口最大值 给定一个数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 题目解析&#xff1a;…

【Flink实时数仓】数据仓库项目实战 《五》流量域来源关键词粒度页面浏览各窗口汇总表 【DWS】

文章目录【Flink实时数仓】数据仓库项目实战 《五》流量域来源关键词粒度页面浏览各窗口汇总表 【DWS】1.1流量域来源关键词粒度页面浏览各窗口汇总表&#xff08;FlinkSQL&#xff09;1.1.1 主要任务1.1.2 思路分析1.1.3 图解1.1.4 代码【Flink实时数仓】数据仓库项目实战 《五…

第七章Servlet

文章目录什么是Servlet为什么需要Servlet从不同角度来看Servlet总过程Servlet之间的继承关系Servlet接口接口中方法GenericServlet抽象方法HttpServlet 抽象子类小结Servlet生命周期从Servlet接口方法开始修改Servlet创建对象的时机Servlet容器Servlet相关的保存作用域request&…

零基础如何学好Python开发?

作为一个零基础小白想学好Python开发应该先确定明确目标、做好学习Python系统规划、选择适合的开发工具、进阶提升学习规划、多练多看加深对Python程序的理解&#xff0c;想入门一门编程语言就需要不断的进行练习。 一、明确目标 很多人在学习Python之前了解很少&#xff0c;很…

ShareSDK 安装教程

一、ShareSDK简介 ShareSDK是一种社会化分享组件&#xff0c;为iOS、Android、WP8 的APP提供社会化功能&#xff0c;集成了一些常用的类库和接口&#xff0c;缩短开发者的开发时间&#xff0c;还有社会化统计分析管理后台。ShareSDK移动开发者服务平台由广州掌淘网络科技有限公…

【C++进阶之路第一卷】预编译头加快编译速度

一、前言 最近在写项目的时候&#xff0c;发现随着项目越来越大&#xff0c;编译需要的时间也越来越长&#xff0c; 然后使用了预编译头&#xff0c;时间减少了很多&#xff01; 这个谁用谁知道&#xff0c;很 Nice&#xff01; 1. 预编译头的原理 简单来说就是将一些你认…

广域网简介、PE/CE/P基本概念理解、PPP协议详细介绍、PAP/CHAP认证介绍与配置、PPPOE会话建立详细介绍并配合实验抓包理解报文交互。

3.1.0 广域网&#xff08;简介、PPP、PAP、CHAP、PPPOE&#xff09; 观前温馨提示&#xff1a; 篇幅较大&#xff0c;本章主要有以下大点&#xff0c;可通过目录与右侧导航跳转观看&#xff1a; &#xff08;1&#xff09;广域网基本概念 &#xff08;2&#xff09;PPP协议介…

【Numpy基础知识】在ndarrays上索引

在ndarrays上索引 来源&#xff1a;Numpy官网&#xff1a;https://numpy.org/doc/stable/user/basics.html 文章目录在ndarrays上索引导包【1】基本索引【2】高级索引【3】结合高级索引和基本索引【3】现场访问【4】展开迭代器索引【5】为索引数组赋值【6】处理程序中可变数量的…

Python3 环境搭建

本章节我们将向大家介绍如何在本地搭建 Python3 开发环境。 Python3 可应用于多平台包括 Windows、Linux 和 Mac OS X。 Unix (Solaris, Linux, FreeBSD, AIX, HP/UX, SunOS, IRIX, 等等。)Win 9x/NT/2000Macintosh (Intel, PPC, 68K)OS/2DOS (多个DOS版本)PalmOSNokia 移动手…

浅谈转行Python的看法,分享我的学习方法

今天跟大家聊一下转行Python的看法和经验。本人之前是做Java开发的&#xff0c;后面因为公司需要Python技术&#xff0c;就接触到了Python&#xff0c;我发现Python比Java更加容易理解&#xff0c;简洁&#xff0c;后面随着Python项目的增多干脆就转行做Python开发了。 Python…

LaTeX教程(三)——文档格式排版

文章目录1. 章节目录1.1 生成章节1.2 生成目录2. 交叉引用和脚注2.1 交叉引用2.2 脚注3. 特殊环境3.1 列表3.2 文本对齐3.3 引用环境3.4 代码环境1. 章节目录 1.1 生成章节 写文章或者论文的时候&#xff0c;章节目录可谓是必不可少的&#xff0c;下面我们来聊聊LaTeX怎么处理…

Linux——安装和使用vmtools

实验1 Linux系统初识 一、安装和使用vmtools vmware tools是虚拟机VMware Workstation自带的一款工具&#xff0c;现在介绍ubuntu linux安装VMare tools。它的作用就是使用户可以从物理主机直接往虚拟机里面拖文件。如果不安装它&#xff0c;我们是无法进行虚拟机和物理…

【火电机组、风能、储能】高比例风电电力系统储能运行及配置分析附Matlab代码

​✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法…

第十三章ThreadLocal

文章目录什么是ThreadLocal基本使用常用方法使用ThreadLocal来解决使用sychronized解决ThreadLocal与synchronized的区别运用场景_事务案例场景构建引入事务JDBC中关于事务的操作的api常规解决方案常规方案的弊端ThreadLocal解决方案ThreadLocal方案的好处ThreaLocal的内部结构…

Java堆排序和代码实现详解

堆的定义 堆是计算机科学中一类特殊的数据结构的统称&#xff0c;堆通常可以被看做是一棵完全二叉树的数组对象。 堆的特性 1.它是完全二叉树&#xff0c;除了树的最后一层结点不需要是满的&#xff0c;其它的每一层从左到右都是满的&#xff0c;如果最后一层结点不是满的&…

Hadoop(入门)

一、Hadoop概述 1.1 Hadoop是什么 1&#xff09;Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 2&#xff09;主要解决&#xff0c;海量数据的存储和海量数据的分析计算问题。 3&#xff09;广义上来说&#xff0c;Hadoop通常是指一个更广泛的概念—Hadoop生态圈。…