arping、arp命令 ip地址冲突检测 根据ip查mac地址

文章讲述了在IPv4和IPv6环境下如何检测IP地址冲突。在IPv4中,系统不会自动检测IP冲突,需要通过arping等工具手动检查。IPv6则使用DAD(DuplicateAddressDetection)机制自动检测。arping命令用于探测IP是否已被占用,通过发送ARP请求并分析响应来判断IP冲突情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

IPV4场景
1)系统自己是不会自动检测是否外面有IP地址与自己冲突了;
2) 通过ifcfg-ethX配置文件对网卡IP进行静态配置时,重启network服务会去检测所配置的IP是否有冲突,但这种检测只是在启动network服务时才进行;
3)ifconfig命令配置IP是不会检测IP是否有冲突的,所以这种方法存在冲突的风险。

IPV6场景

ipv6使用dad来检测ip冲突,在使用ip命令配置地址时,系统会自动检测

如下进行设置ipv6:

# /sbin/ip -6 addr add <ipv6address>/<prefixlength> dev <interface>   

查看网卡信息

# /sbin/ip -6 addr show dev <interface>

在这里插入图片描述

可以看到dad的状态,会经历下面三个阶段:

1 tentative 正在检测中

2 tentative dadfailed 检测完成,ip冲突

3 <空> 检测完成,ip不冲突

因此,对于Ipv4,那么我们就需有办法识别出来:

  • 某个地址是否被占用,如果被占用,我就不能用了
  • 某个地址是否被多个网卡在占用了,导致网络处问题,收发异常

/sbin/ip -6 addr add / dev

1. arping命令介绍

arping 命令主要用来获取ip对应的mac地址,更新本地arp缓存表。平时主要用来探测ip地址是否冲突即同一个网络里,同一个ip不同mac地址的情况。ip地址冲突将导致网络故障。

2. arping常用命令参数

arping [参数] ip

-U 强制更新邻近主机的arp缓存表
-A 更新邻近主机的arp缓存表
-c 发送几个arp包后停止发送
-w 指定超时时间,单位秒
-f 收到第一个回包后退出
-s 设置发送数据包的源地址
-i 指定从那块网卡发包 如果当前主机有多个地址(多网卡),则指定一块网卡
-q:安静模式。不显示任何过程信息
-d: 检测冲突模式。用来检测有没有IP地址冲突,如果没有IP冲突则返回0。
注意:这个冲突一般是你准备给A网卡设置某个地址a,提前预判一下a是否被占用了,如果占用了就用新的或报错。而不是判断某个地址a 被2个网卡同时占用了,自动识别出来
-n:不尝试把IP地址解析为主机名,只显示纯IP地址,这样查询速度更快,特别是DNS不稳定或解析慢的情况下非常有用

2.1 arping 主机地址

arping 192.168.31.1
在这里插入图片描述
如果有打印,说明 是可以ping通的,如果有不同的mac地址,说明同一个地址被多个网卡占用了。参见2.4章节

如果想通过shell来判断某个地址是否已存在,怎么实现?使用 -D参数

$ arping  -c 2 -w 3  -I eth5  -D  194.20.20.30   //假设194.20.20.30 不存在
ARPING 194.20.20.30 from 0.0.0.0 eth5
Sent 4 probes (4 broadcast(s))
Received 0 response(s)
$ echo $?
0     //0表示不存在

$ arping  -c 2 -w 3  -I eth5  -D  194.20.20.4   //假设194.20.20.4 存在
ARPING 194.20.20.4 from 0.0.0.0 eth5
Unicast reply from 194.20.20.4 [FA:16:3E:56:xxx]  4.561ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)
$ echo $?
1     //1表示存在

2.2 arping 设置超时时间

arping -w 1 192.168.31.1

2.3 arping发送指定次数的数据包

arping -c 3 192.168.31.1

2.4 arping冲突地址检测

arping 192.168.31.1
在这里插入图片描述
当同一个ip返回是同一个mac地址时,没有冲突;如果同时返回多个mac地址时,表示地址冲突。

如下图所示,有俩个mac地址,说明是冲突的
在这里插入图片描述

2.5 arp查看本地mac缓存表

在这里插入图片描述

参考

arping命令 ip地址冲突检测 mac地址检测缓存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值