论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
假如主机A要与主机B通讯,它首先会通过网络掩码比对,确认出主机B是否在自己同一网段内,如果在它就会检查自己的ARP缓存中是否有192.168.1.3这个地址对应的MAC地址,如果没有它就会向局域网的广播地址发送ARP请求包,即目的MAC地址是全1的广播询问帧,0xffffffffffffH 02-02-02-02-02-02 192.168.1.3 192.168.1.2;如果B存在的话,必须作出应答,回答“B的MAC地址是…”的单播应答帧,02-02-02-02-02-02 03-03-03-03-03-03 192.168.1.2 192.168.1.3;A收到应答帧后,把“192.168.1.3 03-03-03-03-03-03 动态”写入ARP表。这样的话主机A就得到了主机B的MAC地址,并且它会把这个对应的关系存在自己的ARP缓存表中。之后主机A与主机B之间的通讯就依靠两者缓存表里的MAC地址来通讯了,直到通讯停止后两分钟,这个对应关系才会被从表中删除。
如果是非局域网内部的通讯过程,假如主机A需要和主机C进行通讯,它首先会通过比对掩码发现这个主机C的IP地址并不是自己同一个网段内的,因此需要通过网关来转发,这样的话它会检查自己的ARP缓存表里是否有网关1(192.168.1.1)对应的MAC地址,如果没有就通过ARP请求获得,如果有就直接与网关通讯,然后再由网关1通过路由将数据包送到网关2,网关2收到这个数据包后发现是送给主机C(10.1.1.2)的,它就会检查自己的ARP缓存(没错,网关一样有自己的ARP缓存),看看里面是否有10.1.1.2对应的MAC地址,如果没有就使用ARP协议获得,如果有就是用该MAC地址将数据转发给主机C。
2.1.2 ARP欺骗原理
在以太局域网内数据包传输依靠的是MAC地址,IP地址与MAC对应的关系依靠ARP表,每台主机(包括网关)都有一个ARP缓存表。在正常情况下这个缓存表能够有效的保证数据传输的一对一性,也就是说主机A与主机C之间的通讯只通过网关1和网关2,像主机B之类的是无法截获A与C之间的通讯信息的。但是在ARP缓存表的实现机制中存在一个不完善的地方,当主机收到一个ARP的应答包后,它并不会去验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP对应的关系替换掉原有的ARP缓存表里的相应信息。
这就导致主机B截取主机A与主机C之间的数据成为可能。首先主机B向主机A发送一个ARP应答包说192.168.1.1的MAC地址是03-03-03-03-03-03,主机A收到这个包后并没有去验证包的真实性而是直接将自己ARP列表中的192.168.1.1的MAC地址替换成03-03-03-03-03-03,同时主机B向网关1发送一个ARP响应包说192.168.1.2的MAC是03-03-03-03-03-03,同样网关1也没有去验证这个包的真实性就把自己ARP表中的192.168.1.2的MAC地址替换成03-03-03-03-03-03。当主机A想要与主机C通讯时,它直接把应该发送给网关1(192.168.1.1)的数据包发送到03-03-03-03-03-03这个MAC地址,也就是发给了主机B,主机B在收到这个包后经过修改再转发给真正的网关1,当从主机C返回的数据包到达网关1后,网关1也使用自己ARP表中的MAC,将发往192.168.1.2这个IP地址的数据发往03-03-03-03-03-03这个MAC地址也就是主机B,主机B在收到这个包后再转发给主机A完成一次完整的数据通讯,这样就成功的实现了一次ARP欺骗攻击。因此简单点说ARP欺骗的目的就是为了实现全交换下的数据监听与篡改。也就是说欺骗者必须同时对网关和主机进行欺骗。
2.1.3 ARP病毒清除
感染病毒后,需要立即断开网络,以免影响其他电脑使用。重新启动到DOS模式下,用杀毒软件进行全面杀毒。
临时处理对策:
步骤一、能上网情况下,输入命令arp –a,查看网关IP对应的正确MAC地址,将其记录下来。如果已经不能上网,则运行一次命令arp –d将arp缓存中的内容删空,可暂时恢复上网(攻击如果不停止的话),一旦能上网就立即将网络断掉(禁用网卡或拔掉网线),再运行arp –a。
步骤二、如果已经有网关的正确MAC地址,在不能上网时,手工将网关IP和正确MAC绑定,可确保计算机不再被攻击影响。输入命令:arp –s,网关IP 网关MAC手工绑定在计算机关机重开机后就会失效,需要再绑定。可以把该命令放在autoexec.bat中,每次开机即自动运行。