首先学习下 DHCP协议和ARP协议的原理:
DHCP 协议详解_yetugeng的专栏-CSDN博客_dhcp协议
ARP协议详解_沉默的鹏先生-CSDN博客_arp协议
给设备设置一个IP地址以后,可以广播一个ARP请求查看目标IP地址是否已经被使用,
然后recv,如果一定等待延时后都没有收到应答数据,那么说明这个ip是可用的,否则就检测收到的数据是否为回复我们发出的arp的应答包.如果是则证明ip已被使用,否则继续等待.
这样可以避免由于DHCP服务器地址池重叠(或者局域网内有人用静态的IP)而引发的IP冲突。
也可参考博文:
linux下写程序检测ip冲突(ARP)_xb_0916的专栏-CSDN博客
首先学习下 DHCP协议和ARP协议的原理:
DHCP 协议详解_yetugeng的专栏-CSDN博客_dhcp协议
ARP协议详解_沉默的鹏先生-CSDN博客_arp协议
给设备设置一个IP地址以后,可以广播一个ARP请求查看目标IP地址是否已经被使用,
然后recv,如果一定等待延时后都没有收到应答数据,那么说明这个ip是可用的,否则就检测收到的数据是否为回复我们发出的arp的应答包.如果是则证明ip已被使用,否则继续等待.
这样可以避免由于DHCP服务器地址池重叠(或者局域网内有人用静态的IP)而引发的IP冲突。
也可参考博文:
linux下写程序检测ip冲突(ARP)_xb_0916的专栏-CSDN博客