TCP/IP详解——DHCP 协议
文章目录
- 1. DHCP 协议
- 1.1 DHCP 概念
- 1.2 DHCP 原理
- 1.3 DHCP 续约
- 1.4 DHCP 报文种类
- 1.5 DHCP 报文格式
- 1.6 DHCP 协议抓包分析
- 1.6.1 Wireshark 抓包查看
- 1.6.2 CSNAS 抓包分析
- 1.7 DHCP 的 Option
- 1.8 思考
1. DHCP 协议
1.1 DHCP 概念
DHCP协议称为动态主机配置协议。
DHCP作用:自动给网络中的主机分配IP地址。
DHCP地址池:比如一个地址池中有多个IP地址,可以分配给使用的用户。
DHCP作用域:IP、子网掩码、网关、DNS、租期。
DHCP协议端口:67,68端口(UDP协议)服务端是67,客户端是68。
优点:减少工作量,避免地址冲突,提高地址利用率。
1.2 DHCP 原理


四个步骤:
-
步骤一:客户机发送 dhcp discovery 广播包,客户机广播请求ip地址(包含客户机的mac地址)。
-
步骤二:服务器响应 dhcp offer 单播包 ,服务器提供ip地址,但是不提供子网掩码、网关等参数。(谁先给offer包,就先给谁提供ip地址)。
-
步骤三:客户机发 dhcp request 广播包,我准备使用这个ip地址,请把这个地址的子网掩码和网关发给我。客户机选择ip,对分配的IP地址进行确认。
-
步骤四:服务器发送 dhcp ack 单播包 ,ack表示确认的意思,服务器确定租约,并提供网卡详细参数ip、子网掩码、dns、网关、租期等。
在客户机发送discovery广播包,意味着网络中的所有主机都可以收到。而客户机是根据谁先给发送offer包,那么就选哪个,然后和选择了的服务器进行确认,还要和没有选择的服务器打一个招呼表示不使用这个IP地址了。
当租约到期,或者是不在使用这个IP了,那么就会发送一个dhcp release报文。
1.3 DHCP 续约

概念:
- 默认租期是一天,当IP的租期过了50%后,客户机再次发送dhcp request请求包,然后进行续约,如果服务器无响应,则继续使用。并在87.5%的时候再次发送dhcp request请求包进行续约,如果仍然无响应,并释放ip地址及重新发送dhcp discovery 广播包来获取IP地址。
- 如果在这个期间没有任何服务器响应,则自动给自己分配一个169.254.x.x /16,这个IP地址属于全球统一无效地址,用于临时内网通信。
1.4 DHCP 报文种类

1.5 DHCP 报文格式

Wireshark数据包信息


1.6 DHCP 协议抓包分析
1.6.1 Wireshark 抓包查看
在抓包的时候先释放本机的IP地址,然后重新获取IP地址。
ipconfig /release # 释放IP
ipconfig /renew # 重新获取IP


67是服务器所使用的端口,68是客户端使用的端口。
查看第一个数据包

第二个数据包

第三个数据包

第四个数据包

通过观察数据包,发现客户端在发送数据包的时候是以FF这样的广播MAC来进行二层广播的。
1.6.2 CSNAS 抓包分析
释放IP地址release的数据包

discovery数据包

offer数据包

request数据包

ack数据包

1.7 DHCP 的 Option

Option 1:用于指定客户端所在子网的子网掩码。
Option 3:用于指定默认网关的IP地址。
Option 6:用于指定DNS服务器的IP地址。
Option 12:用于指定客户端设备的主机名。
Option 15:用于指定本地域名。
Option 51:IP地址租约时间
Option 53:DHCP信息类型
Option 54:服务器标识
Option 58:更新时间值(用于指定客户端请求续约租约的时间间隔。)
Option 59:重新链接时间值(用于指定客户端请求重新绑定租约的时间间隔。)
Option 60:用于指定客户端设备的类型或厂商信息。
DHCP报文中的Options字段可以用来存放普通协议中没有定义的控制信息和参数。详见RFC2132 Options字段由Type,Length和Value三部分组成。

