linux下ip冲突检测

时间:2022-01-20 19:23:52

1. 检测网域内是否存在和本机ip相同的主机

windows主机会提示IP地址冲突,而linux主机无任何提示那么如何知道自己的linux主机是否与网络中其它的windows主机IP地址冲突呢?
在linux主机端执行
#arping 本机ip
如果没有任何信息,则表示网内我的IP是唯一的;
如果有 Unicast reply from x.x.x.x [xx:xx:xx:xx:xx:xx] xxxms则表示网内有一台MAC地址为xx:xx:xx:xx:xx:xx的主机IP地址与本机相同。

原理:
arping命令是以广播地址发送arp request packets,以太网内所有的主机都会收到这个arp request packets,但是本机收到之后不会Reply任何信息。当我们在linux主机端上执行arping 本机ip会默认使用eth0,向局域网内所有的主机发送一个arp request, 若收到回复说明有其它主机的ip和本机相同。

2. 检测网域内其它主机之间是否存在ip冲突

如果你有连通问题并且假设它是由于IP冲突造成的,那么你可以使用一个工具称作arp-scan来扫描它们,原理也是利用arp协议。

#arp-scan –I eth0 -l
192.168.1.10 00:1b:a9:63:a2:4c BROTHER INDUSTRIES, LTD.
192.168.1.30 00:1e:8f:58:ec:49 CANON INC.
192.168.1.33 00:25:4b:1b:10:20 Apple, Inc
192.168.1.37 10:9a:dd:55:d7:95 Apple Inc
192.168.1.38 20:c9:d0:27:8d:56 (Unknown)
192.168.1.39 d4:85:64:4d:35:be Hewlett Packard
192.168.1.39 00:0b:46:e4:8e:6d Cisco (DUP: 2)
192.168.1.40 90:2b:34:18:59:c0 (Unknown)

从上而输出可以看出:Hewlett Packard和Cisco两台主机发生了ip地址冲突问题。

参考文章:

http://www.linuxidc.com/Linux/2012-09/70424.htm
http://www.unixmen.com/find-ip-conflicts-linux/