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

发布于:2022-10-14 ⋅ 阅读:(323) ⋅ 点赞:(0)

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

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

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

arping 命令

   arping 命令是用于发送 arp 请求到一个相邻主机的工具,arping 使用 arp 数据包,通过 ping 命令检查设备上的硬件地址。IP数据云-免费查IP归属地。能够测试一个 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数据云-免费查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 地址有冲突。


网站公告

今日签到

点亮在社区的每一天
去签到