ARP 协议的作用是在处于同一个子网中的主机所构成的局域网部分中将 IP 地址映射到 MAC 地址。网络上的每一个设备至少有两个地址:媒体存取控制地址和 Internet 协议(IP)地址。MAC 地址是设备中网络接口卡的物理地址,它在该设备服务的寿命期限内不会发生改变。如果机器移动到网络的其它地方,IP 地址就会发生改变。ARP 用于将 IP 地址匹配到或解析至恰当的 MAC 地址(反之亦然)。ARP 通过向连接到以太网中的所有主机发出一个数据包的办法进行工作。数据包中含有发送者需要连接的 IP 地址。大多数主机会忽略该数据包。目标机器识别出数据包中的 IP 地址与自己匹配,所以就会作出响应。ARR 是一个非常简单的协议,仅有四种类型的基本信息组成:
- ARP 询问—计算机 A 发出询问:“哪台计算机拥有该IP地址?”
- ARP 应答—计算机 B 向计算机 A 发出信息:“我拥有哪个 IP 地址,我的 MAC 地址是123.123.123.123"。
- 逆向 ARP 询问(RARP)—是与 ARP 询问一们的概念,但计算机 A 询问:“哪台计算机拥有该 MAC 地址?”
- 逆向 ARP 应答—计算机 B 向计算机 A 发出信息:“我拥有那个 MAC 地址,我的 IP 地址是123.123.123.123"。
所有的网络设备都有一张 ARP 表,里面临时记忆着该设备已经匹配起来的所有的 IP 地址和 MAC 地址。ARP 表能够确保该设备不需要向已经与自己进行过通信的计算机重复 ARP 询问。当有人在未获得授权时就企图更改 MAC 和 IP 地址的 ARP 表格中的信息时,就发生了 ARP 攻击。通过这种方式,黑客们可以伪造 MAC 或 IP 地址,以便实施如下的两种攻击:
服务拒绝
黑客很容易就可以将一个在操作上有效的 IP 地址与虚假的 MAC 地址联系起来。例如黑客可以发出 ARP 应答将用户的网络路由器 IP 地址与一个不存在的 MAC 地址联系起来。用户计算机认为它们知道其默认网关的位置,但实际上它们在发送目的地址不在本地的数据包,而是在天空中的一个巨大的“位存储桶”。只此一步,黑客就已经切断了用户网络与 Internet 的连接。
中间人
黑客可以使用 ARP 投毒的办法来截取用户网络中两设备间的通信。例如,黑客想知道 IP 地址为 123.123.123.123 的用户计算机与用户 Internet 路由器之间的所有通信。首先,黑客会向客户的路由器发送恶意的 ARP 应答,将其计算机 MAC 地址与 IP 地址 123.123.123.123 联系起来