在WindowXP系统中,通过arp命令可以查询、绑定和删除电脑的ARP绑定信息(详情查看:如何排查内网ARP攻击造成的网络掉线)。但是用win7或Vista系统下,使用"arp -d "或"arp -s"命令会遇到以下提示: ARP 项删除失败:求的操作需要提升。 ARP 项添加失败:拒绝访问。或提示 ARP 项添加失败:请求的操作需要提升。 (英文版提示:The ARP entry addition failed:Access is denied. ) 在WIN7系统中,运行"arp -d"需要用管理员身份运行,进入windows\system32文件夹找到cmd.exe,右键以管理员身份运行,这样打开cmd程序就能运行"arp -d"命令了。但是这样还是不能运行"arp -s XX.XX.XX.XX XX-XX-XX-XX-XX-XX"进行静态mac绑定,需要用netsh命令。下面我们就详细介绍一下,WIN7系统中如何通过netsh命令,有效的防止局域网内的ARP攻击。使用方法:1.查看ARP缓存列表 首先以管理员身份运行CMD打开命令行程序(开始-程序-附件-命令提示符,单击右键选择以管理员身份运行 )先看一下ARP表的状态: 输入arp -a 输出 接口:192.168.1.1 00-23-cd-a4-b3-ce 动态 192.168.1.100 00-1f-c6-31-8a-4b 动态 192.168.1.255 ff-ff-ff-ff-ff-ff 静态 显示网关对应的MAC地址是动态的,并且不是飞鱼星路由器的MAC地址。2.找到网卡对应的IDX号 输入netsh i i show in 输出(电脑中网卡的数量不同,网卡的安装次数会影响以下显示内容) Idx Met MTU 状态 名称 1 50 4294967295 connected Loopback Pseudo-Interface 1 11 25 1500 connected 本地连接 找到正在使用的网卡idx号是11。3.客户机绑定路由器MAC地址 知道idx号,然后在命令提示符窗口: 输入netsh -c "i i" add neighbors 11 "192.168.1.1" "00-3c-50-10-10-2f" 以上分别为本地连接设置了静态ARP表的信息,本地连接为刚才用show in查看到的idx号,"192.168.1.1" "00-3c-50-10-10-2f"为网关IP和网关的MAC地址。4.最后EXIT退出 再输入arp -a看看是不是静态的了。 接口:192.168.1.1 00-3c-50-10-10-2f 静态 192.168.1.100 00-1f-c6-31-8a-4b 动态 192.168.1.255 ff-ff-ff-ff-ff-ff 静态 5.删除绑定 在Win7和Vista系统中,通过arp -d命令不能删除arp绑定列表。 必须使用 netsh -c "i i" delete neighbors IDX 才可以删除绑定。6.如果想解除所有绑定,在CMD命令行程序里输入netsh i i reset 回车就可以,不过需要重启才能生效
最后要说明一下,用NETSH命令设置的静态ARP表重启后是不会丢失的,这就是它与ARP命令的区别。