Address Resolution Protocol
用于完成在同一个局域网中,IP地址到Mac地址的映射,地址解析协议,属于网络层协议,工作于网络层合数据链路层之间。
工作原理
1.在高速缓存中存放一个从IP地址到硬件地址表的映射(ARP表)
2. 映射表动态更新
ARP表的建立
- PC1想给PC2发送数据,但查询ARP表后没有查询到与PC2的IP地址对应的MAC地址。
- 于是在局域网中广播ARP请求PC2 的Mac地址,并将自己的IP地址和Mac地址写入报文中。
- 接受到ARP广播报文中的主机先查询自己的ARP表中是否已经存入了PC1的MAC地址,如没有则存入,再判断自己的IP和报文询问的IP是否一致,如果一致则回应该报文,不一致则丢弃
- PC1收到回应后,更新自己的ARP表
- 每隔一段时间会再次发出询问,用于确定对应的Mac是否还在使用对应的IP
交换机的CAM缓存表
交换机同样会基于源Mac地址建立一个Mac与接口对应的CAM缓存表
ARP攻击
ARP欺骗
由于ARP的报文是广播的报文,并不是对应IP的PC3可以回一个冒充PC2身份的的报文(将自己的Mac地址回应给PC1),而此时PC1会受到两个“PC2”的报文,而ARP表有更新功能,PC3可以持续发假报文把PC2的真报文覆盖,使PC1认为PC3才是PC2。
使用此方法,PC3可以欺骗网关,通知给交换机一系列错误的Mac地址,使网关的信息都发给PC3。同时还可以假冒网关的身份,欺骗其他PC,使其他PC的数据发不出去。
预防ARP攻击
- 对每一台主机进行IP和Mac的绑定,过于繁琐,不适用大规模的情况
- 安装ARP防火墙