什么是ARP?
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源,属于TCP/IP五层模型中的网络层。
下面是ARP协议应用的过程的例子
为什么ARP 协议存在攻击与欺骗?
这就是ARP协议中存在的一个BUG。
局域网上的一台主机,如果接收到一个ARP报文,即使该报文不是该主机所发送的ARP请求的应答报文,该主机也会将ARP报文中的发送者的MAC地址和IP地址更新或加入到ARP表中。
ARP攻击与欺骗的模拟
实验环境:
华为模拟器ensp软件,VMware Workstation Pro软件(一个win7系统,一个win10系统),长角牛网络监控软件
部分实验参数:
真机vm1网卡ip:192.168.100.1 子网掩码:255.255.255.0
真机vm2网卡ip:192.168.200.1 子网掩码:255.255.255.0
虚拟机vm1网卡ip:192.168.110.2 子网掩码:255.255.255.0 默认网关:192.168.110.1
虚拟机vm2网卡ip:192.168.110.3子网掩码:255.255.255.0 默认网关:192.168.110.1
实验过程:
在华为模拟器中建立如图的拓扑关系,分别关联vm1和vm2网卡,以及搭配如图的IP地址,图中欺骗主机使用win7系统虚拟机,被欺骗主机使用win10系统虚拟机
我们在vmware中将被欺骗主机的网络设置为如图
将欺骗主机的网络设置为如图
我们用被欺骗主机去ping网关(192.168.110.1),-t是使ping命令一直处于ping的过程中
我们还要设置路由器
此时交换机中有了被欺骗主机的mac地址
被欺骗主机的mac地址
我们用欺骗主机ping网关(192.168.110.1)也能通,也就是交换机中也有了欺骗主机的mac地址
关闭欺骗主机的防火墙
关闭被欺骗主机的防火墙
我们在欺骗主机中装入长角牛网络监控软件并运行(以管理员身份运行)
选择添加,点击确定
右击选择属性,选择192.168.110.2,选择设置权限
按图示步骤选择
这时我们用被欺骗主机ping网关(192.168.110.1),发现请求超时
超时的时候的mac表
当我们解除对被欺骗主机的权限时,又能ping通网关了
通过观察mac地址我们可以发现,软件通过对arp协议BUG 的运用使主机不能进行通信,当然我们也有办法来防止这种欺骗的发生,那就是我们通过静态绑定MAC地址就可以防止。
这其中有很多华为指令的运用(仅限于华为模拟器ensp使用)
有兴趣的朋友也可以在真实环境中去做个实验,但是不建议利用这个BUG刻意对别人的电脑进行实验,欢迎交流