一、ARP协议简介
地址解析协议(Address Resolution Protocol,ARP)是网络层协议,用于将网络层的IP地址解析为数据链路层的物理MAC地址。在局域网中,设备之间通过MAC地址进行通信,而ARP协议就是实现IP地址与MAC地址映射的关键机制。
ARP的工作原理如下:
-
当主机A需要与主机B通信时,它会先在本地ARP缓存中查找主机B的IP地址对应的MAC地址。
-
如果没有找到,主机A会发送一个ARP请求广播包,询问主机B的MAC地址。
-
主机B收到ARP请求后,会将自己的MAC地址封装在ARP响应包中发送给主机A。
-
主机A收到响应后,将主机B的IP地址和MAC地址的映射关系存储在本地ARP缓存中,以便后续通信。
所以根据ARP的工作原理只要和目标机在同一广播域(同一交换机或网络),攻击机就可以伪装成目标机的网关,进行ARP欺骗,让目标机的流量都从攻击机经过。
下面是攻击演示过程
kali
win7
kali(攻击者)ip:192.168.157.137
win7(受害者)ip:192.168.157.142
受害者网关:192.168.157.2
win7此时可以上网
用kali进行攻击,-t后面为受害者)ip ,-r后面为受害者网关
此时win7的网关的MAC地址已经映射到kali的IP地址了
这时win7就无法上网了
那么要怎样进行防御呢?
在Windows系统中,可以使用arp -s
命令手动添加静态ARP条目。
只要为IP地址手动绑定MAC地址就可以永久绑定防止ARP欺骗了。
当然了还有类似于ARP防火墙之类的工具防护方式。