理解 arp以及大致的原理 + 存在的安全隐患

ARP原理

ARP协议是地址解析协议(Address Resolution Protocol)是通过解析IP地址得到MAC地址,所有ARP协议在网络层被应用,它是网络层与链路层连接的重要枢纽
每台主机都会在自己的ARP缓冲区中建立一个ARP列表,ARP列表表示的是IP地址和MAC地址的对应关系。当源主机需要将一个数据包要发送到目的主机的时候,会首先检查自己ARP列表中是否存在该IP地址对应的MAC地址,如果有的话直接讲数据包发送到该MAC地址,如果没有就向本地网络发送广播。在这里插入代码片
在传输一个IP数据报的时候确定源IP地址和目标IP地址,就会通过主机(路由表)确定IP数据包下一跳。然后网络层的下一层是数据链路层,所以我们还要知道下一跳的MAC地址。(有了两台计算机的IP地址与子网掩码就知道它们是否在同一个子网)
ARP 是借助 ARP 请求与 ARP 响应两种类型的包确定 MAC 地址的。

  • 主机会通过广播发送 ARP 请求,这个包中包含了想要知道的 MAC 地址的主机 IP 地址。
  • 当同个链路中的所有设备收到 ARP 请求时,会去拆开 ARP 请求包里的内容,如果== ARP 请求包中的目标 IP 地址与自己的 IP 地址一致==,那么这个设备就将自己的 MAC 地址塞入 ARP 响应包返回给主机。
    操作系统通常会把第一次通过ARP获取的MAC地址缓存起来,以便下次直接从缓存中找到对应IP地址的MAC地址。(缓存有期限)
    在这里插入图片描述
    RARP
    ARP 协议是已知 IP 地址求 MAC 地址,那 RARP 协议正好相反,它是已知 MAC 地址求 IP 地址。例如将打印机服务器等小型嵌入式设备接入到网络时就经常会用得到。
    通常这需要架设一台 RARP 服务器,在这个服务器上注册设备的 MAC 地址及其 IP 地址。然后设备根据自己的MAC地址请求IP地址,根据响应设置自己的IP地址。

存在的安全隐患

  1. ARP窃听
       从ARP的协议过程来看,ARP请求消息将通过交换机或集线器以广播形式进行发送,因此网络上所有主机均可以收到ARP请求消息。针对ARP协议最简单的攻击就是ARP窃听。
       对于恶意攻击者来说,可以被动的收集到这些主机的IP地址和MAC地址,从而实现窃听的目的,而掌握网络中各节点IP地址、MAC地址、是否在线等信息之后,就可以为进一步发动其他攻击(如网络拓扑绘制、拒绝服务等)提供信息。
  2. ARP欺骗
       使IP地址个物理地址之间的关系不是正确的映射关系,而是一个虚假错误的映射,从ARP的原理来看,无论节点收到ARP请求还是响应,该节点均会更新其ARP表。 如果无对应的表项,则添加该表项;反之,则更新对应的表项。
       如果某个ARP消息中的IP-MAC对是不真实的,则造成ARP欺骗攻击(ARP Spoofing),或称为ARP污染攻击(ARP Poisoning)。
    攻击者故意发送不正确的MAC-IP映射ARP响应报文,导致发送ARP请求的主机得到不正确的IP地址和MAC地址映射关系。
    如果该欺骗包的目的MAC地址为广播地址(即FF-FF-FF-FF-FF-FF),则网络中所有节点均会收到该包,从而更新各自的ARP表。
    如果欺骗包的目的MAC地址对应的节点不存在,这些包将没有无节点接收,形成所谓的“黑洞 攻击”
    3.GARP滥用攻击
    什么是GARP?你的路由器在发现有人乱喊MAC地址的时候,立即重发一次或多次正确的MAC地址,把假的MAC地址抵消掉,避免设备被欺骗。
       攻击者利用GARP技术,主动发送虚假的GARP请求消息(即伪造的IP地址和MAC地址的映射) 。如果GARP欺骗包的目的IP地址和MAC地址是某个特定节点的MAC地址,则所造成的攻击仅针对该节点。如果GARP欺骗包的IP地址和MAC地址是网络中所有主机,会导致所有主机的本地ARP映射表发生混乱,严重干扰整个网络通信出现故障。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙崎流河

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值