linux 通过 mac地址 查询 ip 和 清除arp 缓存

时间:2024-03-05 07:23:53

问题重述:

今天,突然找不到vm 的ip 了,但是可以从网卡状态上看到其 mac 地址,并且确定主机是启动状态,网络状态良好(后来发现因为子网掩码的问题,导致虚拟机和网关之间不通信,从而导致其他网络的主机不能访问,这个是另一个问题了。)

所以我们需要通过vm 的mac 地址来获取到vm 具体的 ip了。

(1)linux中获取mac 地址可以通过 arp -a 命令,通过 grep 输出对应的mac 地址

(2)通过输出 /proc/net/arp 文件,通过 grep 筛选来获取对应的 ip 地址。

(3)使用 ip neigh show, 配合 grep 来筛选对应的 ip 地址。

前提:你所查的主要要和您属于同以太网下。

如果有其他方法,请您在博文下面进行留言交流:

[root@yaowen ~]# cat /proc/net/arp | grep 00:16:3e:10:7c:60
10.66.10.155     0x1         0x2         00:16:3e:10:7c:60     *        ovirtmgmt
10.66.10.153     0x1         0x0         00:16:3e:10:7c:60     *        ovirtmgmt
[root@yaowen ~]# ip neigh show | grep 00:16:3e:10:7c:60
10.66.10.155 dev ovirtmgmt lladdr 00:16:3e:10:7c:60 REACHABLE

这里面 我进行查到了两个对应的 ip 地址,应该是arp 缓存的问题。实际我们 测试机器,之前 曾改变过ip 地址,从 153-> 155 所以导致了 ip 地址的变化。

但是使用 ip neigh show 查出的 ip 地址较为准确。

清除arp 缓存命令:

➜  Desktop sudo ip neigh flush dev wlp3s0 

上面命令是按照网卡设备来进行清除的网络地址。还有很多其他的选项,具体内容可以具体来选择。

 

保持更新,转载请注明出处。