主机在两种情况下会保存、更新本机的ARP缓存表.
1. 接收到“ARP广播-请求”包时
2. 接收到“ARP非广播-回复”包时
从中我们可以看出,ARP协议是没有身份验证机制的,局域网内任何主机都可以随意伪造ARP数据包,ARP协议设计天生就存在严重缺陷。
假设局域网内有以下三台主机(其中GW指网关),主机名、IP地址、MAC地址分别如下:
主机名 IP地址 MAC地址
GW 192.168.0.1 01-01-01-01-01-01
PC02 192.168.0.2 02-02-02-02-02-02
PC03 192.168.0.3 03-03-03-03-03-03
在正常情况下,主机PC02与GW之间的数据流向,以及它们各自的ARP缓存表如下图所示:
当网络爱好者,主机PC03出现之后,他为了达到某种目的,于是决定实施一次ARP欺骗攻击。PC03首先向PC02发送了一个ARP数据包,作用相当于告诉PC02:“嘿,我是192.168.0.1,我的MAC地址是03-03-03-03-03-03”,接着他也向GW发送了一个ARP数据包,作用相当于告诉GW:“嘿,我是192.168.0.2,我的MAC地址是03-03-03-03-03-03”。于是,主机PC02与GW之间的数据流向,以及它们各自的ARP缓存表就变成如下图所示:
从上图我们可以看出,ARP欺骗之后,主机PC02与GW之间的所有网络数据都将流经PC03,即PC03已经掌控了它们之间的数据通讯。以上就是一次ARP欺骗的实施过程,以及欺骗之后的效果。
ARP欺骗根据欺骗对象的不用可以分为三种:
1. 只欺骗受害主机。实施欺骗后效果如下:
2. 只欺骗路由器、网关。实施欺骗后效果如下:
3. 双向欺骗,即前面两种欺骗方法的组合使用。实施欺骗后的效果如下:
ARP欺骗带来的危害可以分为几大类:
1. 网络异常。具体表现为:掉线、IP冲突等。
2. 数据窃取。具体表现为:个人隐私泄漏(如MSN聊天记录、邮件等)、账号被盗用(如QQ账号、银行账号等)。
3. 数据篡改。具体表现为:访问的网页被添加了恶意内容,俗称“挂马”。
4. 非法控制。具体表现为:网络速度、网络访问行为(例如某些网页打不开、某些网络应用程序用不了)受第三者非法控制。ARP欺骗根据发起个体的不同可以分为两类,
(1). 人为攻击。人为攻击的目的主要是:造成网络异常、窃取数据、非法控制。
(2). ARP病毒。ARP病毒不是特指某一种病毒,而是指所有包含有ARP欺骗功能的病毒的总称。ARP病毒的目的主要是:窃取数据(盗号等)、篡改数据(挂马等)。
针对arp病毒泛滥,可在交换上做以下设置:
华为交换机:可在接入层或汇聚层交换机封源mac地址
int 某端口
mac-address backhole **************
港湾交换机:可在汇聚层做acl
service acl enable
create acl deny_mac mac-ip destination any any source ************** any deny ports any predence 60
其中******************表示mac地址