ARP协议与ARP欺骗

一、ARP协议(地址解析协议)

所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程,ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

  • 将一个已知的IP地址解析为MAC地址,从而进行二层数据交互
  • ARP协议是一个三层协议,但是工作在二层,是一个2.5层协议

二、ARP映射

1.静态映射:手动创建ARP表,把逻辑(IP)地址和物理地址关联起来.

当知道目标网络的IP地址但不知道其物理地址时就可以通过查ARP表找出对应的物理地址,静态映射有一定的局限性,因为物理地址时可以发生变化的,以下是物理地址发生变化的几种情况:

01.机器更换NIC(网络适配器)

02.在局域网中,重启计算机时,物理地址会改变

03.笔记本电脑从一个局域网转移到另一个局域网时,IP地址会改变

2.动态映射:机器知道另一台机器的IP地址,就能通过协议找出向对应的物理地址.

01.ARP协议实现了逻辑地址到物理地址的动态映射

02.RARP协议实现了物理地址到逻辑地址的动态映射

3.ARP通信包含ARP请求和ARP响应两个阶段:

  • ARP请求:源主机向目标网络发出ARP请求,请求得到目标网络的MAC地址

任何时候,当主机需要找出这个网络中的另一个主机的物理地址时,它就可以发送一个ARP请求报文,这个报文包好了发送方的MAC地址和IP地址以及接收方的IP地址。因为发送方不知道接收方的物理地址,所以这个查询分组会在网络层中进行广播。

  • ARP响应:目标主机收到源主机的请求后做出应答,将带有自己IP和MAC地址的报文返回给主机

局域网中的每一台主机都会接受并处理这个ARP请求报文,然后进行验证,查看接收方的IP地址是不是自己的地址,只有验证成功的主机才会返回一个ARP响应报文,这个响应报文包含接收方的IP地址和物理地址。这个报文利用收到的ARP请求报文中的请求方物理地址以单播的方式直接发送给ARP请求报文的请求方。

三、ARP缓存与ARP报文格式

1.ARP缓存

ARP缓存的主要目的是为了避免重复去发送ARP请求,在Windows中可以通过命令对ARP进行管理.

#显示ARP缓存
C:\Users\Admin>arp -a
#清除ARP缓存
C:\Users\Admin>arp -d
#ARP绑定
C:\Users\Admin>arp -s IP地址 MAC地址
示例:
  > arp -s 157.55.85.212   00-aa-00-62-c6-09.... 添加静态项。

2.ARP报文格式

  •  硬件类型:16位字段,用来定义运行ARP的网络类型。每个局域网基于其类型被指派一个整数。例如:以太网的类型为1。ARP可用在任何物理网络上。
  • 协议类型:16位字段,用来定义使用的协议。例如:对IPv4协议这个字段是0800。ARP可用于任何高层协议
  • 硬件长度:8位字段,用来定义物理地址的长度,以字节为单位。例如:对于以太网的值为6。
  • 协议长度:8位字段,用来定义逻辑地址的长度,以字节为单位。例如:对于IPv4协议的值为4。
  • 操作码:16位字段,用来定义报文的类型。已定义的分组类型有两种:ARP请求(1),ARP响应(2)。
  • 源硬件地址:这是一个可变长度字段,用来定义发送方的物理地址。例如:对于以太网这个字段的长度是6字节。
  • 源逻辑地址:这是一个可变长度字段,用来定义发送方的逻辑(IP)地址。例如:对于IP协议这个字段的长度是4字节。
  • 目的硬件地址:这是一个可变长度字段,用来定义目标的物理地址,例如,对以太网来说这个字段位6字节。对于ARP请求报文,这个字段为全0,因为发送方并不知道目标的硬件地址。
  • 目的逻辑地址:这是一个可变长度字段,用来定义目标的逻辑(IP)地址,对于IPv4协议这个字段的长度为4个字节。
     

四、ARP攻击

当主机A 、主机B、主机C位于同一局域网中,主机A想要访问公网就必须先将数据发送到自己的网关,再由网关和公网进行通信.

  • 伪造ARP应答报文,向被攻击主机响应虚假的MAC地址
  • 当被攻击主机进行网络通信 时,会将数据交给虚假的MAC地址进行转发,由于虚假的MAc地址不存在,所以造成被攻击主机无法访问网络.

五、ARP欺骗

1.欺骗网关

主机A想要访问互联网网就必须先将数据交给自己的出口路由器,

  • 主机A发送ARP请求,攻击主机C 向主机A发送ARP应答,携带的是自己的MAC地址,主机A收到响应报文认为IP地址1.254对应的 MAC地址是33-33,
  • 与此同时,攻击机C向路由器发送arp响应,携带主机A的IP地址和自己真实的MAC地址,路由器收到主机C的应答后认为IP地址1.1对应的MAC地址是33-33,
  • 主机A在访问互联网时误以为主机C时自己的网关,就会将数据发送到主机C ,在主机C上开启IP转发功能,主机C收到数据向路由器转发,从而实现数据监听的效果.

2.欺骗主机

主机A要和主机B通信,主机A以广播方式发送ARP请求报文,携带自己的IP地址,MAC地址以及主机B的IP地址,主机C收到ARP请求后向主机A发送ARP应答,携带主机B的IP地址和 自己的MAC地址,再向主机B发送ARP应答,携带主机A的IP地址和自己的地址MAC,这样主机A向主机B发送数据时就会被主机C监听.

  • 伪造ARP应答报文,向被攻击主机响应真实的MAC地址
  • 当被攻击主机向通信主机发送数据时,会将数据交给真实的MAC地址进行转发,从而截获被攻击主机的数据,这是被攻击主机是可以进行网络通信的.

猜你喜欢

转载自blog.csdn.net/fencecat/article/details/128246834