什么是ARP协议
ARP协议既地址解析协议,它将目的主机IP地址转换为物理地址(MAC)地址,因为在网络层上主机只知道目标主机的IP而不知道MAC地址。所以在数据链路层通过ARP协议进行对MAC地址的映射。
ARP协议的工作机制
ARP请求
当主机A想要给主机B发送数据时,主机A会首先在自己的ARP缓存表中查找有关这个目标IP的MAC地址,如果缓存表中没有该地址,就需要发送ARP请求帧广播到本地网络上的所有主机上面
ARP请求包含了主机自身的MAC和IP地址以及目标主机的IP的MAC地址,但目标的MAC地址由0填充
在收到ARP请求帧之后主机会检查自己的IP地址是否和请求帧中的IP地址一致,如果不一致就丢弃该请求帧,如果一致就把主机A的IP地址和MAC地址添加到自己的AEP缓存列表里,之后把自己的MAC地址写入ARP响应帧发送给主机A
ARP响应
主机B发送给主机A的ARP响应是以单播的形式发送的,此时主机A会把主机B的IP地址和MAC地址放入自己的缓存列表里。
如何查看ARP缓存
在CMD中输入arp -a
在wireshark中辨别ARP协议
APR请求帧:主要看该帧字节数,是否广播,操作码是否为1,目标MAC地址是否被0填充
ARP响应帧:主要看操作码、请求帧中的发送方IP和MAC地址是否变为目的IP和MAC地址