ARP 协议抓包分析
ARP(Address Resolution Protocol)- 地址解析分析
ARP 协议是根据IP地址获取物理地址的一个TCP/IP协议。
当PC1 想与 PC2 进行通信时,需要同时知道PC2的IP地址和MAC地址,相当于既要知道“房间号”(相当于IP),也要知道“住户的身份证号”(相当于MAC地址),这样才能保证准确无误
的通信。
ARP工作流程:(以Ping 的方式演示)
1. 首先是一个ARP请求过程,由于此时只有IP,没有MAC地址,将使用广播的方式发出,此时以太网帧头部将会将目标MAC地址设为0xFF:FF:FF:FF:FF:FF,使其目标为当前局域网的所有主机,实现广播。而ARP请求协报文中会将MAC地址设为00:00:00:00:00:00,表示MAC不确定。
2. 当非当前IP的PC收到此ARP请求时,会检查请求中的target IP 是否时自己,如果不是,将会丢弃掉这个包。
3. 当是当前IP的PC收到此ARP请求时,会在自己的ARP缓存表中记录此请求的Sender IP和Sender MAC的映射,方便查询使用;
4. 由于已有请求方的IP及MAC地址,此时会选择单播通信,只会想对应的IP发包,告诉对方我的MAC地址
从图中可以看出,发送方单独给我方响应了一个数据包,包含对方的MAC地址,同时也会记录在我方的ARP缓存表中(可通过命令 arp -a 查看)
5. 通过ARP通信完成后,就可以看到Ping的请求和回应的流程了。