ARP协议简介、ARP风险及缓解办法

ARP协议的详细讲解,可以参考视频《电子科技大学TCPIP协议原理》.(杨宁).[42讲],第22个视频的10分30秒处。视频质量可以参考这篇博客[点评] [电子科技大学][TCP/IP协议原理][杨宁]
杨宁TCP/IP协议原理
或者可以参考这篇文章Info-Finder | IP知识百科 | 什么是ARP?,这篇文章讲解了ARP协议的各种类型、老化机制以及ARP报文格式。本文从“为什么需要ARP协议”这个问题开始,简述ARP协议并站在网络安全的角度阐述ARP协议的风险和应对策略。


IP地址和MAC地址简介

讲解ARP协议之前,先讲解网络中的两种地址标识。

  终端在网络中的标识有两种地址,一种是逻辑地址(IP地址),另一种是物理地址(MAC地址)。其中IP地址属于第三层(网络层),在跨局域网的路由选择中起作用,具有全局性。MAC地址属于第二层(数据链路层),MAC地址的作用范围是局域网,具有本地性。早期以太网只有交换机,没有路由器,以太网内通过MAC地址通信。后来有了互联网(Internet),采用了IP+MAC地址的通信方式。
逻辑地址:电子科技大学(清水河校区)
物理地址:四川省成都市高新西区西源大道2006号

有关MAC地址的介绍可以参考之前写的博客https://blog.csdn.net/Robert_30/article/details/124409549
MAC地址简介


局域网中目的MAC地址的作用

为什么需要ARP协议?通信的前提是确定通信的对象——源和宿,在两个不同的局域网中,可以通过目标的IP地址到达目标所在的局域网(路由–网络层的作用),但是局域网的路由器如何获知局域网内的某个IP地址是否存在?或者说它的MAC地址是多少呢?

  在一个局域网中,某台主机(A)知道自己的IP地址(IP A)、自己的MAC地址(MAC A)、希望通信的目的主机的IP地址(IP B)——IP A +MAC A +IP B,如何将数据包从A发到B?答案是,A的数据包分组需要封装在数据帧中传送,数据帧的常见格式如下图所示,根据分析,数据帧缺少目的MAC地址,此时需要ARP协议实现IP B→MAC B,来获取目的MAC地址。
Ethernet帧格式
Ethernet Frame


ARP协议

  在以太网上,IP 分组是封装在以太帧中发送的,因此发送时除了要有接收站的 IP 地址(IP 分组中的目的 IP 地址)外,还需要接收站的 MAC 地址(以太网帧中的目的MAC 地址)。ARP 协议(RFC 826)实现了 IP 地址(逻辑地址)到 MAC 地址(物理地址)的动态映射,并将所获得的映射存放在 ARP 高速缓存表中。其中地址映射有静态地址映射,也有动态的地址映射,对应的有静态ARP表和动态ARP表。计算机根据ARP表就可以在局域网中通信。
  ARP(Address Resolution Protocol,地址解析协议)是用来将IP地址解析为MAC地址的协议。
  RARP协议是查找到与MAC地址所对应的主机的IP地址,与ARP协议刚好相反。

ARP:IP→MAC
RARP:MAC→IP

  ARP和RARP请求通常是广播分组,只有一个对应的节点(例如网关)回答报文给询问主机,查询结果存储在一张ARP表中。

  如图所示,通过wireshark抓包,可以看到有ARP单波分组,以及ARP广播分组。
ARP单波和ARP广播分组


ARP风险

ARP风险分类
ARP的风险分为,ARP响应欺骗攻击和ARP请求欺骗攻击。ARP响应欺骗攻击又分为资源攻击、DoS攻击、MitM(中间人)攻击。

  ARP分组有ARP请求分组和ARP响应分组,分别是希望目的IP的MAC地址以及响应目的IP的MAC地址。根据RFC826可以看到ARP分组格式,其中操作代码值1表示ARP请求分组,操作代码值2表示ARP响应分组,如下图:(硬件类型:0x0001=以太网,0x0800=IP协议)
ARP Packet
ARP响应欺骗攻击是ARP响应分组对动态ARP表的影响。

  1. 资源攻击是许多假的ARP响应分组将动态ARP表的填满,例如路由器ARP表被填满,局域网中A主机的ARP表项不在ARP表中,此时BpingA操作,路由器发送ARP请求分组,路由器是无法接收A的响应分组。
  2. DoS攻击是使用ARP响应分组对ARP表中已有的ARP表项的目的MAC地址更改为错误的MAC地址,这样就导致目的MAC的主机网络中断。
  3. MitM(中间人)攻击是黑客收到ARP请求分组时伪造ARP响应分组,在正常的通信中间参与一个中间人的身份,对网络安全的影响是窃取数据、修改数据或者阻隔正常通信导致网络性能下降。例如A(IP A , MAC A)询问C,这时B回应C的MAC在这里,A就误以为B是目标通信者了。

ARP请求欺骗攻击是黑客持续的发送伪造ARP请求分组,例如目的主机的IP是192.168.1.2,ARP请求分组中,源IP地址和目的IP地址均为192.168.1.2,这就导致目的主机收到这个广播数据包之后,判断本机IP地址冲突,网络连接是不可用的,最终导致网络中断。

ARP风险的缓解办法

ARP地址解析协议是建立在网络中各个主机互相信任的基础上的,它的诞生使得网络能够更加高效的运行,但其本身也存在缺陷,有以下几种方法可以缓解:

  1. 硬编码ARP表,就是设置静态ARP表;
  2. 动态ARP表中设置老化时间(缓解资源攻击,事实上,动态表都应该有一个“租期”或者说“老化时间”);
  3. 过滤ARP应答,把未经请求的ARP表进行过滤(但是不能阻止DoS攻击);
  4. 锁住ARP表,在建立好IP/MAC映射之后,锁住这个ARP表项,缓解中间人攻击;
  5. 设置代理或者防火墙,来应对ARP的请求分组和响应分组;
  6. DHCP snooping。网络设备可借由DHCP保留网络上各电脑的MAC地址,在伪造的ARP数据包发出时即可侦测到。

参考链接:
[1]. 网络安全基础(胡道元)-通信网络安全体系结构
[2].《电子科技大学TCPIP协议原理》.(杨宁).[42讲]
[3]. 维基百科-ARP欺骗
[4]. 百度百科-ARP(地址解析协议)

ARP欺骗

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值