一、如何删除arp缓存
直接运行cmd,运行arp -d * ,arp -s会出现下面的错误提示:
ARP 项删除失败: 请求的操作需要提升。
ARP 项添加失败: 拒绝访问。或提示:ARP 项添加失败: 请求的操作需要提升。
(英文版提示:The ARP entry addition failed: Access is denied. )
如何解决呢?
运行arp -d * 需要用管理员身份运行,进入windows\system32文件夹找到cmd.exe,右键“以管理员身份运行”,这样打开cmd程序就能运行arp -d命令了。但是这样还是不能运行arp -s 进行静态mac绑定,大概是win7禁用了这个命令,需要用netsh命令。
具体做法是:
1、先运行:netsh i i show in 找到正在使用的网卡idx号
2、然后运行:netsh -c i i add neighbors 11 192.168.1.1 00-21-27-bc-89-48 就可以进行绑定了,这里11是idx号。
在Win7和Vista上用ARP -D并不能完全的删除绑定
必须使用
netsh -c "i i" delete neighbors IDX (IDX改为相应的数字)
才可删除MAC地址绑定
在vista中也会产生同样的错误!
C:\Users\sink>arp -a
接口: 10.200.52.186 --- 0xa
Internet 地址 物理地址 类型
10.200.53.254 00-04-38-87-f2-0c 动态
10.200.53.255 ff-ff-ff-ff-ff-ff 静态
C:\Users\sink>arp -s 10.200.53.254 00-04-38-87-f2-0c
ARP 项添加失败: 5
C:\Users\sink>netsh i i show in
Idx Met MTU 状态 名称
--- --- ----- ----------- -------------------
1 50 4294967295 connected Loopback Pseudo-Interface 1
10 20 1500 connected 本地连接
C:\Users\sink>netsh -c "i i" add neighbors 10 "10.200.53.254" "00-04-38-87-f2-0c"
C:\Users\sink>arp -a
接口: 10.200.52.186 --- 0xa
Internet 地址 物理地址 类型
10.200.53.60 00-16-d4-f5-b7-2e 动态
10.200.53.254 00-04-38-87-f2-0c 静态
10.200.53.255 ff-ff-ff-ff-ff-ff 静态
解决办法
0. 使用 arp -a 命令 查看网关的MAC网卡物理地址
1. 使用 netsh i i show in 命令 查看 本地连接的 idx编号
2.使用 netsh -c "i i" add neighbors 本地连接的idx "网关IP" "网关mac“ 命令绑定
3.使用 arp -a 查看结果
二、Linux如何清理ARP缓存
1、系统初始arp环境\x0d\x0a[root@esx ~]# arp -n\x0d\x0aAddress HWtype HWaddress Flags Mask Iface\x0d\x0a192.168.1.175 ether 00:24:1D:97:B6:7F C vswif0\x0d\x0a192.168.1.120 ether 00:1F:C6:3A:DC:81 C vswif0\x0d\x0a192.168.1.51 (incomplete) vswif0\x0d\x0a\x0d\x0a2、执行清除所有arp 缓存命令\x0d\x0a[root@esx ~]# arp -n|awk '/^[1-9]/{print "arp -d " $1}'|sh -x\x0d\x0a+ arp -d 192.168.1.175\x0d\x0a+ arp -d 192.168.1.120\x0d\x0a+ arp -d 192.168.1.51\x0d\x0a\x0d\x0a3、执行命令后,本机arp缓存信息\x0d\x0a[root@esx ~]# arp -n\x0d\x0aAddress HWtype HWaddress Flags Mask Iface\x0d\x0a192.168.1.175 (incomplete) vswif0\x0d\x0a192.168.1.120 (incomplete) vswif0\x0d\x0a192.168.1.51 (incomplete) vswif0
三、清除ARP缓存的命令是是什么
首先打开电脑的命令提示符窗口,直接在里面输入arp /?,可以得到以下的帮助内容:
显示和修改地址解析协议(ARP)使用的“IP 到物理”地址转换表。
ARP -s inet_addr eth_addr [if_addr]
ARP -d inet_addr [if_addr]
ARP -a [inet_addr] [-N if_addr] [-v]
-a 通过询问当前协议数据,显示当前 ARP 项。
如果指定 inet_addr,则只显示指定计算机
的 IP 地址和物理地址。如果不止一个网络
接口使用 ARP,则显示每个 ARP 表的项。
-g 与 -a 相同。
-v 在详细模式下显示当前 ARP 项。所有无效项
和环回接口上的项都将显示。
inet_addr 指定 Internet 地址。
-N if_addr 显示 if_addr 指定的网络接口的 ARP 项。
-d 删除 inet_addr 指定的主机。inet_addr 可
以是通配符 *,以删除所有主机。
-s 添加主机并且将 Internet 地址 inet_addr
与物理地址 eth_addr 相关联。物理地址是用
连字符分隔的 6 个十六进制字节。该项是永久的。
eth_addr 指定物理地址。
if_addr 如果存在,此项指定地址转换表应修改的接口
的 Internet 地址。如果不存在,则使用第一
个适用的接口。
示例:
> arp -s 157.55.85.212 00-aa-00-62-c6-09.... 添加静态项。
> arp -a .... 显示 ARP 表。
从上面的帮助内容可以得出,你只要输入arp -d * 就可以了。