连接到Internet的计算机需要在发送或接收数据报前,知道其IP地址和其他信息,如网关地址、使用的子网掩码和域名服务器的地址。常用的地址分配方式有2种:
在以下场合通常利用 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议) 服务器来完成 IP地址分配:
在启动 DHCP功能时,才打开 DHCP使用的 UDP 67和 UDP 68端口。
DHCP服务的提供者,通过 DHCP 报文与 DHCP客户端交互,为各种类型的客户端分配合适的IP 地址,并可以根据需要为客户端分配其它网络参数。
客户端是整个DHCP过程的触发者和驱动者,通过 DHCP 报文和DHCP 服务器交互,得到 IP 地址和其他网络参数。
DHCP报文的中继转发者。它在处于不同网段间的DHCP 客户端和服务器之间承担中继服务,解决了DHCP 客户端和 DHCP 服务器必须位于同一网段的问题。
DHCP 客户端从DHCP 服务器动态获取 IP 地址,主要通过四个阶段进行:

DHCP客户端每次重新登录网络时,不需要再发送DISCOVER报文,而是直接发送包含前一次分配的IP地址的REQUEST请求报文,即报文中的Option 50 (请求的IP地址选项)字段填入曾经使用过的IP地址。DHCP服务器收到这一报文后,判断DHCP客户端是否可以使用请求的地址。

如果地址不可用,则重新执行discover过程:

如果采用动态地址分配策略,则 DHCP 服务器分配给客户端的 IP 地址有一定的租借期限,当租借期满后服务器会收回该 IP 地址。
更新租约成功流程:

DHCP客户端不再使用分配的IP地址时,会主动向DHCP服务器发送RELEASE报文,通知DHCP服务器释放IP地址的租约。DHCP服务器会保留这个DHCP客户端的配置信息,以便该客户端重新申请地址时,重用这些参数。
原始的DHCP协议要求客户端和服务器只能在同一个子网内,不可以跨网段工作。因此,为进行动态主机配置需要在所有网段上都设置一个DHCP服务器,这显然是不经济的。 DHCP中继(DHCP Relay)的引入解决了这一问题,它在处于不同网段间的DHCP客户端和服务器之间承担中继服务,将DHCP协议报文跨网段中继到目的DHCP服务器,于是不同网络上的DHCP客户端可以共同使用一个DHCP服务器。
DHCP中继的工作过程如图所示:

option 82是 DHCP报文中的中继代理信息选项(Relay Agent Information option)。是 DHCP报文中 option内容的一部分。option 82中可以包含最多255个sub-option, 若定义了option 82,至少要定义一个 sub-option。目前 option 82中常用 sub-option 1、sub-option2。
DHCP中继支持 option 82时的工作机制如下图所示:

1、DHCP Relay收到Client请求报文,若报文中没有option82,则 DHCP中继设备将 option 82选项添加到报文中后转发给 DHCP服务器;若报文中已有option82,处理策略有4种,分别是丢弃、保持、移除、替换。
2、DHCP服务器收到 DHCP中继设备转发的 DHCP请求报文后,将记录报文中option选项所携带的信息,然后将携带 DHCP配置信息以及 option 82信息的报文发给 DHCP中继。
3、DHCP中继收到 DHCP服务器的返回报文后,需要判断option82选项是否为本设备添加,如果是则剥离报文中的 option 82信息,然后将带有 DHCP配置信息的报文转发给 DHCP客户端;否则,直接将包转发给用户。
DHCP 利用 Option 字段传递控制信息和网络配置参数,实现地址的动态分配,为客户端提供更加丰富的网络配置信息。DHCP选项格式如图所示:

