【计算机网络】DHCP实验

news2024/11/24 3:59:11

一:实验目的

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地址分配,并提供其他网络配置信息。

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

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

相关文章

数据挖掘-数据预处理

来自&#x1f96c;&#x1f436;程序员 Truraly | 田园 的博客&#xff0c;最新文章首发于&#xff1a;田园幻想乡 | 原文链接 | github &#xff08;欢迎关注&#xff09; 文章目录 3.3.1 数据的中心趋势平均数和加权平均数众数&#xff0c;中位数和均值描述数据的离散程度 &a…

推荐3款将相片变为动漫风格的免费AI工具推荐

toonme ToonMe是一款功能强大的在线和移动端应用&#xff0c;专门用于将照片转换成卡通风格图像。该工具利用先进的AI技术&#xff0c;能够快速识别照片中的面部特征&#xff0c;并进行智能处理&#xff0c;生成高清晰度的卡通肖像。 功能特点 ToonMe通过其内置的人工智能算法…

AJAX-XMLHttpRequest 详解

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 前言 XMLHttpRequest 概述 主要用途 工作流程 示例代码 GET 请求示例 POST 请求示例 注意事项 工作…

Java集合——Array、ArrayList、LinkedList

1. ArrayList和Array的区别 1. 大小和自动扩容 Array&#xff1a;创建时指定大小&#xff0c;大小固定。若数组被创建&#xff0c;其大小不能更改 ArrayList&#xff1a;动态数组实现&#xff0c;可以动态增长或缩小。在不断添加元素时&#xff0c;ArrayList会自动进行扩容 …

模式Hash和history

vuerouter有两种路由模式Hash和history。区别&#xff1a;Hash为默认模式&#xff0c;url中包含一个#符号的哈希部分。优势&#xff1a;兼容性好&#xff0c;不需要后端服务器的特殊配置。缺点&#xff1a;不够美观&#xff0c;搜索引擎优化较差。History模式使用的浏览器的His…

Cmake生成的Xcode工程相对路径与绝对路径的问题

Cmake生成的Xcode工程相对路径与绝对路径的问题 文章目录 Cmake生成的Xcode工程相对路径与绝对路径的问题前言修改.pbxproj文件验证工程小结 前言 由于Cmake的跨平台的自动化构建的方便性以及他广泛应用于编译过程的管理&#xff0c;在开发过程中难免用到Cmake。我也使用Cmake…

CTF-NSSCTF[GKCTF 2021]

[GKCTF 2021]easycms 考察&#xff1a; 用扫描工具扫描目录&#xff0c;扫描到后台登录界面/admin.php 题目提示了密码是五位弱口令&#xff0c;试了试弱口令admin和12345直接成功了 任意文件下载 点击设计-->主题然后随便选择一个主题&#xff0c;点击自定义&#xff0…

C++客户端Qt开发——Qt窗口(浮动窗口)

4.浮动窗口 在Qt中&#xff0c;浮动窗口也称之为铆接部件。浮动窗口是通过QDockWidget类来实现浮动的功能。浮动窗口一般是位于核心部件的周围&#xff0c;可以有多个。 设置一个浮动窗口并添加控件 #include "mainwindow.h" #include "ui_mainwindow.h"…

现代Java开发:使用jjwt实现JWT认证

前言 jjwt 库 是一个流行的 Java 库&#xff0c;用于创建和解析 JWT。我在学习spring security 的过程中看到了很多关于jwt的教程&#xff0c;其中最流行的就是使用jjwt实现jwt认证&#xff0c;但是教程之中依然使用的旧版的jjwt库&#xff0c;许多的类与方法已经标记弃用或者…

人工智能GPT技术进步的新时代,你做好准备了吗?

OpenAI 最新发布的 GPT-4o Mini 模型以其卓越的性能和极具竞争力的价格引发了广泛关注。这款模型在提供高级语言理解和生成能力的同时&#xff0c;也在计算资源的消耗和部署成本上做出了显著优化&#xff0c;使得更多开发者能够轻松访问和使用。这篇文章将分析 GPT-4o Mini 在技…

python爬虫【3】—— 爬虫反反爬

