ARP欺骗、DNS欺骗,与数据流重定向
本文由CSDN-蚍蜉撼青松【主页:http://blog.csdn.net/howeverpf】原创,转载请注明出处!
一、基于ARP欺骗的数据流重定向
1.1 ARP协议及其工作流程
ARP是Address Resolution Protocol(地址解析协议)的简写,RFC826中对其功能的描述为:将计算机的网络层协议地址解析成数据链路层的硬件地址。在当前最为流行的TCP/IP网络体系结构中,跨局域网的间接通信依靠IP地址寻址来完成,在同一局域网内的直接通信则通过MAC地址进行。因此ARP协议的作用一般直接说成是将IP地址解析为MAC地址。
以主机A(IP_A,MAC_A)向同一个局域网内的主机B(IP_B,MAC_B)发数据包为例,ARP协议的工作流程简单描述如下:
- ① 主机A通过IP_B查询本机的ARP缓存列表(其中存放了最近和本机通信过的主机的IP地址和相应MAC地址记录),看是否有相应的记录。有,则解析结束;没有,转下一步。
- ② 主机A向局域网内所有主机广播ARP请求报文:“我是IP_A,我的MAC地址是MAC_A,我想知道IP_B的MAC地址。”
- ③ 局域网内所有主机收到主机A的ARP请求报文后,首先检查自己的ARP缓存列表内是否有主机A的IP地址与相应MAC地址的记录,没有记录或者记录与新收到的报文不同,就更新本机的ARP缓存列表。然后比对自己的IP地址是否为IP_B。不是,则本机工作完毕;是,则向主机A发送ARP响应报文:“我是IP_B,我的MAC地址是MAC_B。 ”
- ④ 主机A收到来自主机B的ARP响应报文后,更新本机的ARP缓存列表。将MAC_B作为目的MAC地址写入以太帧,通过局域网送达主机B。
1.2 ARP欺骗及以之为基础的数据流重定向
为了减少局域网内的ARP通信量,ARP协议规定,即使一台主机收到的ARP响应报文并非自己请求得到,他也会将其更新到本机的ARP缓存列表中。而且ARP缓存列表的更新策略是以最新的为准,也就是说,在ARP缓存列表已存在相关记录的情况下