ARP(Address Resolution Protocol)是地址解析协议,是一种利用网络层地址来取得数据链路层地址的协议。如果网络层使用IP,数据链路层使用以太网,那么当我们知道某个设备的IP地址时,就可以利用ARP来取得对应的以太网MAC地址。网络设备在发送数据时,当网络层信息包要封装为数据链路层信息包之前,需要首先取得目的设备的MAC地址。因此,ARP在网络数据通信中是非常重要的。
正常情况下,某机器A要向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后,将B的MAC地址封装进数据链路层的帧头,并进行数据传输。如果未找到,则A会以广播的方式发送一个ARP请求报文(携带主机A的IP地址A_IP和物理地址A_MAC),请求IP地址为B_IP的主机B回答其物理地址B_MAC。这时,网上所有主机包括B都收到这个ARP广播请求,但只有主机B识别自己的IP地址,于是B以单播的形式向A主机发回一个ARP响应报文,其中就包含有B的MAC地址B_MAC。A接收到B的应答后,就会更新本地的ARP缓存,接着使用这个MAC地址进行帧的封装并发送数据。
但是,ARP协议并不只在发送了ARP请求后才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。因此,当局域网中的某台机器B向A发送一个自己伪造的ARP应答,而如果这个应答是B冒充C伪造来的,即IP地址为C的IP,而MAC地址是伪造的,则当A接收到B伪造的ARP应答后,就会更新本地的ARP缓存。这样在A看来C的IP地址没有变,而它的MAC地址已经不是原来那个了。由于局域网的网络通信不是根据IP地址进行,而是按照MAC地址进行传输的。所以,那个伪造出来的MAC地址在A上被改变成一个不存在的MAC地址,这样就会造成网络不通,导致A不能Ping通C!这就是一个简单的ARP欺骗。(www.daowen.com)
ARP欺骗是黑客常用的攻击手段之一,其中最常见的一种形式是针对内网PC的网关欺骗。它的基本原理是黑客通过向内网主机发送ARP应答报文,欺骗内网主机说“网关的IP地址对应的是我的MAC地址”,也就是ARP应答报文中将网关的IP地址和黑客的MAC地址对应起来。这样内网PC本来要发送给网关的数据就发送到了黑客的机器上了。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。