DHCP实验(GNS3 && wireshark)

DHCP

实验目标

1.认识DHCP工作过程
2.抓包分析DHCP Discover,Offer,Request,ACK,Release五种DHCP报文。
3.实现DHCP续约过程

实验任务

1.使用一个客户端和一个DHCP服务器,通过客户端申请IP地址的过程抓包分析DHCP五种报文。
2.缩短DHCP租期,让客户端短时间内发送request续约的报文。

实验参数

拓扑:
DHCP实验(GNS3 && wireshark)_第1张图片

参数:
R1:132.0.23.1
R2: f0/0 IP : 132.0.23.2 f1/0 IP: 132.1.23.2
R3: 132.1.23.1

DHCP地址冲突拓扑:
DHCP实验(GNS3 && wireshark)_第2张图片

实验过程

1.配置DHCP 服务器
DHCP实验(GNS3 && wireshark)_第3张图片

2.客户端使用DHCP服务申请IP地址。命令(ip add dhcp)
申请后查看R1 f0/0端口的IP地址(分配的是132.0.23.1)。
3.查看抓包结果

在这里插入图片描述

DHCP Discover:
DHCP实验(GNS3 && wireshark)_第4张图片

DHCP客户端在请求IP地址时并不知道DHCP服务器的位置,因此DHCP客户端会在本地网络内以广播方式发送Discover请求报文,以发现网络中的DHCP服务器。所有收到Discover报文的DHCP服务器都会发送应答报文,DHCP客户端据此可以知道网络中存在的DHCP服务器的位置。

在发送DHCP offer报文之前,服务器会使用ARP广播先询问一下有没有使用准备分配的IP地址的设备。如果没有收到回复就可以正常分发。
在这里插入图片描述

DHCP Offer: 从报文中可以看出服务器给客户端提供IP地址为132.0.23.1,255.255.255.0。

DHCP实验(GNS3 && wireshark)_第5张图片

DHCP request报文:
客户端向网络中所有 DHCP 服务器主机发出的 DHCP Request 消息。告诉所有的DHCP 服务器选择的哪一个IP地址。
DHCP实验(GNS3 && wireshark)_第6张图片

DHCP ACK报文:服务器给客户端发送的确认数据包
DHCP实验(GNS3 && wireshark)_第7张图片

DHCO ACK后客户端会发送一个广播GARP报文,来告诉自己使用了这个IP地址及绑定自己的IP和MAC地址。

DHCP实验(GNS3 && wireshark)_第8张图片
DHCP实验(GNS3 && wireshark)_第9张图片

DHCP客户端 使用的端口是67,服务器用的端口是68.一个用来广播请求配置,一个回应请求配置。

4.DHCP地址续约(租期七天)

DHCP实验(GNS3 && wireshark)_第10张图片

当客户机的地址到达50%租用期(T1)时,客户机进入RENEW状态,使用DHCP REQUEST报文续约。
当客户机的地址到达87.5%租用期(T2)时,客户机进入RENEW状态,使用DHCP REBINDING报文续约。

5.地址释放。
客户端通过DHCP release向DHCP服务器释放其所用的地址。

DHCP实验(GNS3 && wireshark)_第11张图片

6.使用bootp过滤wireshark抓包
可以看出连续有DHCP的request和ACK报文,而且会话IP(Transaction IP)相同,表明是一个DHCP分配过程,即刚才续约时间比较短客户端与服务器之间续约通信。当客户端租约到一半的时候,客户端发送request报文。服务器同意的话发送ACK报文,客户端重新计算租期。
DHCP实验(GNS3 && wireshark)_第12张图片
DHCP实验(GNS3 && wireshark)_第13张图片

7.IP地址冲突
7.1先将PC2的IP配置为132.0.23.1
7.2配置DHCP server
7.3让PC1通过DHCP获取IP地址。PC1 获取132.0.23.1的时候,服务器收到DHCP discover后启用ARP寻找有没有使用现在要分配的IP的设备,ARP有回应,所以这个IP不能用来分配。
在这里插入图片描述

实验分析

DHCP运行过程:
1.主机发送DHCPDISCOVER广播包在网络上寻找DHCP服务器;(Discover)
2.DHCP服务器向主机发送DHCPOFFER单播数据包,包含IP地址、MAC地址、域名信息以及地址租期;(offer)
3.主机发送DHCPREQUEST广播包,正式向服务器请求分配已提供的IP地址;(request)
4.DHCP服务器向主机发送DHCPACK单播包,确认主机的请求。(ACK)
 DHCP客户端可以接收到多个DHCP服务器的OFFER数据包,然后可能接受任何一个OFFER数据包,但客户端通常只接受收到的第一个OFFER数据包,所以这里可能会遇到DHCP欺骗攻击。另外,DHCP服务器OFFER报文中指定的地址不一定为最终分配的地址,通常情况下,DHCP服务器会保留该地址直到客户端发出正式请求。
  正式请求DHCP服务器分配地址DHCPREQUEST采用广播包,是为了让其它所有发送DHCPOFFER数据包的DHCP服务器也能够接收到该数据包,然后释放已经OFFER(预分配)给客户端的IP地址。
  中间会使用两次ARP来确定要分配的IP地址在本网段中没有被使用。如果发送给DHCP客户端的地址已经被其他DHCP客户端使用,客户端会向服务器发送DHCPDECLINE信息包拒绝接受已经分配的地址信息。

你可能感兴趣的:(协议分析)