linux下查找IP冲突的机器
前言
大部分网络没有绑定IP/MAC,如果随便配置IP就会导致IP冲突,如果几台机器还好,如果机器多了就不好找了。在Linux有一些专门的arp工具可以找到对应的MAC。
知道冲突IP
发现某台机器(例如:192.168.1.100)上面的服务,老是连接错误,或者直接拒绝连接,查看防火墙规则都是正常的,也尝试清空,不限制访问,但是问题还在。这时候就怀疑这个IP是不是跟其他机器冲突了(有些服务器上可能配置了虚拟IP)。
直接使用arping去查询IP对应的MAC,如果冲突,可以发现有时候返回不同的MAC地址,这时候就可以根据MAC找到对应的机器。
arping 192.168.1.100
ARPING 192.168.1.100 from 192.168.1.30 em1
Unicast reply from 192.168.1.100 [04:F4:EC:76:79:C2] 3.084ms
Unicast reply from 192.168.1.100 [50:7B:9D:25:29:59] 0.817ms
Unicast reply from 192.168.1.100 [50:7B:9D:25:29:59] 0.922ms
...
多个IP冲突
如果有多个IP都出现上面的情况,就有可能是多个IP出现的冲突,这时候一个个IP找效率太低了。这时候就可以用arp-scan去发送arp包,获取IP/MAC地址。如果一个IP出现多个MAC,就是IP冲突了
如果是Centos/REHL系列可以直接安装epel-release这个yum源,里面就有arp-scan这个包。
yum -y install arp-scan
arp-scan -l
Interface: wlp58s0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.9 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.1.188:25:93:22:66:7c(Unknown)
192.168.1.5378:67:d7:ac:0f:6d(Unknown)
192.168.1.54ec:d0:9f:9a:b7:f9(Unknown)
192.168.1.56e4:b2:fb:a7:22:37(Unknown)
...
192.168.1.100 04:F4:EC:76:79:C2 (Unknown)
192.168.1.100 50:7B:9D:25:29:59 (Unknown)
...
192.168.1.554c:57:ca:d8:eb:b0(Unknown)
5 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.9: 256 hosts scanned in 2.066 seconds (123.91 hosts/sec). 15 responded
网关冲突
如果本网段IP都可以正常访问,但是跨网段就出现异常,那一般是网关冲突,直接使用arping一下网关IP就可以查找到对应的MAC。
(注:资产收集的时候,最好能收集到网卡的MAC,IP冲突的时候,就可以快速地找到对应的机器)