当前位置: 首页 > news >正文

【计算机网络】DHCP实验

一:实验目的

1:深入理解DHCP(动态主机配置协议)的工作原理和数据包交换过程。

2:掌握如何通过命令行释放和重新获取IP地址,并通过抓包软件分析DHCP消息的具体内容。

二:实验仪器设备及软件

硬件:Windows操作系统的计算机等。

软件:命令提示符、记事本、wireshark等。

三:实验方案

在cmd窗口下执行相关的DHCP命令,同时在wireshark中进行抓包操作,最后分析实验结果。

四:实验步骤

在 windows下用ipconfig/release命令释放DHCP的IP地址,然后再用命令ipconfig/renew重新获取IP地址,抓包分析DHCP Release和DHCP获取IP的过程。

五:实验结果及分析

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

DHCP消息通过UDP发送,如下图所示。

2:绘制时间流图形。说明客户端和服务器之间一组四个DHCP发现,DHCP提供,DHCP请求以及 DHCP响应的顺序,说明每个数据包的源和目标端口号,单播还是广播?

时间流图形,如下图所示。

顺序如下:DHCP 发现 DHCP 提供 DHCP请求 DHCP 响应。

DHCP发现的源端口号是68,目标端口号是67,广播。

DHCP提供的的源端口号是67,目标端口号是68,广播。

DHCP请求的源端口号是68,目标端口号是67,广播。

DHCP响应的的源端口号是67,目标端口号是68,广播。

3:DHCP发现中的哪些值与DHCP请求不同?

DHCP发现消息的报文,如下图所示。

DHCP请求消息的报文,如下图所示。

在DHCP发现消息中,客户端主要是向网络广播自己需要一个IP地址,通常不会携带具体的IP地址。而在DHCP请求消息中,客户端会请求服务器提供的特定IP地址,并包括服务器的IP地址信息。

4:四个DHCP发现,DHCP提供,DHCP请求以及DHCP响应的Transaction-ID值是多少?Transaction-ID字段目的是什么?

四个报文的Transaction-ID值都是0x17fae000,如下图所示。

Transaction-ID字段目的是确保客户端和服务器之间的消息匹配,即客户端可以识别出响应是针对其请求的。

5:如果主机没有 IP 地址,那么 IP 数据报的值是什么?

如果主机没有IP地址,则IP数据报中的源地址是:0.0.0.0,目标地址是:255.255.255.255(广播地址)。

6:主机和 DHCP 服务器之间有没有中继代理?如何设置实现?

没有中继代理。因为报文里面Relay agent IP address是0.0.0.0,如下图所示。

可以通过在网络设备(如路由器或服务器)上配置中继代理来实现。在路由器上配置的伪代码,如下所示。

Router> enable

Router# configure terminal

Router(config)# interface <interface_name>

Router(config-if)# ip helper-address <DHCP_server_IP>

Router(config-if)# end Router# write memory

7:解释所抓包中的租约时间含义。

租约时间表示DHCP服务器允许客户端使用分配的IP地址的有效期。在抓包数据中,租约时间通常以小时为单位,如下图所示。

六:实验总结及体会

1:中继代理的作用是转发来自客户端的DHCP请求和来自服务器的DHCP响应,尤其是在客户端和服务器不在同一网络段时。通过中继代理,DHCP服务器可以为多个网络段中的客户端分配IP地址。

2:giaddr字段,即网关IP地址字段,位于DHCP协议的数据包中。giaddr字段会显示为“Gateway IP Address”。该字段显示中继代理的IP地址,如果没有中继代理,则该字段为0.0.0.0。

3:通过ipconfig /release释放IP地址,ipconfig /renew重新获取IP地址,体验了DHCP客户端的基本操作。

4:DHCP Discover:客户端发送广播消息以查找可用的DHCP服务器。

5:DHCP Offer:DHCP服务器回应客户端的Discover消息,提供一个IP地址。

6:DHCP Request:客户端选择一个DHCP服务器提供的IP地址,并请求使用该地址。

7:DHCP Acknowledge (ACK):DHCP服务器确认IP地址分配,并提供其他网络配置信息。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Windows下编译安装Kratos
  • 用Python来DIY一个AI面部情绪识别API的简单方案
  • Spark+实例解读
  • 安全服务面试
  • java调用WebService接口
  • centos7 docker空间不足
  • 项目经理面试总结
  • JDK8新特性之Lambda表达式快速入门
  • 2024 Java 高分面试宝典 一站式搞定技术面
  • yum install git
  • golang JSON序列化
  • 【Unity2D 2022:UI】TextMeshPro组件无法显示中文
  • Spring Boot中的 6 种API请求参数读取方式
  • 核心线程创建之后是否受keepAliveTime影响?
  • SRv6 和IGP/BGP协议区别
  • Javascript 原型链
  • js中的正则表达式入门
  • Linux CTF 逆向入门
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • Python进阶细节
  • 闭包,sync使用细节
  • 程序员最讨厌的9句话,你可有补充?
  • 机器学习学习笔记一
  • 基于游标的分页接口实现
  • 解决iview多表头动态更改列元素发生的错误
  • 看域名解析域名安全对SEO的影响
  • 盘点那些不知名却常用的 Git 操作
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 我建了一个叫Hello World的项目
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 延迟脚本的方式
  • 一起参Ember.js讨论、问答社区。
  • 移动端解决方案学习记录
  • 怎么把视频里的音乐提取出来
  • Android开发者必备:推荐一款助力开发的开源APP
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • #android不同版本废弃api,新api。
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (39)STM32——FLASH闪存
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (九)One-Wire总线-DS18B20
  • (四)linux文件内容查看
  • (算法二)滑动窗口
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .net 提取注释生成API文档 帮助文档
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .NET和.COM和.CN域名区别