教你一招在 Windows、Linux和Mac中检查和清除ARP缓存

举报
wljslmz 发表于 2022/07/28 22:55:38 2022/07/28
【摘要】 系统中配置错误或过期的 ARP 缓存条目可能是网络连接问题的原因之一。 本文将介绍如何检查和清除不同操作系统中的 ARP 缓存。 什么是 ARP 缓存? ARP代表地址解析...

系统中配置错误或过期的 ARP 缓存条目可能是网络连接问题的原因之一。

本文将介绍如何检查和清除不同操作系统中的 ARP 缓存。

什么是 ARP 缓存?

ARP代表地址解析协议,它负责发现MAC地址并将它们映射到IP地址,以便与本地网络上的其他系统成功通信,该协议工作在数据链路层网络层之间。

我们的系统不会每次都询问路由器特定设备的位置以及它的 MAC 地址是什么,而是使用先前解析的 IP 地址进行连接。

当我们的系统使用 ARP 协议找到特定 IP 地址的 MAC 地址时,它们将存储在一个表中以供将来使用,此表称为 ARP 缓存,它包含已知 IP 地址及其 MAC 地址的列表。

ARP 请求是广播,ARP 回复是单播。

什么时候清除ARP缓存?

如果网络链接设备的 IP 地址发生更改,ARP 条目可能会损坏或过期,并且新条目可能不会总是覆盖数据库的过期条目。

因此,它可能会影响网络性能并可能导致加载或连接问题,在这种情况下,您可以简单地清除 ARP 缓存来解决问题,因为清除 ARP 缓存会导致您的所有请求再次经过整个 ARP 过程,在此过程中,新条目将保存在 ARP 表中。

在重建ARP缓存表的过程中可能会出现一些错误,所以不建议一直删除ARP缓存,相反,您也可以重新启动路由器或系统来解决连接问题。

如何清除ARP缓存?

我们可以使用命令行轻松清除任何操作系统中的 ARP 缓存,让我们开始吧。

Windows

第 1 步:打开命令提示符并以管理员身份运行。

第 2 步: 要查看 ARP 缓存表,只需键入以下命令。

arp -a
  • 1

此命令显示 IP 地址及其关联的 MAC 地址。

第 3 步:接下来,要删除缓存表,您可以使用 netsh 实用程序。

netsh interface IP delete arpcache
  • 1

或者你可以简单地使用

arp -d
  • 1

第 4 步:如果要删除缓存中的任何特定条目,而不是整个表。

arp -d <ip-address>
  • 1

输出:

C:\WINDOWS\system32>arp -a

Interface: 192.168.29.64 --- 0xd
  Internet Address      Physical Address      Type
  192.168.29.1          a8-da-0c-e8-0e-e6     dynamic
  224.0.0.22            01-00-5e-00-00-16     static
  224.0.0.251           01-00-5e-00-00-fb     static
  224.0.0.252           01-00-5e-00-00-fc     static

Interface: 192.168.56.1 --- 0x14
  Internet Address      Physical Address      Type
  224.0.0.22            01-00-5e-00-00-16     static
  224.0.0.251           01-00-5e-00-00-fb     static
  239.255.255.250       01-00-5e-7f-ff-fa     static

C:\WINDOWS\system32>netsh interface IP delete arpcache
Ok.
  • 1

如果您使用 netsh 实用程序清除缓存表,您将得到“OK”作为响应。

Linux

第 1 步:打开终端并使用以下 IP 实用程序命令清除整个 ARP 表。

ip -s -s neigh flush all
  • 1

第 2 步:如果要删除特定地址的 ARP 记录,请使用 arp 实用程序。

arp -d <ip-address>
  • 1

第三步:删除表项后,可以简单的使用下面的命令查看Linux中的ARP表。

arp -n
  • 1

此命令显示整个 arp 表。

输出:

┌──(root💀kali)-[/home/geekflare]
└─# arp -d 10.0.2.1

┌──(root💀kali)-[/home/geekflare]
└─# arp -n
Address          HWtype         HWaddress           Flags Mask        Interface

10.0.2.1                       (incomplete)

10.0.2.2         ether       01:00:5e:00:00:fc         C                 eth0
10.0.2.3         ether       a8:da:0c:e8:0e:e6         C                 eth0
  • 1

在这里,您可以观察到特定地址的缓存条目是否被清除。

Mac

第 1 步:在您的 Mac 中打开一个终端并使用以下命令。

第 2 步:查看现有的 ARP 条目。

sudo arp -a
  • 1

第 3 步: 删除特定接口的缓存

sudo arp -d 192.168.29.1 ifscope en0 
  • 1

第四步: 清除整个缓存表

sudo arp -a -d
  • 1

输出:

$ sudo arp -a

? (192.168.29.1) at 01:00:5e:00:00:fc on en0 ifscope [ethernet]
? (192.168.2.13) at a8:da:0c:e8:0e:e6 on en0 ifscope [ethernet]
? (192.168.1.21) at 01:00:5e:00:0e:16 on en0 ifscope permanent [ethernet]

$ sudo arp -a -d

192.168.29.1 (192.168.29.1) deleted
192.168.2.13 (192.168.2.13) deleted
192.168.1.21 (192.168.1.21) deleted
  • 1

本文结束,如果觉得文章不错,点赞、收藏、评论三连哦,如果还想学习更多技术,也欢迎在评论区留言!

文章来源: blog.csdn.net,作者:wljslmz,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_43025343/article/details/122503975

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。