本文将介绍如何检查和清除不同操作系统中的 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 缓存表,只需键入以下命令。
代码语言:javascript复制arp -a
此命令显示 IP 地址及其关联的 MAC 地址。
第 3 步:接下来,要删除缓存表,您可以使用 netsh 实用程序。
代码语言:javascript复制netsh interface IP delete arpcache
或者你可以简单地使用
代码语言:javascript复制arp -d
第 4 步:如果要删除缓存中的任何特定条目,而不是整个表。
代码语言:javascript复制arp -d <ip-address>
输出:
代码语言:javascript复制C:WINDOWSsystem32>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:WINDOWSsystem32>netsh interface IP delete arpcache
Ok.
如果您使用 netsh 实用程序清除缓存表,您将得到“OK”作为响应。
Linux
第 1 步:打开终端并使用以下 IP 实用程序命令清除整个 ARP 表。
代码语言:javascript复制ip -s -s neigh flush all
第 2 步:如果要删除特定地址的 ARP 记录,请使用 arp 实用程序。
代码语言:javascript复制arp -d <ip-address>
第三步:删除表项后,可以简单的使用下面的命令查看Linux中的ARP表。
代码语言:javascript复制arp -n
此命令显示整个 arp 表。
输出:
代码语言:javascript复制┌──(root