cleanmymac3.9.6_6.DHCP协议

DHCP协议

任务:掌握DHCP协议的工作原理、DHCP交互流程、DHCP中继、DHCP snooping的应用场景及工作原理

1.   DHCP概述

原先的手工配置网络参数存在灵活性差、工作量大、出错率高的问题,而DHCP是动态主机配置协议,它是Bootstrap协议的一种扩展,作用是可以自动为主机分配IP地址、网关、DNS服务器地址等参数,并能集中管理,避免手动配置造成的地址冲突。

DHCP基于UDP协议,客户端的端口号是68,服务端的端口号是67。 7b90cf252b09bca5577d9cdb17ff777b.png

2.DHCP的报文类型

507955411caab9c92c6ad055df430d1d.png

3. DHCP的报文格式

acd8556632d722b25716ab81c4fc73f5.png

OP:1字节,表示报文的类型。置1为客户端请求报文,置2为服务器响应报文。

htype:1字节,表示硬件地址的类型。对于以太网类型值为1。

hlen:1字节,表示硬件地址的长度。对于以太网的值为6字节。

hops:1字节,跳数。在客户端设置为0,每经过一台路由器跳数加1。

xid:4字节,事务ID。由客户端发起的一个随机数,用于客户端和服务器交流请求和响应。

secs:2字节,由客户端填充指定时间,表示从客户端开始获得IP地址或地址续借后的时间。

flags:2字节,标志字段。只有最高位有意义,其余位均置为0,最高位置0表示服务器单播响应,置1表示服务器广播响应。

33783ddf35f95221183cc3b0baf1b3ee.png

ciaddr:4字节,表示客户端的IP地址。如果客户端已知道自身IP,填入此字段,否则置为0。用于客户端在发送请求时将自己的ip地址放在此处。

yiaddr:4字节,存放客户IP。服务器会将想要分配给客户端的ip地址放在此处。

siaddr:4字节,表明DHCP协议流程的下一个阶段要使用的服务器的IP地址。

giaddr:4字节,表示第一个DHCP中继的IP地址。

chaddr:16字节,表示客户端的MAC地址。

sname:64字节,表示服务器的名字。由DHCP Server填写,以0x00结尾。

file:128字节,表示客户端的启动配置文件名。由DHCP Server填写,以0x00结尾。

options:长度可变,至少为312字节,表示选项字段。包含了服务器分配给终端的配置信息,如网关IP地址,DNS服务器的IP地址,客户端可以使用IP地址的有效租期等信息。

常用的option id:

1:netmask(设置子网掩码)。

3:router(设置网关地址)。

6:DNS Server(设置DNS服务器地址)。

7:log Server(设置日志服务器地址)。

12:host name(设置域名)。

26:Interface MTU(设置接口MTU)。

33:Static route(设置静态路由)。

35:ARP cache timeout(设置ARP缓存超时)。

51: ip address lease time(设置IP地址租约时间)。

53: message type (dhcp报文的8种类型)。

54:server identification(设置服务器标识)。

55: parameter request list (需要服务器给你提供哪些东西:ip地址,域名,网关)。

58:设置续约T1时间,一般是租期时间的50%。

59:设置续约T2时间,一般是租期时间的87.5%。

61 :client identification(设置客户端标识)。

77:设置用户类型标识。

82: relay agent(设置中继代理)。

255: end。

4.DHCP的工作原理

1)请求阶段

a)客户机在本网段内广播DHCP Discover报文,用来发现网络中的DHCP服务器。

61d823a61ff0ac539aaf344326aa0aca.png

b)服务器向客户机单播回复DHCP Offer报文,其中携带要分配给客户机的IP地址。(但在给出此地址之前,应当用ICMP ECHO REQUEST报文进行检查是否有其他机器配置此IP地址。)

e244143002f37c3ac031c2afc27b6092.png

c)客户机选择第一个Offer报文,并广播回复DHCP Request报文表示愿意接受该Offer。

036019ea2da2c94ba4e0d363071a7d54.png

d)服务器确认将Offer中的IP分配给客户机,就回复DHCP Ack报文,若无法分配给客户机就回复DHCP Nak报文。

156d631cc8983f1c060348d7bfcb8574.png

(确认分配)

faf6e810795fe4e9dea13c8e07acf14f.png

(无法分配)

2)续租、重绑定阶段

当IP租约期限到达50%时,DHCP客户端会请求更新IP地址租约;

当IP租约期限到达87.5%时,还没收到服务器响应就会广播申请重绑定IP。

d0a9fee55f222fc29576c8b1ef554f1c.png

3)释放阶段

如果IP租约到期前没收到服务器的响应,客户端就停止使用此IP地址;

如果客户端自己不想再使用分配的IP地址,也可发DHCP Release报文释放IP地址。

c4eafc463b420a839349ba2925ff8ac6.png

5.DHCP Relay(DHCP中继)

由于DHCP请求报文采用广播方式发送报文,因此当DHCP客户端和DHCP服务器处于不同子网时,必须要通过DHCP中继帮忙转发通信,最终获取到IP地址。

多个网络上的DHCP客户端可以使用同一个DHCP服务器,节省成本,又便于进行集中管理。

218e792521d479236a57c59a1ed2053a.png

6.DHCP Snooping

DHCP Snooping是DHCP的一种安全特性,主要应用在交换机上,作用是屏蔽接入网络中的非法的DHCP服务器。即开启DHCP Snooping功能后,网络中的客户端只有从管理员指定的 DHCP服务器获取IP地址。

DHCP在设计上未从分考虑安全因素,从而留下了许多安全漏洞,使得DHCP很容易受到攻击。实际网络中,针对DHCP的攻击行为主要有以下三种,如下是各种攻击方式及DHCP Snooping的应对策略:

1)DHCP饿死攻击

攻击原理:攻击者通过伪造chaddr字段各不相同的DHCP请求报文,持续大量的向DHCP Server申请地址,直到耗尽DHCP Server地址池中的IP地址,导致DHCP Server不能给正常的用户进行分配。

解决方法:通过校验CHADDR与MAC值的对应关系是否一致,来判断CHADDR的合法性。

7f2f672c4dea3245f7470a3fec73d792.png

2)仿冒DHCP Server攻击

攻击原理:攻击者仿冒DHCP Server,向客户端分配错误的IP地址、错误的网关地址等,导致客户端无法正常访问网络。

解决方法:通过DHCP Snooping功能配置接口的信任状态,使客户端从合法的服务器获取IP地址。

2150362c941e26ece1c4e30458b11c7f.png

3)DHCP中间人攻击

攻击原理:攻击者利用ARP机制,让PC-A学习到IP-S与MAC-B的映射关系,又让Server学习到IP-A与MAC-B的映射关系。如此一来,PC-A与Server之间交付的IP报文都会经过攻击者中转。

解决方法:开启ARP检测,当收到IP和MAC映射的消息与DHCP Snooping绑定表中的记录不一致时,便丢弃报文。

c13c178aa0da5aa144387351a6860b33.png

扫码关注我们

d505f045f2b6554d7f6d2ad20140fafe.png

图文|郑泽辉

排版|陈海心

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值