DHCP协议: 动态主机配置协议, 用于实现对终端设备的动态IP的分配.
DHCP协议的流程:
DCHP Discover/Offer 数据包通常发生在某台设备新加入某个网络时, 为该设备分配IP地址.
WireShark下DHCP协议解析: 可以再命令行下使用命令ipconfig /release和ipconfig /renew来抓取DHCP协议数据包.如果处于无线网卡可以先设置为固定IP地址,然后在更换为自动获取IP地址, 这样便能抓取到完整的DHCP数据包.
windows:
1. Discover 源PC无IP地址,使用的是0.0.0.0
2. 为什么DHCP需要四个步骤, DHCP Discover/Offer 两个数据包不就行了吗?
可能原因: 如果DHCP Offer数据包在网络中丢失,DHCP Server并不会知道PC并没有收到Offer数据包, 会将Offer中提供从DHCP Pool中标记为已分配, 会造成地址的浪费.
同一局域网内可能存在多个DHCP Server, 多个DHCP Srever都会向PC回复DHCP Offer数据包, DHCP Server共享DHCP Pool,也会造成地址浪费.
Linux:
3. 为什么Linux和WindowsDHCP数据包目标IP地址存在区别, 这样设计有什么好处?
Linux: 设计更为严谨,能够避免如果同一局域网内存在多个DHCP Server, 可能会造成地址冲突, 但每次发送的数据都是广播数据包,对网络带宽有消耗, 能够被黑客获取到相关数据.
Windows: DHCP Offer/ACK 使用的是单播.能够节约网络带宽,更安全, 但存在地址冲突.
4. DHCP 服务端使用的是67端口, 客户端使用的是68端口.
校园网中的DHCP的模式:
WireShark中DHCP重要字段:
DHCP Discover:
DHCP Offer:
DHCP Request: