ARP地址解析实验

一、ARP地址解析实验

1. 基本配置

实验环境:ensp

模拟环境

  • 路由器R1是公司出口网关,连接到外网。公司内所有员工在使用10.1.0.0/16,通过交换机连接到网关路由器上,为了防止ARP欺骗配置静态ARP。
  • 主机没有配置默认网关,且分属不同广播域,造成无法通信,在路由器上配置ARP代理功能,实现网络内所有主机的通信。

1.1 ARP request包和reply包

R1配置:

Int g 0/0/0 
Ip add 10.1.1.254 24
Int g 0/0/1
Ip add 10.1.2.254 24

PC1 ping 10.1.1.254

PC2没有Ping路由器,看ARP缓存

ARP表现为空,没有任何条目;

查看R1的ARP缓存表

不但存在R1两个接口的IP地址和MAC地址的映射,还包含了PC1 IP和MAC地址的映射;

接下来我们用PC2 PING R1的接口10.1.2.254查看ARP的包;

因为PC2的arp表项中没有10.1.2.254与MAC地址的映射表,所以PC2会发送ARP 广播请求;

PC-2发送的ARP广播request报文

PC-2发送的ARP广播reply报文

R1 ARP缓存表

可以看出R1的ARP缓存表中有了接口的映射,以及PC-1,PC-2,PC-3的IP地址和MAC地址映射,但是PC的MAC地址都是动态映射的,如果一段时间没有更新就会被删除。

2. 静态ARP

ARP工作行为,往往会被攻击者利用,如果攻击者发送伪造的ARP报文,而且报文里面所通告的IP地址和MAC地址映射是错误的,则主机或网关会把错误的映射更新到ARP表中,当主机发送数据到指定的目标IP地址时,从ARP表里得到了不正确的MAC地址,并用之封装,导致数据帧无法正确发送。

模拟ARP攻击(修改MAC地址):正确的PC1的MAC地址是:54-89-98-92-11-BB

[R1]arp static 10.1.1.1 5489-9898-11cc

R1配置了静态ARP的 ARP缓存表

此时R1 Ping 10.1.1.1是不能够通的,PC-1 Ping 网关也是不能通的,因为路由器R1上的ARP映射错误;

R1 Ping PC-1

PC-1 Ping 网关

在R1的G0/0/0接口抓包,R1配置静态ARP后ping 10.1.1.1 抓包

可以看到目的MAC地址被错误封装。

为了防止ARP欺骗攻击,防止其感染路由表的ARP表,可以通过静态配置ARP表项来实现。如果IP地址和一个Mac地址的静态映射已经出现在ARP表项中,则通过动态ARP方式学来的映射无法进入ARP表。

3. 配置Proxy ARP(代理ARP)

  • 配置静态ARP,如果是一个比较大的网络,一直配置静态arp的话,手动配置工作量大,维护不方便。

PC-2 ping PC-3(不同网段之间)

在PC-2的E0/0/1接上抓包

R1 G0/0/0接口开启代理arp命令

[R1]int G0/0/0
[R1-GigabitEthernet0/0/0] arp-proxy enable

开启代理arp后抓包

1. Request包

2. Reply包

流程:R1的接口G0/0/0开启了 代理arp后,收到PC-2的request广播报文请求后,R1根据ARP请求中的目的IP地址10.1.2.3查看自身的路由表是否有对应的目标网络,R1的G0/0/1接口有就是10.1.2.0/24网路,所以R1直接把自身的G0/0/0接口的MAC地址响应给PC-2,PC-2收到此arp响应后的MAC地址作为目标硬件地址发送报文给R1,R1收到后再转发给PC-3.

注意:此时PC-3是ping不同PC-2 的,因为R1所连接的Pc-3的G0/0/1接口没有开启代理arp功能

PC-3 ping PC-2不通

在G0/0/1接口开启arp代理功能再ping

二、免费ARP报文分析

字段 长度(bit) 含义
Ethernet Address of destination 48比特 目的以太网地址。发送ARP请求时,为广播的MAC地址,0xFF.FF.FF.FF.FF.FF。
Ethernet Address of sender 48比特 源以太网地址。
Frame Type 16比特 表示后面数据的类型。对于ARP请求或应答来说,该字段的值为0x0806。
Hardware Type 16比特 表示硬件地址的类型。对于以太网,该类型的值为“1”。
Protocol Type 16比特 表示发送方要映射的协议地址类型。对于IP地址,该值为0x0800。
Hardware Length 8比特 表示硬件地址的长度,单位是字节。对于ARP请求或应答来说,该值为6。
Protocol Length 8比特 表示协议地址的长度,单位是字节。对于ARP请求或应答来说,该值为4。
OP 16比特 操作类型: 1 ARP请求 2 ARP应答 3 RARP请求 4 RARP应答
Ethernet Address of sender 48比特 发送方以太网地址。这个字段和ARP报文首部的源以太网地址字段是重复信息。
IP Address of sender 32比特 发送方的IP地址。
Ethernet Address of destination 48比特 接收方的以太网地址。发送ARP请求时,该处填充值为0x00.00.00.00.00.00。
ess of sender 32比特 发送方的IP地址。
Ethernet Address of destination 48比特 接收方的以太网地址。发送ARP请求时,该处填充值为0x00.00.00.00.00.00。
IP Address of destination 32比特 接收方的IP地址。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章