ARP协议分析

ARP协议分析

一、协议介绍
1.ARP概念
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。
2.功能简述
主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
3.协议作用
ARP协议可根据网络层IP数据包包头中的IP地址信息解析出目标硬件地址(MAC地址)信息,以保证通信的顺利进行。
4.协议要求及缺陷
地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。
5.ARP命令
ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。
二、ARP协议工作过程
设定:主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01;
主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;
当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析成主机B的MAC地址,以下为工作流程:
第1步:根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。
第2步:如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。
第3步:主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。
第4步:主机B将包含其MAC地址的ARP回复消息直接发送回主机A。
第5步:当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信。
三、ARP抓包解析
ARP协议分析_第1张图片
(上图为测试STP所用,在此借用一下)

通过eNSP建立链路:
PC1:
IP:192.168.1.2 MAC:54-89-98-61-1A-C0
PC2:
IP:192.168.1.3 MAC:54-89-98-9F-21-36
ARP协议分析_第2张图片PC1:
执行PC>ping 192.168.1.3

执行PC>arp -a

在PC1处使用Wireshark进行抓包,得到如下结果:

ARP请求帧:
ARP协议分析_第3张图片ARP回答帧:
ARP协议分析_第4张图片
以ARP回答帧来解析ARP帧(PC2回答PC1):

目的MAC地址:54:89:98:61:1A:C0

源MAC地址: 54:89:98:9F:21:36

帧类型: 0x0806 --长度为2字节,0x0806代表为ARP packe

硬件类型:0x0001 --长度为2字节,表示网络类型;以太网取值为1

协议类型:0x0800 --长度为2字节,表示要映射的协议地址类型。取值为0x0800,表示根据IP地址来进行映射

硬件地址长度:0x06 --长度为1字节,表示硬件地址长度;取值为0x06,以太网中表示MAC地址长度为6字节

协议地址长度:0x04 --长度为1字节,表示协议地址长度;取值为0x04,以太网中表示IP地址长度为4字节

op: 0x0002 --长度为2个字节,表示ARP报文的种类;取值为1,表示请求报文;取值为2,表示ARP应答报文

发送端MAC地址:54:89:98:9F:21:36(信息体的发起端)

发送端IP地址:C0:A8:01:03(转换即为192.168.1.3)

目的端 MAC地址:54:89:98:61:1A:C0

目的端IP地址:C0:A8:01:02(转换即为192.168.1.2)

PAD: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 ,18个字节,目的是为了凑足以太帧载荷数据的最小长度46字节

你可能感兴趣的:(个人观点)