网络协议分析(6):DHCP

动态主机配置协议

DHCP是动态主机配置协议(DHCP:Dynamic Host Configuration Protocol),主要用于中大型网络的IP地址、网关、掩码和DNS地址的动态分配,可以减少管理员的工作量,避免用户手工配置网络参数时造成的地址冲突。



前言

地址分配过程是通过DHCP Client与DHCP Server之间交互各种DHCP消息来实现的。DHCP消息是封装在UDP报文中的,DHCP Server使用端口号67来接收DHCP消息,DHCP Client使用端口号68来接收DHCP消息。


一、DHCP工作原理

工作流程:

  1. 发现阶段:发送DHCP Discover消息,寻找DHCP Server,并表示自己需要获得一个IP地址。二层广播域如果存在多个DHCPServer ,那么都会收到Discover的报文,因此所有server都会回应Client。
  2. 提供阶段:Server 向Client 提供IP地址的阶段,每个Server都会从自己维护的地址池中选择一个合适的IP地址,并通过单播的方式 DHCP Offer消息将这个IP地址发送给DHCP Client。
  3. 请求阶段:在请求阶段中,PC上的DHCP Client会在若干个收到的Offer(即若干个收到的DHCP Offer消息)中根据某种原则来确定出自己将要接受哪一个Offer。
  4. 确认阶段:Server 根据Request报文中的Server Identifier标识确认是否指示自己,确认则回复Ack报文来确认IP地址。如果无法确认,则回复Nak报文并此时Client需要重回Discover阶段

如果想搞懂DHCP的每一个步骤,推荐友友们使用wireshark抓包DHCP协议,实战运用是最好的理解方法!!!

推荐一篇讲解抓包DHCP的文章
wireshark抓包DHCP协议

二、DHCP安全问题

1.饿死攻击

原理:DHCP饿死攻击是指利用DHCP server 无法正确区分合法的申请者和攻击者的申请,而攻击者持续大量地向DHCP Server申请IP地址,直到耗尽DHCP Server地址池中的IP地址,导致DHCP Server不能给正常的用户进行分配。

推荐一个关于DHCP饿死攻击的帖子:牛逼

避免措施:在一个交换机的一个access口下,只允许一个mac学习。如果学习到多个,那么则对端口进行惩罚,惩罚方式-关闭接口

2.中间人攻击

从本质上讲,中间人攻击是一种Spoofing IP/MAC攻击,中间人利用了虚假的IP地址与MAC地址之间的映射关系来同时欺骗DHCP客户端和服务器。

从协议出发,DHCP的数据包中本身含有IP地址和MAC地址的对应关系,中间人攻击主要就是让IP与MAC不对应,然后让别人发包时往错误的方向进行发送,现在在交换机开启了DHCP绑定表的功能,现在这张表中就有从DHCP报文中解析出来的IP与MAC对应信息。(客户端对DHCP服务器进行请求时是使用MAC地址进行请求,如果请求成功,DHCP Server最终会发送Ack报文,此时绑定表中就会记录相应的IP与MAC对应关系,如果以后IP与MAC对应关系不一致,则会将报文丢弃)

总结

本文主要讲解了DHCP协议的主要原理及其可能存在的安全问题,讲解不太深入,但是作为初步认识是可以的,最后,还望友友们多多支持我的创作

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值