我这几天我直住在北京Google公司对面的未名国际青年旅舍里,青年旅舍提供不加密的WIFI网络,可以免费上网,结果遇到ARP欺骗,我用的是Windows Vista Basic,我就用
arp -s 192.168.1.1 00-14-78-D4-DE-F1
来把网关地址改成静态的,想用这个办法来防范ARP欺骗,结果老是提示错误:
C:\Users\zola>arp -s 192.168.1.1 00-14-78-D4-DE-F1
ARP 项添加失败: 5C:\Users\zola>
用ARP -d也无法成功执行
上网搜索一下,发现这里有一篇BLOG提到这个问题,
http://dawnh.net/windows/247/windows-2008-arp-bug/
我是用这样的办法解决被ARP欺骗的:
先写一个CMD三个字母到一个txt文本中,然后重命名为antiarp.bat
然后右键点击antiarp.bat,选择”以管理员身份运行”
然后输入:
Netsh interface ipv4 show interfaces
可以看到类似这样的内容,从里面找到当前使用的网卡的INDEX,
C:\Windows\system32>Netsh interface ipv4 show interfaces Idx Met MTU 状态 名称 --- --- ----- ----------- ------------------- 1 50 4294967295 connected Loopback Pseudo-Interface 1 9 25 1500 connected 无线网络连接 8 5 1500 disconnected 本地连接 14 40 1500 disconnected 本地连接 2
上面的idx就是网卡的编号,可以看到”无线网络连接的idx是9
然后运行
C:\Windows\system32>netsh -c “interface ipv4” add neighbors 9 “192.168.1.1” “00-14-78-D4-DE-F1”
好了,把网关192.168.1.1的网关地址设置为静态的了,这下不怕ARP欺骗了.
我再检查一下
C:\Windows\system32>arp -a 接口: 192.168.1.222 --- 0x9 Internet 地址 物理地址 类型 192.168.1.1 00-14-78-d4-de-f1 静态 192.168.1.255 ff-ff-ff-ff-ff-ff 静态 C:\Windows\system32>
好了,搞定了..
arp -s 不工作,幸好还有netsh -c “interface ipv4” add neighbors 9 “192.168.1.1” “00-14-78-D4-DE-F1″可以工作.
neighbors 9中的9就是我找到的网卡的编号.
00-14-78-D4-DE-F1 是我找到的网关的网卡的物理地址.
使用上面的命令重要的是找出网卡的index和网关的真实MAC地址.
arp -s 和arp -d不工作的原因我还没有找到,谁能告诉我为什么不能工作?真的是Vista 下的ARP命令的BUG吗?
相关文章:《科普:如何防范ARP欺骗》 http://www.alouz.com/weblog/?p=776
《Htts安全证书可以防范通过arp欺骗窃取网站帐号信息》
不用”先写一个CMD三个字母到一个txt文本中,然后重命名为antiarp.bat
“这么麻烦吧.直接”开始”-“所有程序”-“附件”-右键”命令提示符”,选择用管理员权限运行就ok了
vista下管理员权限控制那个uac导致的cmd问题吧,我之前就有过ipconfig都用不了的问题,直接右键”管理员权限运行”就all done了吧
谢谢陈永仁,我没想到Vista居然在附件中提供CMD的快捷方式了:)