ARP协议解析

ARP协议

在数据链路层的以太网的协议中,每一个数据包都有一个MAC地址。我们知道每一块以太网卡都有一个MAC地址,这个地址是唯一的,那么IP包是如何知道这个MAC地址的?这就是ARP协议的工作。

ARP(地址解析)协议是一种解析协议,本来主机是完全不知道这个IP对应的是哪个主机的哪个接口,当主机要发送一个IP包的时候,会首先查一下自己的ARP高速缓存表(最近数据传递更新的IP-MAC地址对应表),如果查询的IP-MAC值对不存在,那么主机就向网络广播一个ARP请求包,这个包里面就有待查询的IP地址,而直接收到这份广播的包的所有主机都会查询自己的IP地址,如果收到广播包的某一个主机发现自己符合条件,那么就回应一个ARP应答包(将自己对应的IP-MAC对应地址发回主机),源主机拿到ARP应答包后会更新自己的ARP缓存表。源主机根据新的ARP缓存表准备好数据链路层的的数据包发送工作。

命令arp -a查询ARP缓存表(缓存表是有时限的,一般是20分钟


ARP数据包如何更新IP-MAC地址抓包分析

链接:点击打开链接

上图是ARP请求、应答报文的格式。

对以太网首部来说:如果是请求ARP报文的话,

以太网目的地址: 是(全1)的,是广播报,目的是让同一个局域网上所有主机都收到ARP请求包

以太网源地址: 就是发送端地址。

帧类型: 如果是ARP报文,值为0x0806

硬件类型: 表明ARP协议实现在那种类型的网络上,它的值为1,即表示以太网地址

协议类型:表示解析协议(上层协议),这里一般是0800,即IP

硬件地址长度:也就是MAC地址长度,即6个字节

协议地址长度:也就是IP地址长度,即4个字节

操作类型:表示ARP协议数据报类型。1ARP表示请求包,2ARP表示应答包,3表示RARP请求包,4表示RARP应答包

发送端以太网地址:也就是源MAC地址

发送端IP地址:也就是源IP地址

目的端以太网地址:目标端MAC地址(如果是请求报文,是全0)

目地端IP地址:也就是目地端的IP地址


实例:

如上图所示,pc1给pc2发送ARP请求,此时使用Wireshark获取ARP抓包数据


既然都获取到ARP的数据,那就分析ARP的数据。

先分析ARP请求数据报文:

选中57帧,可以在wireshark中查看报的详细信息:


当PC1发送的ARP请求报文,以广播报的形式发送到局域网后,当pc2检测到IP地址与自己的IP相同,就会发送给PC1响应报文,也就是58帧

对于ARP响应包来说,源IP,目地IP,源MAC,目地MAC都是知道了的。




  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值