ARP是电脑获取物理地址的一个TCP/IP协议。一般情况下我们有时候会受到局域网的攻击就是以ARP为主的。这种ARP会以一下四种信息类型出现,分别为:ARP请求、ARP响应、反向ARP请求、反向ARP响应。
ARP请求。计算机A询问整个局域网,“Who has this IP address?” (“谁的IP地址是这个?”,英文为本来报文里的ASCII码消息,译者注)
ARP响应。计算机B告诉计算机A,“I have that IP. My MAC address is [whatever it is].” (我的IP地址是那个。我的MAC地址是[XX:XX:XX:XX:XX:XX])
反向ARP请求。和ARP请求的概念一样,但是计算机A询问,“Who has this MAC address?” (谁的MAC地址是这个?)
反向ARP响应。计算机B告诉计算机A,“I have that MAC. My IP address is [whatever it is]” (我的MAC地址是那个。我的IP地址是XXX. XXX. XXX. XXX)
关于ARP的防御
ARP欺骗可以导致目标计算机与网关通信失败;
更可怕的是会导致通信重定向,所有的数据都会通过攻击者的机器,因此存在极大的安全隐患。
基于PC到PC的IP-MAC双向绑定可以解决ARP欺骗
但是对于不支持IP-MAC双向绑定的设备
就需要用可以绑定端口-MAC的交换来预防ARP欺骗
另外,Windows 2KSP4 XPSP1 的Arp-S绑定是无效的
Windows XP SP2即使使用Arp -s命令静态绑定在攻击者故意制造IP地址冲突的时候,也会失效。