一、概述
1、ARP协议
地址解析协议,将IP地址转换为对应的mac地址,属链路层协议
数据包分为:
- 请求包(广播):本机IP地址、mac地址+目标主机IP地址
- 应答包(单播):本机IP地址、mac地址+来源主机IP地址、mac地址
通信方式:
-
局域网内通信:
主机A和主机B通信过程:
(1)主机A先检查自己的缓存表中有没有主机B的IP地址和mac地址的对应关系,有就直接进行通信;如果没有,就在局域网广播一个arp请求包,包括主机A的IP地址、mac地址和主机B的IP地址。
(2)局域网内所有机器都会收到这个请求包,收到后与自己的ip地址对比一下,如果是自己的,就发送一个响应包,包括主机A的IP地址、mac地址和主机B的IP地址、mac地址;如果不是自己的,就丢掉。 -
局域网间通信:与上面过程类似,但是主机A要先和网关进行通信,再和主机B进行通信。
注意:a.两台主机的IP地址不在同一网段,需要通过网关来转发
b.涉及两个arp缓存表,一个是主机中存放的,另一个是网关处路由器设备自己的arp缓存表
2、 ARP欺骗
利用ARP协议的缺陷进行的一种非法攻击
二、ARP欺骗攻击原理
1、原理:主机接收到一个应答包之后,并不会验证自己是否发送过对应的arp请求包,也不会验证这个arp请求包是否可信,而是直接用应答包里的IP地址和mac地址的对应关系替换掉arp缓存表里原有的对应关系。
2、过程
攻击主机B向网关C发送一个应答包,包括主机A的IP地址、主机B的mac地址。同时,向主机A发送一个应答包,包括网关C的IP地址,主机B的mac地址。
这个时候,网关C就会将缓存表里主机A的mac地址换成主机B的mac地址,而主机a就会将缓存表里网关C的mac地址换成主机B的mac地址。
所以,网关C发送给主机A的消息全被主机B接收,主机A发送给网关C的消息也全被主机B接收,主机B就成为主机A和网关C通信的“中间人”。
三、ARP欺骗攻击的检测与防御
检测:
1、网络频繁掉线
2、网速突然变慢
3、使用arp -a命令查看的网关mac地址与真实的网关mac地址不同
4、使用嗅探软件发现局域网内存在大量arp应答包
防御:
1、绑定mac地址
2、使用静态arp缓存表
3、使用arp服务器,通过服务器来查找arp转换表来响应其他机器的广播
4、使用arp欺骗防护软件
四、ARP欺骗的危害
1、使同一网段内其他用户无法上网
2、可以嗅探到交换式局域网中的所有数据包
3、对信息进行篡改
4、可以控制局域网内任何主机