一、常见的反爬手段和解决方法 二、splash 介绍与安装 三、验证码识别 图片验证码的处理方案 手动输入(input) 这种方法仅限于登录一次就可持续使用的情况图像识别引擎解析 使用光学识别引擎处理图片中的数据&#xff0c;目前常用于图片数据提取&#xff0c;较少用于验证码…

从零搭建pytorch模型教程(八)实践部分(二)目标检测数据集格式转换

前言 图像目标检测领域有一个非常著名的数据集叫做COCO&#xff0c;基本上现在在目标检测领域发论文&#xff0c;COCO是不可能绕过的Benchmark。因此许多的开源目标检测算法框架都会支持解析COCO数据集格式。通过将其他数据集格式转换成COCO格式可以无痛的使用这些开源框架来训…

【计算机网络】DNS命令练习与抓包分析实验

一&#xff1a;实验目的 1&#xff1a;掌握DNS缓存的清除方法&#xff0c;了解DNS缓存的作用和影响。 2&#xff1a;熟悉nslookup和dig等DNS查询工具的使用&#xff0c;理解DNS查询的基本原理和过程。 3&#xff1a;通过抓包和分析&#xff0c;深入了解DNS查询和响应消息的格…

探索 LLamaWorker 本地大模型API服务的新功能:函数调用

LLamaWorker 是一个基于 LLamaSharp 项目开发的可以在本地运行大模型服务&#xff0c;并提供与 OpenAI / Azure OpenAI 兼容的 API。同时&#xff0c;通过工具提示词的配置&#xff0c;提供函数调用 Function Call 能力&#xff0c;为开发者提供更多的可能。 1. 背景 在人工智…

Robot Operating System——AsyncParametersClient监控Parameters的增删改行为

大纲 同步创建SyncParametersClient设置监控回调回调函数主体测试完整代码 异步创建AsyncParametersClient设置监控回调测试完整代码 在《Robot Operating System——Parameter设置的预处理、校验和成功回调》一文中&#xff0c;我们使用Node::add_post_set_parameters_callbac…

Django项目中报错:django.template.exceptions.TemplateDoesNotExist: index.html

访问127.0.0.1&#xff1a;8000访问出错 查看报错原因 到Django项目当中找到settings.py&#xff0c;找到TEMPLATES中的DIRS: 添加如下代码&#xff0c;并导入OS模块&#xff1a; "DIRS": [os.path.join(BASE_DIR,templates)] 再次访问IP地址&#xff1a;

【JVM基础07】——类加载器-什么是类加载器?类加载器有哪些?双亲委派了解吗?

目录 1- 引言&#xff1a;类加载器1-1 类加载器是什么&#xff1f;(What)1-2 为什么要用类加载器&#xff1f; 作用&#xff1a;类加载的过程&#xff1f;(Why) 2- ⭐核心&#xff1a;类加载器详解(How)2-1 类加载器分类2-2 什么是双亲委派模型&#xff1f;2-3 为什么采用双亲委…

开始尝试从0写一个项目--前端(三)

器材管理板块 添加器材管理导航 src\views\home\Home.vue src\router\index.js src\views\equipment\Equipment.vue <template><div>hello!</div></template> 测试 搜索导航分页查询 src\views\equipment\Equipment.vue <template><div&…

C#、Net6、WebApi报表方案

目录 1 Pdf表单方案 1.1出现如下错误提示: 1.2 字体路径使用 2 Docx报表模板方案 2.1 pdf方案缺陷 2.2 解决方案 3 Spire.Doc报表方案 3.1 Docx方案缺陷 3.2 解决方案 4 插入复选框 5 WebApi文件流下载接口 6 软件获取方式 1 Pdf表单方案 使用【Adobe Acrobat P…

0726,没什么用的SELECT和没用的我

目录 select 可恶&#xff01;&#xff01;&#xff01; 一对多聊天室 select&#xff1a;&#xff08;抄抄抄 最怕人类开始思考 补一对一的 select 喵&#xff1a;&#xff08;抄抄抄 &#xff1f;&#xff1f;今天就这么结束了&#xff1f;&#xff1f;&#xff1f; …