在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命令的区别。