linux下查找IP冲突的机器
前言
大部分网络没有绑定IP/MAC,如果随便配置IP就会导致IP冲突,如果几台机器还好,如果机器多了就不好找了。在Linux有一些专门的arp工具可以找到对应的MAC。
检查是否IP冲突
发现某台机器(例如:192.168.1.100)上面的服务,老是连接错误,或者直接拒绝连接,查看防火墙规则都是正常的,也尝试清空,不限制访问,但是问题还在。这时候就怀疑这个IP是不是跟其他机器冲突了(有些服务器上可能配置了虚拟IP)。
直接使用arping去查询IP对应的MAC,如果冲突,可以发现有时候返回不同的MAC地址,这时候就可以根据MAC找到对应的机器。
arping使用方法(笔者操作系统是centos7.5):arping -U -I 网卡名 -s IP地址 网关
例如:arping -U -Ienp3s0 -s 172.16.1.100 172.16.1.1
观察得出只有一个mac地址返回,则说明没有IP冲突
多个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
网关冲突
如果本网段IP都可以正常访问,但是跨网段就出现异常,那一般是网关冲突,直接使用arping一下网关IP就可以查找到对应的MAC。
(注:资产收集的时候,最好能收集到网卡的MAC,IP冲突的时候,就可以快速地找到对应的机器)