序言
ARP欺骗是个很老的话题了,自从有了TCP/IP协议的那一刻起它就存在了。曾起何时,ARP不过是大学校园的“赖皮”学生用来争抢IP的一种技术手段而已!而现在利用ARP攻击方式盗取密码的事情数见不鲜!由于ARP攻击导致频繁掉线的事情频频出现。,让人很恼火。本文将着力解释什么是ARP攻击及其原理等,让读者朋友们对其有个深入的了解,并通过对国内六款主流的ARP防火墙的横向评测,,为读者挑出自己满意的ARP防火墙。 .
什么是ARP .
ARP是地址转换协议(Address Resolution Protocol)的英文缩写,它是一个链路层协议,工作在OSI模型的第二层,在本层和硬件接口间进行联系,同时对上层(网络层)提供服务。二层的以太网交换设备并不能识别32位的IP地址,它们是以48位以太网地址(就是我们常说的MAC地址)传输以太网数据包的。也就是说IP数据包在局域网内部传输时并不是靠IP地址而是靠MAC地址来识别目标的,因此IP地址与MAC地址之间就必须存在一种对应关系,而ARP协议就是用来确定这种对应关系的协议。 .
Windows操作系统,在命令行窗口输入"arp -a"命令可查看本机当前的ARP缓存表,ARP缓存表保存的就是IP地址与MAC地址的对应关系,如图1所示: .
.
(图:1) .
上图中,"Internet Address"指的就是IP地址,"Physical Address"指的就是MAC地址。 .
ARP欺骗原理(此资料引自彩影软件官方网站) .
要说到ARP的欺骗原理,就不得不先说下ARP协议的工作原理: .
ARP数据包根据接收对象不同,可分为两种:
.
1. 广播包(Broadcast)。广播包目的MAC地址为FF-FF-FF-FF-FF-FF,交换机设备接收到广播包后,会把它转发给局域网内的所有主机。
.
2. 非广播包(Non-Broadcast)。非广播包后只有指定的主机才能接收到。 .
ARP数据包根据功能不同,也可以分为两种: .
1. ARP请求包(ARP Request)。ARP请求包的作用是用于获取局域网内某IP对应的MAC地址。
.
2. ARP回复包(ARP Reply)。ARP回复包的作用是告知别的主机,本机的IP地址和MAC是什么。
.
广播的一般都是ARP请求包,非广播的一般都是ARP回复包。 .
假设局域网内有以下两台主机,主机名、IP地址、MAC地址分别如下: .
主机名 IP地址 MAC地址
.
A 192.168.0.1 AA-AA-AA-AA-AA-AA
.
B 192.168.0.2 BB-BB-BB-BB-BB-BB .
当主机A需要与主机B进行通讯时,它会先查一下本机的ARP缓存中,有没有主机B的MAC地址。如果有就可以直接通讯。如果没有,主机A就需要通过ARP协议来获取主机B的MAC地址,具体做法相当于主机A向局域网内所有主机喊一嗓子:“喂~谁是192.168.0.2?我是192.168.0.1,我的MAC地址是AA-AA-AA-AA-AA-AA .
。你的MAC地址是什么,快告诉我”,这时候主机A发的数据包类型为:广播-请求。
.