红联Linux门户
Linux帮助

Linux下检测IP地址冲突及解决方法

发布时间:2014-08-19 15:15:00来源:linux网站作者:ciywind

下面我们来看一个实例:

一台linux主机 IP:192.168.0.25   MAC: 00:14:k2:5d:8e:b2

一台windows主机 IP:192.168.0.25   MAC: 00:25:e4:6a:4b:f4


两台主机的IP地址相同(IP:192.168.0.25),MAC地址不同

则windows主机会提示IP地址冲突,而linux主机无任何提示


那么如何知道自己的linux主机是否与网络中其它的windows主机IP地址冲突呢?

其实很简单,在linux主机端执行

#arping 192.168.0.25

Unicast reply from 192.168.0.25 [00:25:e4:6a:4b:f4]  1.390ms

如果没有任何信息,则表示网内我的IP是唯一的


如果有以上信息,则表示网内有一台MAC地址为00:25:e4:6a:4b:f4的主机IP地址与我相同,这时可以通过ifconfig命令验证,你会发现:本机的MAC地址是00:14:k2:5d:8e:b2。我们可以用局域网扫描软件找到MAC地址为00:25:e4:6a:4b:f4的主机,并将其隔离或更换IP地址。


原理:arping命令是以广播地址发送arp packets,以太网内所有的主机都会收到这个arp packets,但是本机收到之后不会Reply任何信息。当我们在linux主机端上执行下面的命令时:


arping 192.168.0.25  会默认使用eth0,向局域网内所有的主机发送一个:

who has 192.168.0.25的arp request,tell 192.168.0.25 your mac address,


当这台windows主机端收到这个arp packets后,则会应答:

"I am 192.168.0.25 , mac是00:25:e4:6a:4b:f4",这样我们会收到mac地址为00:25:e4:6a:4b:f4的windows主机的Reply信息。