抓包之前先了解一下什么是DHCP
DHCP
动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,常用的2个端口:67(DHCP服务器),68(DHCP客户端)。DHCP通常被用于局域网环境,主要作用是集中的管理、分配IP地址,使client动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。简单来说,DHCP就是一个不需要账号密码登录的、自动给内网机器分配IP地址等信息的协议。
DHCP的工作流程
(1) DHCP客户端发送DISCOVER广播包在网络上寻找可用的DHCP服务器。
(2) 所有接收到客户端DISCOVER数据包的DHCP服务器均会给出响应,从地址池中挑选一个尚未分配的IP地址,向DHCP客户端以单播/广播方式回应OFFER数据包(依据DISCOVER报文中flags字段决定是单播回应还是广播回应)。OFFER数据包中包含IP地址、地址租期以及域名信息等。
(3) DHCP客户端可能会接收到多个DHCP服务器的OFFER报文,但客户端通常只接受接收到的第一个OFFER报文,然后发送REQUEST广播包。DHCP客户端发送REQUEST采用广播包,是为了通知其它所有发送OFFER数据包的DHCP服务器释放已经预分配给该客户端的IP地址。客户端在发送的REQUEST数据包中会加入选中的DHCP服务器IP地址和需要的IP地址,正式向服务器请求分配已提供的IP地址。
(4) DHCP服务器收到REQUEST报文后,判断数据包中服务器的IP地址是否与自己的地址相同。如果不相同,则丢弃数据包;如果相同,DHCP服务器就会处理REQUEST报文并向DHCP客户端响应一个ACK确认报文,同样依据REQUEST报文中flags字段决定是单播回应还是广播回应。至此,客户端可获得一个IP地址。
启动终端输入 ipconfig/release,启动wireshark开始抓包,输入ipconfig/renew,查看抓包结果
获得了DHCP的工作过程