| 选项 | 含义 |
|---|---|
| Option 3 | 路由器选项,用来指定为客户端分配的网关地址。 |
| Option 6 | DNS 服务器选项,用来指定为客户端分配的 DNS 服务器地址。 |
| Option 51 | IP 地址租约选项。 |
| Option 53 | DHCP 消息类型选项,标识 DHCP 消息的类型。 |
| Option 55 | 请求参数列表选项。客户端利用该选项指明需要从服务器获取哪些网络配置参数。该选项内容为客户端请求的参数对应的选项值。 |
| Option 66 | TFTP 服务器名选项,用来指定为客户端分配的TFTP 服务器的域名。 |
| Option 67 | 启动文件名选项,用来指定为客户端分配的启动文件名。 |
| Option 150 | TFTP 服务器地址选项,用来指定为客户端分配的TFTP 服务器的地址。 |
| Option 121 | 无分类路由选项。该选项中包含一组无分类静态路由(即目的地址的掩码为任意值,可以通过掩码来划分子网),客户端收到该选项后,将在路由表中添加这些静态路由。 |
| Option 33 | 静态路由选项。该选项中包含一组有分类静态路由(即目的地址的掩码固定为自然掩码,不能划分子网),客户端收到该选项后,将在路由表中添加这些静态路由。如果存在 Option 121,则忽略该选项。 |
1、中继代理信息选项(Option 82)
option 82是 DHCP报文中的中继代理信息选项(Relay Agent Information option)。
2、厂商特定信息选项(Option 43)
Option 43 称为厂商特定信息选项。DHCP 服务器和 DHCP 客户端通过 Option 43 交换厂商特定的信息。当DHCP 服务器接收到请求 Option 43 信息的 DHCP 请求报文(Option 55 中带有43 参数)后,将在回复报文中携带 Option 43,为DHCP 客户端分配厂商指定的信息。


一、什么是MQTT协议MessageQueuingTelemetryTransport:消息队列遥测传输协议。是一种基于客户端-服务端的发布/订阅模式。与HTTP一样,基于TCP/IP协议之上的通讯协议,提供有序、无损、双向连接,由IBM(蓝色巨人)发布。原理:(1)MQTT协议身份和消息格式有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。MQTT传输的消息分为:主题(Topic)和负载(payload)两部分Topic,可以理解为消息的类型,订阅者订阅(Su
TCL脚本语言简介•TCL(ToolCommandLanguage)是一种解释执行的脚本语言(ScriptingLanguage),它提供了通用的编程能力:支持变量、过程和控制结构;同时TCL还拥有一个功能强大的固有的核心命令集。TCL经常被用于快速原型开发,脚本编程,GUI和测试等方面。•实际上包含了两个部分:一个语言和一个库。首先,Tcl是一种简单的脚本语言,主要使用于发布命令给一些互交程序如文本编辑器、调试器和shell。由于TCL的解释器是用C\C++语言的过程库实现的,因此在某种意义上我们又可以把TCL看作C库,这个库中有丰富的用于扩展TCL命令的C\C++过程和函数,所以,Tcl是
文章目录认识unity打包目录结构游戏逆向流程Unity游戏攻击面可被攻击原因mono的打包建议方案锁血飞天无限金币攻击力翻倍以上统称内存挂透视自瞄压枪瞬移内购破解Unity游戏防御开发时注意数据安全接入第三方反作弊系统外挂检测思路狠人自爆实战查看目录结构用il2cppdumper例子2-森林whoishe后记认识unity打包目录结构dll一般很大,因为里面是所有的游戏功能编译成的二进制码游戏逆向流程开发人员代码被编译打包到GameAssembly.dll中使用il2ppDumper工具,并借助游戏名_Data\il2cpp_data\Metadata\global-metadata.dat
开门见山|拉取镜像dockerpullelasticsearch:7.16.1|配置存放的目录#存放配置文件的文件夹mkdir-p/opt/docker/elasticsearch/node-1/config#存放数据的文件夹mkdir-p/opt/docker/elasticsearch/node-1/data#存放运行日志的文件夹mkdir-p/opt/docker/elasticsearch/node-1/log#存放IK分词插件的文件夹mkdir-p/opt/docker/elasticsearch/node-1/plugins若你使用了moba,直接右键新建即可如上图所示依次类推创建
文章目录概念索引相关操作创建索引更新副本查看索引删除索引索引的打开与关闭收缩索引索引别名查询索引别名文档相关操作新建文档查询文档更新文档删除文档映射相关操作查询文档映射创建静态映射创建索引并添加映射概念es中有三个概念要清楚,分别为索引、映射和文档(不用死记硬背,大概有个印象就可以)索引可理解为MySQL数据库;映射可理解为MySQL的表结构;文档可理解为MySQL表中的每行数据静态映射和动态映射上面已经介绍了,映射可理解为MySQL的表结构,在MySQL中,向表中插入数据是需要先创建表结构的;但在es中不必这样,可以直接插入文档,es可以根据插入的文档(数据),动态的创建映射(表结构),这就
HTTP缓存是指浏览器或者代理服务器将已经请求过的资源保存到本地,以便下次请求时能够直接从缓存中获取资源,从而减少网络请求次数,提高网页的加载速度和用户体验。缓存分为强缓存和协商缓存两种模式。一.强缓存强缓存是指浏览器直接从本地缓存中获取资源,而不需要向web服务器发出网络请求。这是因为浏览器在第一次请求资源时,服务器会在响应头中添加相关缓存的响应头,以表明该资源的缓存策略。常见的强缓存响应头如下所述:Cache-ControlCache-Control响应头是用于控制强制缓存和协商缓存的缓存策略。该响应头中的指令如下:max-age:指定该资源在本地缓存的最长有效时间,以秒为单位。例如:Ca
如何用IDEA2022创建并初始化一个SpringBoot项目?目录如何用IDEA2022创建并初始化一个SpringBoot项目?0. 环境说明1. 创建SpringBoot项目 2.编写初始化代码0. 环境说明IDEA2022.3.1JDK1.8SpringBoot1. 创建SpringBoot项目 打开IDEA,选择NewProject创建项目。 填写项目名称、项目构建方式、jdk版本,按需要修改项目文件路径等信息。 选择springboot版本以及需要的包,此处只选择了springweb。 此处需特别注意,若你使用的是jdk1
前言上一篇我们简要讲述了粒子系统是什么,如何添加,以及基本模块的介绍,以及对于曲线和颜色编辑器的讲解。从本篇开始,我们将按照模块结构讲解下去,本篇主要讲粒子系统的主模块,该模块主要是控制粒子的初始状态和全局属性的,以下是关于该模块的介绍,请大家指正。目录前言本系列提要一、粒子系统主模块1.阅读前注意事项2.参考图3.参数讲解DurationLoopingPrewarmStartDelayStartLifetimeStartSpeed3DStartSizeStartSize3DStartRotationStartRotationFlipRotationStartColorGravityModif
前言 Slowloris攻击是我在李华峰老师的书——《MetasploitWeb 渗透测试实战》里面看的,感觉既简单又使用,现在这种攻击是很容易被防护的啦。不过我也不敢真刀实战的去试,只是拿个靶机玩玩罢了。 废话还是写在结语里面吧。(划掉)结语可以不看(划掉)Slowloris攻击的原理 Slowloris是一种资源消耗类DoS攻击,它利用部分HTTP请求进行操作。也叫做慢速攻击,这里的慢速并不是说发动攻击慢,而是访问一条链接的速度慢。Slowloris攻击的功能是打开与目标Web服务器的连接,然后尽可能长时间的保持这些连接打开。如果由多台电脑同时发起Slo
VMware虚拟机与本地主机进行磁盘共享前提虚拟机版本为Windows10(专业版,不是可能有问题)本地主机为家庭版或学生版(此版本会有问题,但有替代方式)最好是专业版VMware操作1.关闭防火墙,全部关闭。2.打开电脑属性3.点击共享-》高级共享-》权限4.如果没有everyone,就添加权限选择完全控制,然后应用确定。5.打开cmd输入lusrmgr.msc(只有专业版可以打开)如果不是专业版,可以跳过这一步。点击用户-》administrator密码要复杂密码,否则不行。推荐admaiN@1234类型的密码。设置完密码,点击属性,将禁用解开。6.如果虚拟机的windows不是专业版,可