ARP协议简介、ARP风险及缓解办法
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表的影响。
- 资源攻击是许多假的ARP响应分组将动态ARP表的填满,例如路由器ARP表被填满,局域网中A主机的ARP表项不在ARP表中,此时BpingA操作,路由器发送ARP请求分组,路由器是无法接收A的响应分组。
- DoS攻击是使用ARP响应分组对ARP表中已有的ARP表项的目的MAC地址更改为错误的MAC地址,这样就导致目的MAC的主机网络中断。
- 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地址解析协议是建立在网络中各个主机互相信任的基础上的,它的诞生使得网络能够更加高效的运行,但其本身也存在缺陷,有以下几种方法可以缓解:
- 硬编码ARP表,就是设置静态ARP表;
- 动态ARP表中设置老化时间(缓解资源攻击,事实上,动态表都应该有一个“租期”或者说“老化时间”);
- 过滤ARP应答,把未经请求的ARP表进行过滤(但是不能阻止DoS攻击);
- 锁住ARP表,在建立好IP/MAC映射之后,锁住这个ARP表项,缓解中间人攻击;
- 设置代理或者防火墙,来应对ARP的请求分组和响应分组;
- DHCP snooping。网络设备可借由DHCP保留网络上各电脑的MAC地址,在伪造的ARP数据包发出时即可侦测到。
参考链接:
[1]. 网络安全基础(胡道元)-通信网络安全体系结构
[2].《电子科技大学TCPIP协议原理》.(杨宁).[42讲]
[3]. 维基百科-ARP欺骗
[4]. 百度百科-ARP(地址解析协议)
ARP协议简介、ARP风险及缓解办法相关推荐
- ARP协议,ARP攻击和ARP欺骗
目录 ARP协议概念 风险:arp欺骗和arp攻击 arp攻击 编辑 arp欺骗 实验 ARP协议概念 ARP请求,因为不知道目的mac地址,所以广播,用全0来填充 ARP响应是单播形 ...
- ARP协议及ARP欺骗详解
ARP协议及ARP欺骗详解 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议.主机发送信息时将包含目标IP地址的ARP ...
- 局域网arp攻击_一篇文章告诉你,什么是ARP协议与ARP欺骗
1.什么是ARP协议 ARP协议全程地址解析协议(AddressResolution Protocol,ARP)是在仅知道主机的IP地址时确定其物理地址的一种协议.因IPv4和以太网的广泛应用,其主要 ...
- 【计算机网络】网络层 : ARP 协议 ( 使用 ARP 协议查找 目的主机 / 路由器 物理地址 )★
文章目录 一.ARP 协议 二.ARP 协议 使用过程 三.ARP 协议 四种情况 四.ARP 协议规律 五.ARP 协议 计算示例 一.ARP 协议 物理地址需求 : 在 数据链路层 传输数据帧时 ...
- arp协议、arp应答出现的原因、arp应答过程、豁免ARP详细解答附图(建议电脑观看)
目录 一.arp协议: 二.功能: 三.原理: arp应答出现的原因: 相同子网arp应答过程: 跨网段arp请求过程: 注: 豁免ARP: 一.arp协议: 地址解析协议,即ARP(Address ...
- ARP协议与ARP欺骗
一.ARP协议(地址解析协议) 所谓"地址解析"就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程,ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址 ...
- ARP协议,ARP诈骗图
- 协议编码分析 - ARP协议详解
一. ARP协议简介 ARP,全称Address Resolution Protocol,中文名为地址解析协议,它工作在数据链路层,在本层和硬件接口联系,同时对上层提供服务.&l ...
- 【学习笔记】DM9000裸机驱动(三)之简单ARP协议的实现
1 ARP协议简介 ARP协议是Address Resolution Protocol(地址解析协议)的缩写.所谓的"地址解析"就是主机在发送帧前将目标IP地址转换为目标MAC地址 ...
最新文章
- 【驱动】GPIO 作为按键时的 设备树 配置
- 李飞飞获全球最权威女性领导力奖 Athena Award,讲述推动AI多元化三大原因(视频)...
- 微信小游戏 Egret开发数据域官方Demo下载地址
- 每天一道LeetCode-----以单词为单位逆序字符串,每个单词之间以一个空格分隔(原字符串中可能有多个空格)
- VMware Workstation中Linux虚拟机安装VMware-Tools
- 定制Hamcrest Matchers
- mysql 数据迁移_【AWS 功能】Mysql 数据库迁移至Amazon RDS方案
- 用组策略发布软件的简单解决办法
- 2017-2018-1 20155234第三周《信息安全系统设计基础》学习总结
- 设计模式系列之「工厂方法模式」
- 42、C++ Primer 4th笔记,IO库,未格式化IO操作
- linux怎么把mysql数据库备份还原,MySQL数据库备份和还原
- cf980E TheNumberGames (贪心+倍增)
- linux中so文件如何打开,安卓手机如何打开.so文件?
- 数字电路基础知识(二)
- 如何群发邮件?教你发邮件时文件怎么命名、如何设置邮件格式,一文解决你的疑惑
- BUUCTF [0CTF 2016] piapiapia
- 4月第1周榜单丨飞瓜数据B站UP主排行榜(哔哩哔哩平台)发布!
- 超声波测距传感器模块在畜牧业的应用
- echarts的应用