ARP协议介绍与ARP协议的攻击手法

arp · 浏览次数 : 44

小编点评

ARP(Address Resolution Protocol,地址解析协议)是一种网络协议,用于将IP地址转换为MAC地址。它是在网络层(IP层)和数据链路层(MAC层)之间进行通信的一种协议。ARP协议的工作原理可以分为以下几个步骤: 1. 广播找MAC过程:当一个设备需要查找另一个设备的MAC地址时,它会向局域网内的所有设备广播一个包含目标IP地址和自身MAC地址的ARP请求消息。 2. 缓存IP、MAC过程:接收到ARP请求的设备会检查请求中的IP地址是否与其MAC地址匹配。如果匹配,则返回相应的MAC地址;如果不匹配,则设备会丢弃该请求。 3. 更新缓存过程:当设备收到ARP响应消息后,会将目标IP和MAC地址存储在本地缓存表中,以便后续通信时使用。 ARP协议下的攻击原理主要是利用ARP协议的缺陷,通过伪造ARP响应消息来篡改网络设备的MAC地址表,从而达到窃取数据、篡改通信内容等目的。这种攻击可能导致网络中断、数据泄露等问题。 为了防范ARP攻击,可以采用以下方法: 1. 使用静态ARP表项:在关键设备上配置静态ARP表项,避免动态ARP更新被恶意利用。 2. 启用ARP检查:在交换机上启用ARP检查功能,过滤非法的ARP报文。 3. 部署ARP防护软件:使用专门的ARP防护软件来监控和阻止可疑的ARP活动。 4. 网络隔离:将网络划分为更小的广播域,限制ARP广播范围。 5. 加强网络监控:实时监控网络流量,及时发现异常的ARP行为。 6. 使用VPN:对重要通信使用VPN加密,防止ARP欺骗导致的数据泄露。 7. 及时更新系统补丁:保持操作系统和网络设备固件的最新更新,修复已知漏洞。 8. 教育用户:培训网络用户识别潜在的ARP攻击迹象。 9. 使用安全协议:在可能的情况下,使用更安全的协议如IPv6来替代ARP(IPv6替换了ARP协议)。 10. 定期安全审计:定期进行网络安全审计,检查ARP表和网络配置。

正文


ARP是什么?

ARP是通过网络地址(IP)来定位机器MAC地址的协议,它通过解析网络层地址(IP)来找寻数据链路层地址(MAC)的网络传输协议。

对个定义不能理解的话,可以结合 TCP/IP 模型图理解,如下:

image


image

ARP已经在很多网路层和数据链接层之间得以实现。不过在IPv6中用邻居发现协议(NDP)代替地址解析协议(ARP)。

我的理解,ARP协议类似编程中的底层系统函数,一般用户用不到,或者没有太多单独使用场景。它一般结合着上层的协议使用,比如上层的TCP、UDP协议在发包的时候,都必须要得到一些通信参数,比如本机IP,本机MAC,目标IP,目标MAC,如果在缺失MAC地址的时候,就会自动调用ARP协议,ARP会去自动获取到对方的MAC地址,并填充回来。

image

ARP协议工作原理

ARP协议的目的:
根据IP地址,获取到机器的MAC地址。
因为IP地址和MAC地址是两个关键的通信参数,没有他俩就做不了。

为什么要找MAC:
IP和MAC都是用来定位机器的,
IP地址的主要作用是在跨越不同网络的情况下进行通信时对设备进行寻址,以便把数据包正确地发送到目标计算机。
IP地址是逻辑地址,用于在网络层寻址和路由选择。
IP地址可以分为公共IP地址和私有IP地址。私有IP地址是在局域网中使用的,只在局域网内部有效,用于在局域网中进行内部通信。

MAC地址在网络接口控制器(NIC)中预设,一般由设备制造商分配,具有全球唯一性。
在局域网中,设备之间的通信通常是通过MAC地址实现的,而不是通过IP地址。

下面将讲解ARP协议怎么能拿到对方MAC的过程,主要分为三个步骤:

  1. 广播找MAC过程
  2. 缓存IP、MAC过程
  3. 更新缓存过程

广播找MAC过程:
比如说你已经有一个目标IP地址了,你想找这个IP的MAC地址,那么ARP会这样做,它会向路由(或交换机)广播一条消息,上面主要填写自己机器的信息,和想要的信息:
image

  • 网络层: 目标IP 表示要找个这个IP的MAC地址;
  • 网络层: 目标MAC 00:00:00:00:00:00 表示要找这个机器的MAC地址,先用0占位;
  • 链路层: 目标MAC ff:ff:ff:ff:ff:ff 表示在数据链路层进行广播,查找这个目标IP的MAC;

局域网内的所有机器,都会收到这条消息。

缓存IP、MAC过程:
非目标机器收到这条消息,知道不是找它,直接丢弃。

当目标IP机器收到这条消息后,知道是在找他,他就给这个源IP和源MAC回复一条消息,说我的MAC是XXX,你备份一下吧。

源IP机器收到目标机器的MAC后,防止后期还要用到,又要去找,浪费时间,就在本地缓存一份。

所以每台主机都会缓存一份自己常用的IP和MAC地址表,类似下面的图:
image

更新缓存过程:
局域网内,IP地址是可以变更的,当有一台或多台机器的IP发送了改变,那么他们本地维护的缓存表不就没法使用了?或者就乱套了,想找张三,变成找到李四了。

解决:
在变更了自己的IP之后,那么他们就会在局域网内发送一个特殊ARP包,内容大致是说,我的IP地址变更了,MAC地址也附上,你们也把自己的缓存更新一下。然后局域网内的所有机器,都屁颠屁颠的跟着更新自己的缓存。

ARP协议下的攻击原理

更新缓存这个功能其实是个正常的功能,因为有些机器IP地址就是会经常变更,发个通告出来,让大家修改一下地址也没毛病。

问题就在于,有心怀不轨的攻击者,他就利用了这个不验证、不鉴权就直接修改缓存的机制。基于这个机制 ,攻击者就可以开始攻击了。

比如,他李四替换了张三的地址。更狠的,他直接把他自己主机地址和路由器的地址替换了,局域网内所有人的数据都往他机器上发了,他在转发出去,然后他就能截取别人的流量,别人的小秘密全被他知道了!

常见的攻击类型如下:

  • ARP 缓存投毒攻击
    使攻击者能够通过破坏网络的 ARP 表(MAC 到 IP 设备映射)来拦截网络设备之间的通信。

  • ARP 欺骗网关攻击
    中间人攻击是同时欺骗局域网内的主机和网关,局域网中用户的数据和网关的数据会发给同一个攻击者,这样,用户与网关的数据就会泄露。

  • ARP 泛洪攻击
    通过向网关发送大量ARP报文,导致网关无法正常响应。首先发送大量的ARP请求报文,然后又发送大量虚假的ARP响应报文,从而造成网关部分的CPU利用率上升难以响应正常服务请求,而且网关还会被错误的ARP表充满导致无法更新维护正常ARP表,消耗网络带宽资源。

  • IP地址冲突攻击
    通过对局域网中的物理主机进行扫描,扫描出局域网中的物理主机的MAC地址,然后根据物理主机的MAC进行攻击,导致局域网内的主机产生IP地址冲突,影响用户的网络正常使用。

攻击软件

  • Ettercap
    image

    Ettercap的中间人攻击,在它的选项栏里有四种:ARP缓存投毒,ICMP重定向,端口监听,DHCP欺骗。

    Ettercap的功能是很强大,从它的插件就可以看到功能有:发现可疑ARP活动、ARP响应、DNS欺骗、Dos攻击、发现连接(交换环境)、发现Ettercap活动、列出子网未使用的IP、隔离主机、MAC泛洪、ssltrip等。

  • WireShark
    image

    网络流量截取、分析

防范

以下是一些防御ARP投毒攻击的方法:

  1. 使用静态ARP表项:
    在关键设备上配置静态ARP表项,避免动态ARP更新被恶意利用。

  2. 启用ARP检查:
    在交换机上启用ARP检查功能,过滤非法的ARP报文。

  3. 部署ARP防护软件:
    使用专门的ARP防护软件来监控和阻止可疑的ARP活动。

  4. 网络隔离:
    将网络划分为更小的广播域,限制ARP广播范围。

  5. 加强网络监控:
    实时监控网络流量,及时发现异常的ARP行为。

  6. 使用VPN:
    对重要通信使用VPN加密,防止ARP欺骗导致的数据泄露。

  7. 及时更新系统补丁:
    保持操作系统和网络设备固件的最新更新,修复已知漏洞。

  8. 教育用户:
    培训网络用户识别潜在的ARP攻击迹象。

  9. 使用安全协议:
    在可能的情况下,使用更安全的协议如IPv6来替代ARP (IPv6替换了ARP协议)。

  10. 定期安全审计:
    定期进行网络安全审计,检查ARP表和网络配置。

这些方法可以综合使用,以提高网络对ARP投毒攻击的防御能力。

Reference

一条视频讲清楚什么是ARP协议-ARP攻击
https://www.bilibili.com/video/BV16t4y1d7ev/

与ARP协议介绍与ARP协议的攻击手法相似的内容:

ARP协议介绍与ARP协议的攻击手法

目录ARP是什么?ARP协议工作原理ARP协议下的攻击原理攻击软件防范Reference ARP是什么? ARP是通过网络地址(IP)来定位机器MAC地址的协议,它通过解析网络层地址(IP)来找寻数据链路层地址(MAC)的网络传输协议。 对个定义不能理解的话,可以结合 TCP/IP 模型图理解,如下

解密网络通信的关键技术(下):DNS、ARP、DHCP和NAT,你了解多少?

本文探讨了动态主机配置协议(DHCP)和网络地址转换(NAT)技术的工作原理和应用。DHCP通过简化IP地址配置过程实现了动态地址分配,而NAT则解决了IPv4地址紧缺问题。我们还介绍了DHCP中继代理和NAT中的网络地址与端口转换(NAPT)概念。然而,这些技术也存在一些限制,如无法主动建立连接和...

从数据链路到神秘的MAC地址和ARP协议

在当今互联世界中,数据的传输和通信是不可或缺的。然而,你是否曾想过,在网络通信中隐藏着哪些神秘的秘密?本文将带你深入探索数据链路层、MAC地址和ARP协议的奥秘。数据链路层是网络通信中的关键一环,负责将数据包封装为帧并进行传输。而MAC地址作为设备的唯一标识符,扮演着识别节点的重要角色。而ARP协议则解决了从IP地址到MAC地址的映射问题,确保数据的准确传输。通过揭开这些网络通信的神秘面纱,你将更

解密网络通信的关键技术(上):DNS、ARP、DHCP和NAT,你了解多少?

在当今互联网时代,我们每天都在与各种技术打交道。但你是否了解这些技术背后的关键角色?DNS域名解析、ARP协议、DHCP动态获取IP地址以及NAT网络地址转换,它们是网络通信的支柱。DNS帮助我们将域名转换为IP地址,ARP协议获取下一跳的MAC地址,DHCP协议动态分配IP地址,而NAT则将私有I...

ARP 地址解析协议

转载请注明出处: 概念: ARP(Address Resolution Protocol)是一种网络协议,用于将网络层的IP地址映射到物理网络接口(MAC地址),以便在局域网(LAN)上进行通信。其主要作用是解决从IP地址到MAC地址的映射关系,使得数据包能够通过物理网段正确地传递。 当计算机发送数

[转帖]ping、arp、tracert、route这四大命令的详细用法,用途很广

https://zhuanlan.zhihu.com/p/460719455 在网络中ping是一个十分强大的TCP/IP工具。它的作用主要为: 1、用来检测网络的连通情况和分析网络速度 2、根据域名得到服务器IP 3、根据ping返回的TTL值来判断对方所使用的操作系统及数据包经过路由器数量。 我