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

  • IP地址和MAC地址简介
  • 局域网中目的MAC地址的作用
  • ARP协议
  • ARP风险
  • ARP风险的缓解办法

ARP协议的详细讲解,可以参考视频《电子科技大学TCPIP协议原理》.(杨宁).[42讲],第22个视频的10分30秒处。视频质量可以参考这篇博客[点评] [电子科技大学][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地址的作用

为什么需要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地址。


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响应欺骗攻击又分为资源攻击、DoS攻击、MitM(中间人)攻击。

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

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协议简介、ARP风险及缓解办法相关推荐

  1. ARP协议,ARP攻击和ARP欺骗

    目录 ARP协议概念 风险:arp欺骗和arp攻击 arp攻击 ​编辑 arp欺骗 实验 ARP协议概念 ARP请求​​​​​​,因为不知道目的mac地址,所以广播,用全0来填充​ ARP响应是单播形 ...

  2. ARP协议及ARP欺骗详解

    ARP协议及ARP欺骗详解 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议.主机发送信息时将包含目标IP地址的ARP ...

  3. 局域网arp攻击_一篇文章告诉你,什么是ARP协议与ARP欺骗

    1.什么是ARP协议 ARP协议全程地址解析协议(AddressResolution Protocol,ARP)是在仅知道主机的IP地址时确定其物理地址的一种协议.因IPv4和以太网的广泛应用,其主要 ...

  4. 【计算机网络】网络层 : ARP 协议 ( 使用 ARP 协议查找 目的主机 / 路由器 物理地址 )★

    文章目录 一.ARP 协议 二.ARP 协议 使用过程 三.ARP 协议 四种情况 四.ARP 协议规律 五.ARP 协议 计算示例 一.ARP 协议 物理地址需求 : 在 数据链路层 传输数据帧时 ...

  5. arp协议、arp应答出现的原因、arp应答过程、豁免ARP详细解答附图(建议电脑观看)

    目录 一.arp协议: 二.功能: 三.原理: arp应答出现的原因: 相同子网arp应答过程: 跨网段arp请求过程: 注: 豁免ARP: 一.arp协议: 地址解析协议,即ARP(Address ...

  6. ARP协议与ARP欺骗

    一.ARP协议(地址解析协议) 所谓"地址解析"就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程,ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址 ...

  7. ARP协议,ARP诈骗图

  8. 协议编码分析 - ARP协议详解

    一.            ARP协议简介 ARP,全称Address Resolution Protocol,中文名为地址解析协议,它工作在数据链路层,在本层和硬件接口联系,同时对上层提供服务.&l ...

  9. 【学习笔记】DM9000裸机驱动(三)之简单ARP协议的实现

    1 ARP协议简介 ARP协议是Address Resolution Protocol(地址解析协议)的缩写.所谓的"地址解析"就是主机在发送帧前将目标IP地址转换为目标MAC地址 ...

最新文章

  1. 【驱动】GPIO 作为按键时的 设备树 配置
  2. 李飞飞获全球最权威女性领导力奖 Athena Award,讲述推动AI多元化三大原因(视频)...
  3. 微信小游戏 Egret开发数据域官方Demo下载地址
  4. 每天一道LeetCode-----以单词为单位逆序字符串,每个单词之间以一个空格分隔(原字符串中可能有多个空格)
  5. VMware Workstation中Linux虚拟机安装VMware-Tools
  6. 定制Hamcrest Matchers
  7. mysql 数据迁移_【AWS 功能】Mysql 数据库迁移至Amazon RDS方案
  8. 用组策略发布软件的简单解决办法
  9. 2017-2018-1 20155234第三周《信息安全系统设计基础》学习总结
  10. 设计模式系列之「工厂方法模式」
  11. 42、C++ Primer 4th笔记,IO库,未格式化IO操作
  12. linux怎么把mysql数据库备份还原,MySQL数据库备份和还原
  13. cf980E TheNumberGames (贪心+倍增)
  14. linux中so文件如何打开,安卓手机如何打开.so文件?
  15. 数字电路基础知识(二)
  16. 如何群发邮件?教你发邮件时文件怎么命名、如何设置邮件格式,一文解决你的疑惑
  17. BUUCTF [0CTF 2016] piapiapia
  18. 4月第1周榜单丨飞瓜数据B站UP主排行榜(哔哩哔哩平台)发布!
  19. 超声波测距传感器模块在畜牧业的应用
  20. echarts的应用

热门文章

  1. eclipse 项目没错却有红叉(解决办法)
  2. ensp 防火墙示例_ensp实战之防火墙安全转发策略
  3. 意大利佛罗伦萨大教堂Stage3D漫游
  4. 资深架构师教你一篇文看懂Hadoop
  5. QQ的Tencent://Message/协议
  6. 常用的优化理论类型介绍
  7. 《挑战程序设计竞赛》学习笔记(二):穷竭搜索
  8. 1234购物网的会员可优惠购买床上用品
  9. 使用Vue封装图表组件
  10. 《炬丰科技-半导体工艺》硅晶片清洗是半导体制造中的一个基础步骤