【IP】Linux中检测IP地址冲突

在Windows系统中,如果本地网络IP地址出现冲突,会出现图标提示。

在Linux系统中,并没有提供相关的功能,如果本地网络采用静态IP地址配置,出现比较奇怪的网络连接问题,如ssh连接复位,可以考虑检测一下是否是出现了IP地址冲突问题。

arping命令提供了检测地址冲突的功能。

arping命令

      arping命令是用于发送arp请求到一个相邻主机的工具,arping使用arp数据包,通过ping命令检查设备上的硬件地址。能够测试一个ip地址是否是在网络上已经被使用,并能够获取更多设备信息。功能类似于ping

      arping命令是用于发送ARP请求到一个相邻主机的工具,通过ARP响应报文检查设备上的硬件地址。它能够测试一个IP地址是否是在网络上已经使用,并能够获取更多设备信息。该功能类似于ping命令。

      在你电脑ping一下那个地址,然后会回复的ping包的源mac地址。

arping命令选项:

-b:用于发送以太网广播帧(FFFFFFFFFFFF)。arping一开始使用广播地址,在收到响应后就使用unicast地址。
-q:quiet output不显示任何信息;
-f:表示在收到第一个响应报文后就退出;
-timeout:设定一个超时时间,单位是秒。如果到了指定时间,arping还没到完全收到响应则退出;
-c count:表示发送指定数量的ARP请求数据包后就停止。如果指定了deadline选项,则arping会等待相同数量的arp响应包,直到超时为止;
-s source:设定arping发送的arp数据包中的SPA字段的值。如果为空,则按下面处理,如果是DAD模式(冲突地址探测),则设置为0.0.0.0,如果是Unsolicited ARP模式(Gratutious ARP)则设置为目标地址,否则从路由表得出;
-I interface:设置ping使用的网络接口。

IP地址冲突检测

      在出问题的主机上,可以使用"arping -I ethN x.x.x.x"命令(其中x.x.x.x为本接口的IP地址)检测地址冲突,如果没有任何输出,则表示本IP地址无冲突。如果有冲突的话,该命令会显示冲突的IP地址使用的MAC地址。

eg1:

如现在我的win7系统的ip地址192.168.23.44

我在cmd命令上输入 ipconfig/all查询我当前的mac地址

在另外一台linux环境上查看回复 当前回复是从对应的mac回复 说明当前并没有ip冲突的问题

 

eg2:

arping 192.168.1.X from 192.168.X.X eth0
可以看到当前从192.168.1.X的回复的mac地址,如果当前的mac地址回复的和你设定的mac不符,则当前ip地址有冲突

posted @ 2018-11-12 15:01  陈晓猛  阅读(5031)  评论(0编辑  收藏  举报