首先需要查找网关的IP和MAC地址。
查看的方法很多,最直接的在cmd里面执行arp -a。但这是被arp攻击之前,被攻击成功后,192.168.0.1对应的mac地址会变成攻击电脑的Mac地址。
还有另一个方法,登录路由器查看。在浏览器输入"192.168.0.1"(这里是个人的网关),然后输入帐号密码,登录进去。一般在这里都可以找到一个lan mac地址,这个就是。
其次将本机的arp中的192.168.0.1对应的mac地址改成静态。
在运行中输入:
cmd --> arp -a
可以看到这里的192.168.1.1后面的物理地址,而后面的类型“动态”代表动态缓存,即收到一个相关ARP包就会修改这项。如果是个非法的含有不正确的网关的ARP包,这个表就会自动更改。这样我们就不能找到正确的网关MAC,就不能正常和其他主机通信。
——XP的修改方法
arp -s 网关IP 网关MAC地址
直接执行"arp -s 网关IP 网关MAC地址",即可建立静态的缓存数据。
——win7的修改方法
Win7下不能运行arp -s 进行静态mac绑定,会提示“ARP 项添加失败: 拒绝访问。”(英文版提示:The ARP entry addition failed:Access is denied. )。
这时候只能通过另一道命令来修改。步骤:
1. CMD中输入:
netsh i i show in
然后找到“本地连接”对应的 “Idx” (这里是“10”,下面neighbors后面的数字跟这里一致。)
2. 下面在CMD输入:
netsh -c "i i" add neighbors 10 "网关IP" "Mac地址"
这里10是上面的idx号。完成这步,静态mac地址就完成了
最后,再arp -a看看是不是已经绑定好了?
小贴士:
在Win7上用arp -d并不能完全的删除绑定,必须使用netsh -c "i i" delete neighbors IDX(IDX改为相应的数字)才可删除MAC地址绑定。
另外,修改缓存是一次性的方法,电脑重启之后,静态会恢复成动态。可以写一个dat文件放在开机启动里面执行即可。
附——ARP攻击原理
ARP攻击的原理其实就是攻击主机会向局域网电脑广播一个错误的ARP信息,一般而言,发送的ARP攻击包不外乎攻击者的MAC地址加上网关的IP地址,这样局域网电脑在受到这种ARP攻击报文时,会更新自己电脑的ARP表项,然后就认为攻击源主机的MAC地址就是网关的MAC地址,由于局域网通讯是通过MAC地址来进行传输的,因此受到ARP攻击的电脑就会将报文发送到发动ARP攻击的电脑上了,然后攻击源主机就会获取被攻击电脑的所有上网报文,然后再通过一定的技术手段解析出报文里面的具体信息,如密码、口令等;
当然,大多数ARP攻击行为是为了控制电脑的数据包的发送进而控制电脑的上网速度,达到限制局域网电脑网速,然后独占上网流量的目的。
此外,一些恶意的ARP攻击行为会伪造一个错误的MAC地址,然后广播给局域网所有的电脑,然后让局域网受到攻击的电脑将公网报文发送到一个不存在的MAC地址,从而达到使得整个局域网电脑无法上网的目的。
如下图所示: