ARP协议

发布时间 2023-09-13 21:33:45作者: eth258

ARP协议

广播与广播域概述

·广播与广播域

-广播:将官博地址作为目的地址的数据帧

-广播域:网络中能接收到同一个广播所有节点的集合



·MAC地址广播

-广播地址为FF-FF-FF-FF-FF-FF

·IP地址广播

1)255.255.255.255

2)广播IP地址为IP地址网段的广播地址,如192.168.1.255/24 

ARP协议概述

什么是ARP协议

​ Address Resolution Protocol,地址解析协议

​ 将一个已知的IP地址解析成MAC地址

为什么需要ARP协议

网络设备有数据要发送给另一台网络设备时,必须要知道对方的IP 地址。IP的hi子由网络层来提供,但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送。输一局帧必须要包含目标的MAC地址,因此发送数据的那一台设备必须获取到目的MAC地址。

ARP协议过程

1)PC1发送数据给PC2,查看缓存没有PC2的MAC地址

2)PC1发送ARP请求消息(广播)

3)所有主机收到ARP请求消息

​ PC2回复ARP应答(单播)

​ 其他主机丢弃

4)PC1将PC2的MAC地址保存到缓存中,发送数据

ARP攻击/欺骗

简单原理:

通过发送伪造虚假的ARP报文 (广播或单播),来实现的攻击或欺骗。

如虚假报文的mac是伪造的不存在的或者是别人的,实现ARP攻击,结果为中断通信/断网

如虚假报文的mac是攻击者自身的mac地址,实现ARP欺骗,结果可以监听、窃取、篡改、控制流量但不中断通信。

攻击方式:

主动扫描:

​ Hacker接入了一个陌生的WIFI网络,但是只知道自己的IP地址,还有网关地址。其他的信息都不知道(局域网设备数量,其他设备的 IP地址是多少),这时候Hacker就要通过ARP工具对这个WIFI网络进行扫描。具体方式是通过“盲扫”或者“暴力扫描”,将这个网段的IP地址都来ARP广播一次,通过应答信息来确认有什么设备,它对应的MAC,以及一些设备厂商信息。

​ 通过这种主动扫描的方式,能得知局域网里面所有设备的信息。

​ 这时候Hacker可以对外宣称自己是“所有人”(即可以是任何一个人),这样子可以覆盖掉其他主机的ARP缓存信息表,并生成错误的ARP映射,最终将通信流量交给Hacker。Hacker将这段通信流量丢弃,就能做到中断对方的通信。

​ 另外一种就是告诉所有人,自己就是网关。让局域网所有人的网络数据都传给Hacker,Hacker后续转发到互联网,做到不断网但是可以监听用户数据。

被动监听:

​ 现在设有3台主机位于局域网中,之间通过交换机联通。

image-20230912235611732

现在PC1需要和PC2进行通信,因为PC1的ARP表中没有PC2的记录,接着会采用广播的方式向全体发送ARP请求。正常情况下,若收到的ARP请求不是自己的,则直接丢弃;而这里的HACKER在监听后直接发起ARP回应包:我就是PC2

现在PC1收到了两个ARP回应包,内容分别如下:

1)我是PC2,我的IP是IP2,我的MAC地址是MAC2;

2)我是PC2,我的IP是IP2,我的MAC地址是MAC3;

这时候PC1的选择优先级是---选择最新的ARP回应包(最晚到达的)

对于如何让HACKER自己的ARP回应包是后到的,只要HACKER对外不断的发出ARP欺骗包,就一定能够覆盖掉正常的ARP回应包。那么接下来PC1就建立了一个错误的ARP缓存表,此后的数据都会发送给HACKER。

ARP攻击防御

1)静态ARP绑定:

手工绑定/双向绑定(网段人数较多时,操作数量大)

windows客户机:

arp -s 网关ip 网关MAC地址

2)ARP防火墙:

自动绑定静态ARP

主动防御(网段人数较多时,容易对网关造成负担)

3)硬件级ARP防御:

交换机支持“端口”做动态ARP绑定(配合DHCP服务器)或者做静态ARP绑定