ARP协议/ARP攻击与防御

戏子无情 提交于 2020-01-19 00:19:30

ARP协议

目录

ARP协议

1、ARP协议概述

2、ARP协议作用:

3、ARP协议原理:

1)发送ARP广播请求

2)接受ARP单播应答

4、ARP的工作过程

5、ARP代理

6、ARP攻击或欺骗的原理是:

1)、ARP协议没有验证机制,所以容易被arp偷渡攻击

2)、ARP攻击者通过发送虚假伪造的arp报文对受害者进行ARP缓存投毒

7、ARP攻击防御:

1、静态ARP绑定

2、ARP防火墙

3、硬件级ARP防御:


1、ARP协议概述

“Address Resolution Protocol”(地址解析协议)

当网络设备要发送数据给另一台设备时,必须要知道对方的网络层地址(即IP地址)。IP地址由网络层来提供,但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送。数据帧必须包含目的MAC地址,因此发送端还必须获取到目的MAC地址。通过目的IP地址而获取目的MAC地址的过程是由ARP协议来实现的。
ARP协议是TCP/IP协议簇中的重要组成部分,ARP能够通过目的IP地址发现目标设备的MAC地址,从而实现数据链路层的可达性

2、ARP协议作用:

将IP解析为MAC地址

3、ARP协议原理:

1)发送ARP广播请求

      ARP报文内容:我是10.1.1.1 我的MAC:AA-AA-AA-AA

                               谁是10.1.1.3  你的MAC:?

2)接受ARP单播应答

4、ARP的工作过程

ARP之简单请求应答
当两台计算机在同一个局域网通信,我们以ping命令为例,该命令使用的ICMP协议

PC1依据OSI模型①依次从上至下对数据进行封装,包括对ICMP Date加IP包头的封装,但是到了封装MAC地址的时候,②PC1首先查询自己的ARP缓存表,发现没有IP2和他的MAC地址的映射,这个时候MAC数据帧封装失败。我们使用ping命令的时候,是指定PC2的IP2的,计算机是知道目的主机的IP地址,能够完成网络层的数据封装,因为设备通信还需要对方的MAC地址,但是PC1的缓存表里没有,所以在MAC封装的时候填入不了目的MAC地址。

那么PC1为了获取PC2的MAC地址,③PC1要发送询问信息,询问PC2的MAC地址,询问信息包括PC1的IP和MAC地址、PC2的IP地址,这里我们想到一个问题,即使是询问信息,也是需要进行MAC数据帧的封装,那这个询问信息的目的MAC地址填什么呢,规定当目的MAC地址为ff-ff-ff-ff-ff-ff时,就代表这是一个询问信息,也即使后面我要说的广播。

PC2收到这个询问信息后,将这里面的IP1和MAC1(PC1的IP和MAC)添加到本地的ARP缓存表中,然后④PC2发送应答信息,对数据进行IP和MAC的封装,发送给PC2,因为缓存表里已经有PC1的IP和MAC的映射了呢。这个应答信息包含PC2的IP2和MAC2。PC1收到这个应答信息,理所应当的就获取了PC2的MAC地址,并添加到自己的缓存表中。

经过这样交互式的一问一答,PC1和PC2都获得了对方的MAC地址,值得注意的是,目的主机先完成ARP缓存,然后才是源主机完成ARP缓存。之后PC1和PC2就可以真正交流了。

ARP之广播请求单播回应

5、ARP代理

上图中,主机A需要与主机B通信时,目的IP地址与主机的IP地址位于不同网络,但由于主机A未设置网关,所以他将会以广播的形式发送ARP Request报文,请求B的MAC地址,但是广播报文无法被路由器转发,所以主机B无法收到主机A的请求报文。
在路由器上启用代理ARP功能,就可以解决这个问题。启用代理后,路由器接收到这样的请求,会查找路由表,如果存在主机B的路由表项,路由器会将自己的G0/0/0接口的MAC地址回应该ARP Requestrian。主机A收到ARP Reply后,将一路有油漆的G0/0/0接口MAC地址作为目的MAC地址进行数据转发。
小结:1如果两台主机在同一个网段,则直接发送ARP Request报文就好。
2 如果在不同网段,

(1)主机A设置了网关,ARP协议可以正常使用。
(2)主机A没有设置网关,这种情况下,我们要开启ARP代理,路由器来重新封装,转发报文

6、ARP攻击或欺骗的原理是:

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

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

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

1)、ARP协议没有验证机制,所以容易被arp偷渡攻击

2)、ARP攻击者通过发送虚假伪造的arp报文对受害者进行ARP缓存投毒

7、ARP攻击防御:

1、静态ARP绑定

手工绑定/双向绑定

      windows客户机上:

      arp -s 10.1.1.254 00-01-2c-a0-e1-09

      arp-a 查看ARP缓存表

      路由器上静态绑定:

      Router(config)#arp 10.0.0.95 0013.240a.b219 arpa f0/0

优点:配置简单

缺点:工作量大、维护量大

2、ARP防火墙

自动绑定静态ARP

主动防御

优点:简单易用

缺点:当开启人数较多时,会增大网络负担

3、硬件级ARP防御:

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

或做静态ARP绑定

配置命令:

conf t
ip dhcp snooping
int range f0/1-48
switch(config-range-if)#

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!