ARP欺骗原理:
在同一网络内的所有机器是通过MAC地址通讯的。方法为,PC和另一台设备通讯时,PC会先寻找对方的IP地址,然后再通过ARP表(ARP表里面有所有可以通讯的IP和IP所对应的MAC地址)调出相应的MAC地址。通过MAC地址与对方通讯。也就是说在内网中各设备互相寻找和用来通讯的地址是MAC地址,而不是IP地址。但是当初ARP方式的设计没有考虑到过多的安全问题。给ARP留下很多的隐患,ARP欺骗就是其中一个例子。
网内的任何一台机器都可以轻松的发送ARP广播,来宣称自己的IP和自己的MAC。这样收到的机器都会在自己的ARP表格中建立一个他的ARP项,记录他的IP和MAC地址。即使这个广播是错误的其他机器也会接受。例如:192.168.1.11机器MAC是 00:00:00:11:11:11,他使用arp欺骗在内网广播自己的IP地址是192.168.1.254(其实是路由器的IP),MAC地址是00:00:00:11:11:11(他自己的真实MAC)。这样大家会把给192.168.1.254的信息和发给00:00:00:11:11:11,也就是192.168.1.11。 有了这个方法欺骗者只需要做一个软件,就可以在内网欺骗所有上网的计算机。而内网的所有收到他发来信息的机器都会把它误认为内网的网关。所有上网信息都会通过他的MAC地址发给这个机器,由于找不到真正的网关,这些被骗的机器就无法上网。而发送的所有信息都会被这个盗号机器收到,通过分析收到的信息他可以在里面找到有用的信息,特别是有关于帐号的部分。基于原理,ARP在技术上面又分为,对PC的欺骗和对路由的欺骗。后面详细解释。
ARP的发现:
打开被骗机器的DOS界面,输入ARP -A命令会看到相关的ARP表,通过看到的网关的MAC地址可以去判别是否出现ARP欺骗,如果出现欺骗问题,ARP表里面会出现错误的网关MAC地址,和真实的网关MAC肯定是不同的。
ARP解决:
极力推荐的方法:静态绑定
ARP解决最有效的方法,就是从根本杜绝他的欺骗途径。欺骗是通过ARP的动态实时的规则欺骗内网机器,所以我们把ARP全部设置为静态可以根本解决对内网PC的欺骗。
方法为:找到路由器的lan口的MAC地址,把这个MAC地址通过静态的方式帮定到每台PC上面。通过命令,ARP -S 可以实现。首先,建立一个批处理文件。内容只有一行命令,“ARP -S 内网网关 网关的MAC地址 ”,例如:“ARP -S 192.168.1.1 00-13-32-33-12-11 ”。把批处理文件放到启动里面,这样每次开机都会执行这个文件,即使出现ARP欺骗,由于我们设置的是静态方式,PC也不会去理会欺骗的ARP。
pc做了静态绑定之后,为什么还会掉线呢?还是ARP吗?不幸的是,还是ARP。
设想一下,现在的处理方法如果碰到欺骗者不是冒充网关,而是冒充内网的PC会如何呢?答案是掉线,冒充谁,谁掉线。因为路由器收到欺骗ARP后找不到真正的pc了,转发给你的信息全部给了欺骗者的机器。我们在PC上面可以绑定网关,难道在路由器上面也要绑定PC的MAC吗? 答案是肯定的,我们需要在路由器上绑定内网PC的MAC地址。
当然,网络管理员可以采用成品的内网管理软件,用来管理内网成百上千的终端arp配置表,用来达到提高管理效率的目的。