局域网的MAC(arp)攻击解决方法

制作批处理文件:

在客户端做对网关的arp绑定,具体操作步骤如下:

步骤一:
查找本网段的网关地址,比如192.168.1.1,以下以此网关为例。在正常上网时,“开始→运行→cmd→确定”,输入:arp -a,点回车,查看网关对应的Physical Address。

比如:网关192.168.1.1 对应00-14-78-b7-9e-f8

步骤二:
编写一个批处理文件rarp.bat,内容如下:

@echo off
arp -d
arp -s  192.168.1.1 00-14-78-b7-9e-f8

保存为:rarp.bat。

步骤三:
运行批处理文件将这个批处理文件拖到“Windows→开始→程序→启动”中,如果需要立即生效,请运行此文件。

注意:以上配置需要在网络正常时进行

欺骗形式有欺骗路由器ARP表和欺骗电脑ARP两种,我们的防护当然也是两个方面的,首先在路由器上进行设置,来防止路由器的ARP表被恶意的ARP数据包更改;其次,我们也会在电脑上进行一下设置,来防止电脑的ARP表受恶意更改。两个方面的设置都是必须的,不然,如果您只设置了路由器的防止ARP欺骗功能而没有设置电脑,电脑被欺骗后就不会把数据包发送到路由器上,而是发送到一个错误的地方,当然无法上网和访问路由器了。

一、设置前准备

当使用了防止ARP欺骗功能(IP和MAC绑定功能)后,最好是不要使用动态IP,因为电脑可能获取到和IP与MAC绑定条目不同的IP,这时候可能会无法上网,通过下面的步骤来避免这一情况发生吧。

1.把路由器的DHCP功能关闭:打开路由器管理界面,“DHCP服务器”->“DHCP服务”,把状态由默认的“启用”更改为“不启用”,保存并重启路由器。

2.给电脑手工指定IP地址、网关、DNS服务器地址,如果您不是很清楚当地的DNS地址,可以咨询您的网络服务商。

二、设置路由器防止ARP欺骗

具备这种一功能的路由器产品很多,下面我们以某一款路由器为例,设置路由器防止ARP欺骗。

打开路由器的管理界面可以看到如下的左侧窗口:
可以看到比之前的版本多出了“IP与MAC绑定”的功能,这个功能除了可以实现IP和MAC绑定外,还可以实现防止ARP欺骗功能。

打开“静态ARP绑定设置”窗口如下:
注意,默认情况下ARP绑定功能是关闭,请选中启用后,点击保存来启用。

打开“ARP映射表”窗口如下:

这是路由器动态学习到的ARP表,可以看到状态这一栏显示为“未绑定”。 如果确认这一个动态学习的表没有错误,也就是说当时不存在arp欺骗的情况下(如果网络是正常运行的,而且不同的IP对应的MAC地址不一样,一般是没有错误的) ,我们把这一个表进行绑定,并且保存为静态表,这样路由器重启后这些条目都会存在,达到一劳永逸的效果。

点击“全部绑定”,可以看到下面界面:
可以看到状态中已经为已绑定,这时候,路由器已经具备了防止ARP欺骗的功能,上面的示范中只有三个条目,如果您的电脑多,操作过程也是类似的。有些条目如果没有添加,也可以下次补充上去。除了这种利用动态学习到的ARP表来导入外,也可以使用手工添加的方式,只要知道电脑的MAC地址,手工添加相应条目就可。

为了让下一次路由器重新启动后这些条目仍然存在,我们点击了“全部导入”,然后再次打开“静态ARP绑定设置”窗口:
可以看到静态条目已经添加,而且在绑定这一栏已经打上勾,表示启用相应条目的绑定。到此,我们已经成功设置路由器来防止192.168.1.111、192.168.1.112、222.77.77.1这三个IP受ARP欺骗的攻击,如果有更多的电脑,只是条目数不同,设置过程当然是一样的,不是很难吧?

三、设置电脑防止ARP欺骗

路由器已经设置了防止ARP欺骗功能,接下来我们就来设置电脑的防止ARP欺骗了。微软的操作系统中都带有ARP这一命令行程序,我们可以在windows的命令行界面来使用它。打开windows的命令行提示符如下:
通过“arp-s +路由器IP如192.168.1.1+路由器的MAC地址”这一条命令来实现对路由器的ARP条目的静态绑定,可以看到在arp -a 命令的输出中,已经有了我们刚才添加的条目,Type类型为static表示是静态添加的。至此,我们也已经设置了电脑的静态ARP条目,这样电脑发送到路由器的数据包就不会发送到错误的地方去了。

怎么知道路由器的MAC地址是多少呢?可以打开路由器的管理界面,进入“网络参数”->“LAN口设置”:
LAN口的MAC地址就是电脑的网关的MAC地址。

细心的人可能已经发现了,如果使用上面的方法,电脑每次在重启后都需要输入上面的命令来实现防止ARP欺骗,有没有更简单的方法自动来完成,不用手工输入呢?有!

我们可以新建一个批处理文件如static_arp.bat,注意后缀名为bat。编辑它,在里面加入我们刚才的命令:

保存就可以了,以后可以通过双击它来执行这条命令,还可以把它放置到系统的启动目录下来实现启动时自己执行。打开电脑“开始”->“程序”,双击“启动”打开启动的文件夹目录,把刚才建立的static_arp.bat复制到里面去:

好了,以后电脑每次启动时就会自己执行arp –s命令了,网吧网管和老板终于可以好好休息一下,不再受到ARP攻击的干扰。

Related Posts