网络安全之DHCP详解

DHCP:Dynamic Host Configration Protocol 动态主机配置协议

某一协议的数据是基于UDP封装的,当它想确保自己的可靠性时,这个协议要么选确认重传机制,要么选周期性传输。

DHCP是确认重传,【UDP|DHCP】,当DHCP分配完地址时就没必要周期性传输了。

【EⅡ|IP|UDP|DHCP】:DHCP的二层封装进行地址分配的协议只能选择以太网协议。

DHCP客户端使用的端口号是68,服务端的端口号是67,DHCP的所有数据都是基于UDP封装。

DHCP服务器分配时:1,IP地址。2,网络掩码。3,默认网关。4,DNS服务器地址。

网关地址是什么?主机所在网段内的路由器地址

例如:

PC1,2,3网段要与PC4,5这一网段通信,为了知道是PC1,2,3网段来的就需要打上路由器的该网段的接口地址。

DNS:域名解析服务器,填的时候,一个主DNS,一个备DNS。

将域名与IP一一对应的服务器,因为一个设备不可能将所有域名(APP,www.......网站等就是域名)对应的IP记录,所以需要DNS来记录这些,每个地方的DNS服务器地址不同。

下面为一个设备请求DHCP IP的过程:

A请求DHCP IP

第一步:A向DHCP server发一个发现包:【EⅡ|IP|UDP|DHCP】:源端口号68,目标端口号67,源IP没有所以为0.0.0.0占位,目标IP因为不知道DHCP server是谁,为255.255.255.255广播发送去发现DHCPserver,源MAC地址为自己的MAC地址,目的MAC地址与目标IP同理为广播MAC地址FF-FF-FF-FF-FF-FF.

交换机收到包广播给除A外的所有设备,当所有设备收到包并解封装解到端口号发现目的端口是67,不是DHCPserver的都丢弃,DHCPserver则继续解封所有的内容,发现是请求分配IP的,则进行下一步

第二步:DHCPserver收到发现包后向A发送一个应答包,源端口67,目标端口68源IP为自身IP,目标IP为广播地址255.255.255.255,源MAC地址为DHCPserver MAC地址,目标MAC为广播MAC(很多资料说目标MAC为A的MAC,但这是不对的,思科在一开始也是错的,目前已修改),在报文里有包含目标A的分配IP、DNS等,目的MAC来说是给谁发的,避免同时请求过多的DHCP请求造成延迟。

实际情况下,不止一个DHCPserver,那么客户端使用的IP为最先接收到的DHCP应答包,谁先到达用谁的。

第三步:A向DHCPserver发送请求包,该包要告诉服务器用了哪一个IP以及告诉其他服务器他们的地址不用请回收。该包源端口68,目标端口67,源IP0.0.0.0,目标IP255.255.255.255,源MAC为自己MAC,目标MAC为广播MAC。

第四步:DHCPserver向A发送一个确认包,该包依然全广播,目标端口68,源端口67,源IP为自己IP,目标IP广播IP,源MAC为自己的MAC,目标MAC为广播MAC,当A收到这个包后才使用分配给自己的IP。

以上是思科的工作方式。

华为应答包中的源IP为服务器IP,目标IP为给A分配的IP,请求包的源IP为0.0.0.0,确认包中目标IP为给A分配的IP。

华为中是三四包为单播,其余厂商为四个包全广播。

DHCP配置请查看:DHCP小实验-CSDN博客

相关推荐
bluechips·zhao11 小时前
帝国CMS 8.0 安全审计分析——代码审计
安全·网络安全·代码审计
whuhewei11 小时前
为什么客户端不存在跨域问题
前端·安全
Flittly12 小时前
【SpringSecurity新手村系列】(4)验证码功能实现
java·spring boot·安全·spring
Flittly12 小时前
【SpringSecurity新手村系列】(3)自定义登录页与表单认证
java·笔记·安全·spring·springboot
TechWayfarer12 小时前
攻防对抗:利用IP段归属查询工具快速封禁攻击源——3步联动防火墙(附脚本)
python·网络协议·tcp/ip·安全
常宇杏起13 小时前
AI安全进阶:AI模型鲁棒性测试的核心方法
大数据·人工智能·安全
木泽八14 小时前
2026年网络安全威胁全景:AI攻防新纪元完全指南
人工智能·安全·web安全
星幻元宇VR14 小时前
VR互动平台|开启沉浸式体验新方式
科技·学习·安全·vr·虚拟现实
云空14 小时前
《Hermes Agent 部署与使用中的安全漏洞分析及解决办法》
网络·人工智能·安全
常宇杏起16 小时前
AI安全进阶:AI模型投毒攻击的检测与防御
大数据·人工智能·安全