1.8 思考
DHCP的NAK报文和Decline报文都是拒绝IP地址,它们有什么区别?
- DHCP的NAF报文表示服务器拒绝客户端的请求。
- DHCP的Decline报文是当客户端发现服务器分配的IP无法使用的时候(如IP地址冲突),将发送该报文,通过服务器禁止。
相关文章:
TCP/IP详解——DHCP 协议
文章目录 1. DHCP 协议1.1 DHCP 概念1.2 DHCP 原理1.3 DHCP 续约1.4 DHCP 报文种类1.5 DHCP 报文格式1.6 DHCP 协议抓包分析1.6.1 Wireshark 抓包查看1.6.2 CSNAS 抓包分析 1.7 DHCP 的 Option1.8 思考 1. DHCP 协议 1.1 DHCP 概念 DHCP协议称为动态主机配置协议。 DHCP作用…...
牛客后端开发面试题3
阿里巴巴2021 1、通配符的含义 在字符串匹配时可以代替一定范围的字符。 2、死锁的基本知识 产生死锁的原因: 1.系统资源不足 2.进程运行推进方式不合理 3.分配资源不合理 (把幼儿园老师比作操作系统,幼儿园里的玩具比作系统资源,…...
Postman-脚本自动化及定时执行脚本(7)
一.postman脚本自动化(从postman至Newman可以一键执行脚本并生成报告:) Postman Newman 是一个 CLI(命令行界面)工具,可以使用它来运行 Postman 中的集合(Collection)和环境…...
基于SSM的影视企业全渠道会员管理系统(有报告)。Javaee项目
演示视频: 基于SSM的影视企业全渠道会员管理系统(有报告)。Javaee项目 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring S…...
【C++】 C++11 新特性探索:decltype 和 auto
▒ 目录 ▒ 🛫 问题描述环境 1️⃣ decltype推导变量类型推导函数返回类型 2️⃣ auto自动推导变量类型迭代器和范围循环 3️⃣ decltype 和 auto 同时使用🛬 结论📖 参考资料 🛫 问题 描述 C11 引入了一些强大的新特性ÿ…...
【Jeecg Boot 3 - 第二天】1.2、jar 包和 lib 依赖分离,部署包缩小100倍
一、场景 二、思路 三、实战 ▶ 2.1、项目 jar 包解压获取 lib config Stage 1:正常打包获取 jeecg-system-start-3.6.0.jar Stage 2:解压 获取如下文件 Stage 3:获取 lib config ▶ 2.2、获取简化版项目jar包 Stage 1࿱…...
电商平台的易聊集成:无代码开发,API连接,CRM支持
连接电商与客服:易聊的创新解决方案 在迅速变化的电子商务市场中,企业要想保持竞争力,就必须拥有高效灵活的客服体系。易聊,一家领先的AISaaS服务商,正是基于这一需求,推出了一系列创新产品。它们通过智能…...
Draw.io or diagrams.net 使用方法
0 Preface/Foreword 在工作中,经常需要用到框图,流程图,时序图,等等,draw.io可以完成以上工作。 official website:draw.io 1 Usage 1.1 VS code插件 draw.io可以扩展到VS code工具中。...
CAPL——发送自定义报文
文章目录 一、前言二、CANoe操作二、CAPL程序三、Trace结果一、前言 CAPL是CANoe自带的一个编程语言,基本语法基于C语言,通过CAPL可以发挥CANoe更高效、更强大的功能。CAPL最大的特点就是可以编程灵活的完成报文的发送,报文包括通信报文及诊断报文 本文讲述模拟一个报文周…...
接口自动化测试实操【设置断言思路】
1 断言设置思路 这里总结了我在项目中常用的5种断言方式,基本可能满足90%以上的断言场景,具体参见如下脑图: 在这里插入图片描述 下面分别解释一下图中的五种思路: 1) 响应码 对于http类接口,有时开发人…...
windows redis 允许远程访问配置
安装好windows版本的redis,会以服务方式启动,但是不能远程访问,这个时候需要修改配置。redis安装路径下会有2个配置文件,究竟需要怎么修改才能生效呢?看下图 这里的redis服务指定了是redis.windows-service.conf文件&…...
三、JS逆向
一、JS逆向 解释:在我们爬虫的过程中经常会遇到参数被加密的情况,这样只有先在前端搞清楚加密参数是怎么生成的才能继续我们的爬虫,而且此时我们还需要用python去执行这个加密的过程。本文主要讲怎么在浏览器调试JS,以及Python执…...
HBase 高可用集群详细图文安装部署
目录 一、HBase 安装部署 1.1 Zookeeper 正常部署 1.2 Hadoop 正常部署 1.3 HBase 安装 1.4 HBase 的配置文件 1.4.1 hbase-env.sh 1.4.2 hbase-site.xml 1.4.3 regionservers 1.4.4 创建目录 1.5 HBase 远程发送到其他节点 1.6 HBase 服务的启动 1.6.1 单点…...
现代雷达车载应用——第2章 汽车雷达系统原理 2.6节 雷达设计考虑
经典著作,值得一读,英文原版下载链接【免费】ModernRadarforAutomotiveApplications资源-CSDN文库。 2.6 雷达设计考虑 上述部分给出了汽车雷达基本原理的简要概述。在雷达系统的设计中,有几个方面是必不可少的,它们决定了雷达系…...
【JVM从入门到实战】(五)类加载器
一、什么是类加载器 类加载器(ClassLoader)是Java虚拟机提供给应用程序去实现获取类和接口字节码数据的技术。 类加载器只参与加载过程中的字节码获取并加载到内存这一部分。 二、jdk8及之前的版本 类加载器分为三类: 启动类加载器-加载Ja…...
计算机毕业设计 基于Web的城市旅游网站的设计与实现 Java实战项目 附源码+文档+视频讲解
博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…...
【人工智能革命】:AIGC时代的到来 | 探索AI生成内容的未来
🎥 屿小夏 : 个人主页 🔥个人专栏 : IT杂谈 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言一. AIGC 技术的概述和发展趋势1.1 AIGC 技术的概述1.2 AIGC 技术的发展趋势 二. AIGC 与元宇…...
spring-boot-data-jpa、JPA实现分页
spring-boot-data-jpa、JPA实现分页 JPA越来越丰富了,下面使用springboot3.x实现JPA分页 通过传入PageRequest pageRequest PageRequest.of(page, size);到接口查询,返回Page拿到分页数据。 转自 https://lingkang.top/archives/jpa-shi-xian-fen-ye …...
云原生之深入解析如何在Kubernetes中快速启用Cgroup V2支持
一、cgroup v2 有哪些优势? Linux 中有两个 cgroup 版本:cgroup v1 和 cgroup v2。cgroup v2 是新一代的 cgroup API。Kubernetes 自 v1.25 起 cgroup2 特性正式 stable。cgroup v2 提供了一个具有增强资源管理能力的统一控制系统,cgroup v2…...
QT实现四则运算计算器
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);this->setMaximumSize(240,300);this->setMinimumSize(240,300);this->setWindowTitle("计算器&…...
企业级二进制差异算法:bsdiff/bspatch的高效智能更新方案
企业级二进制差异算法:bsdiff/bspatch的高效智能更新方案 【免费下载链接】bsdiff bsdiff and bspatch are libraries for building and applying patches to binary files. 项目地址: https://gitcode.com/gh_mirrors/bs/bsdiff 在软件分发和持续部署领域&a…...
暗黑破坏神2终极单机优化:PlugY生存工具包完整指南
暗黑破坏神2终极单机优化:PlugY生存工具包完整指南 【免费下载链接】PlugY PlugY, The Survival Kit - Plug-in for Diablo II Lord of Destruction 项目地址: https://gitcode.com/gh_mirrors/pl/PlugY 厌倦了暗黑破坏神2单机模式的储物空间限制?…...
终极指南:Windows免费倒计时神器Hourglass,5分钟从新手到高手
终极指南:Windows免费倒计时神器Hourglass,5分钟从新手到高手 【免费下载链接】hourglass The simple countdown timer for Windows. 项目地址: https://gitcode.com/gh_mirrors/ho/hourglass 还在为Windows系统找不到好用的倒计时工具而烦恼吗&a…...
遥感图像质量评价实战:用imgvision 1.7.3计算SAM、ERGAS等指标(附Python代码)
遥感图像质量评估实战:从理论到代码的完整指南 遥感图像处理是地理信息系统、环境监测和农业估产等领域的关键技术。当我们对高光谱图像进行压缩、融合或重建时,如何客观评价处理后的图像质量?本文将深入探讨五种核心评价指标(SAM、PSNR、MSE…...
告别广告侵扰:AdGuard广告拦截扩展全平台部署指南
告别广告侵扰:AdGuard广告拦截扩展全平台部署指南 【免费下载链接】AdguardBrowserExtension AdGuard browser extension 项目地址: https://gitcode.com/gh_mirrors/ad/AdguardBrowserExtension 副标题:从新手到高手的一站式配置方案 一、价值定…...
基于DAMOYOLO-S与计算机网络技术:构建分布式视频分析集群
基于DAMOYOLO-S与计算机网络技术:构建分布式视频分析集群 想象一下,一个大型物流园区,上百个摄像头日夜不停地运转,管理者需要实时知道:哪条通道拥堵了?哪个区域有异常人员闯入?传统的监控方式…...
bert-base-chinese详细步骤:如何将test.py改造成支持流式文本处理的微服务
bert-base-chinese详细步骤:如何将test.py改造成支持流式文本处理的微服务 1. 项目背景与价值 在实际的工业场景中,我们经常需要处理大量的文本数据流。传统的批处理方式虽然简单,但无法满足实时性要求高的应用场景。比如智能客服系统需要实…...
Dify工作流集成StructBERT:构建自定义文本智能处理应用
Dify工作流集成StructBERT:构建自定义文本智能处理应用 最近在做一个智能客服系统的升级项目,客户那边提了个挺实际的需求:每天有大量工单进来,希望系统能先自动判断一下问题类型,比如是“账号问题”、“支付故障”还…...
Qwen3-ASR-1.7B效果实测:识别普通话、英语、方言,准确率惊人
Qwen3-ASR-1.7B效果实测:识别普通话、英语、方言,准确率惊人 1. 多语言语音识别新标杆 当我第一次听到Qwen3-ASR-1.7B能够识别30种语言和22种中文方言时,说实话我是持怀疑态度的。毕竟在语音识别领域,支持的语言越多,…...
Hunyuan-MT-7B真实案例集:电商商品描述多语言生成效果
Hunyuan-MT-7B真实案例集:电商商品描述多语言生成效果 1. 引言:当电商遇上多语言翻译 想象一下这个场景:你是一家跨境电商公司的运营,手头有一款新品的英文描述,需要快速翻译成法语、西班牙语、德语、日语等十几种语…...
