网络协议与攻击模拟_08DHCP协议

技术学习要了解某项技术能干什么?它的详细内容?发展走向?

一、DHCP协议

1、DHCP基本概念

dhcp动态主机配置协议,广泛应用于局域网内部

主要是为客户机提供TCP/IP 参数(IP地址、子网掩码、网关、DNS等)

2、DHCP的优点

  • 减少管理员的工作量
  • 避免输入错误
  • 避免IP冲突
  • 提高IP地址的利用

二、DHCP工作原理

dhcp是应用层的协议,是基于传输层的UDP协议的,主机是向服务器的67号端口发送请求,服务器响应的是客户机的68号端口。

1、释放Vmnet1 IP

查看本地电脑的网卡,选取VMnet1进行实验,打开winshark抓Vmnet1网络卡的数据流量

Vmnet1网卡这里是有IP地址的,释放IP并重新获取

复制代码
ipconfig /release "VMware Network Adapter VMnet1"
ipconfig /renew "VMware Network Adapter VMnet1"

在winshark抓包中搜DHCP的报文

首先我用ipconfig /release命令将VMnet1的IP地址释放掉了 所以这里source是0.0.0.0,从源MAC地址可以看出是客户即的MAC地址,然后客户机发的是广播的DHCP Discover报文,目标是255.255.255.255。

2、DHCP交互过程

(1)DHCP Discover

网络中所有的dhcp服务器都会收到,都会响应,客户机会向收到的第一个dhcp服务器发送dhcp offer。

discover里面其实没有任何内容,只有一个client MAC地址,option这里因为之前有启用dhcp所以options这里会有之前的Ip信息。

(2)DHCP Offer

会响应your client ip、next server ip、client mac address等

your client ip响应的是服务器可以给客户机提供的IP地址,假设这个IP地址已经被别人用了,这里DHCP Server就会提供下一个即192.168.40.2.

(3)DHCP Request

option字段这里request IP address

(4)DHCP ACK

server直接给客户机IP这里your client ip address 字段

3、为什么都是广播方式发送的呢?

  • 第一个报文广播因为CLIENT不知道网络中有没有DHCP服务器
  • 第二个报文广播因为CLIENT还没有IP地址,但是在EthernetII层已经不是广播了,根据教程三层的IP地址这里应该是广播的即目标IP地址应该是255.255.255.255.但是我实际抓到的数据包却不是这样的(挠头)
  • 第三个报文广播网络中有多台服务器,而且有一台服务器离得我特别近,客户机的多向选择问题,在这个报文里面客户机会携带一些内容,它只会标识,还没有IP地址。
  • 第四个报文广播server在响应的时候,EthernetII层不再是广播了,在三层的IP地址还是广播,只有在这个DHCP ACK 报文结束后客户机才有IP。

三、DHCP租约

1、查询租约

12点51到期,12点36就发送了续约的DHCP REQUEST请求。

DHCP获取IP地址是有租期的,每隔5分钟会重新向SERVER发了一个DHCP Request报文,当租期到达百分之50的时候就重新获取租期了。

2、租期30分钟

DHCP租期30分钟,租期过半时重新续租

可以看到SERVER 的ACK确认是13:51

ipconfig /all查看租约过期时间是14:21,可以验证dhcp的租期是30分钟。

相关推荐
liulilittle2 小时前
OPENPPP2 —— IP标准校验和算法深度剖析:从原理到SSE2优化实现
网络·c++·网络协议·tcp/ip·算法·ip·通信
方渐鸿2 小时前
【2024】k8s集群 图文详细 部署安装使用(两万字)
java·运维·容器·kubernetes·k8s·运维开发·持续部署
晓衣2 小时前
2025“獬豸杯”全国电子数据取证竞赛-k8s服务器取证wp
服务器·经验分享·程序人生·网络安全·容器·kubernetes·学习方法
我爱云计算2 小时前
K8S详解(5万字详细教程)
linux·运维·云原生·容器·kubernetes
明明跟你说过2 小时前
【k8s】资源限制管理:Namespace、Deployment与Pod的实践
运维·docker·云原生·容器·kubernetes·k8s
北极光SD-WAN组网4 小时前
从0到1搭建某铝箔智慧工厂网络:5G与WiFi 6助力智能制造
网络·5g·制造
阿昭L4 小时前
HTTP原理
网络·网络协议·http
2301_794333914 小时前
实验室服务器配置|通过Docker实现Linux系统多用户隔离与安全防控
linux·服务器·docker·实验室
打码人的日常分享5 小时前
运维服务方案,运维巡检方案,运维安全保障方案文件
大数据·运维·安全·word·安全架构
hazy1k5 小时前
STM32H750 RTC介绍及应用
网络·stm32·实时音视频