ARP协议由rfc 826详细介绍规定,协议规定的ARP报文的报文结构
(ar$hrd) = ares_hrd$Ethernet (ar$pro) = ET(IP) (ar$hln) = length(EA(X)) (ar$pln) = length(IPA(X)) (ar$op) = ares_op$REQUEST (ar$sha) = EA(X) (ar$spa) = IPA(X) (ar$tha) = don't care (ar$tpa) = IPA(Y)
以及使用场景(Ethernet网络)。
ARP报文分为两类:请求报文(request),响应报文(response);
这两类报文的结构是一致的,字段ar$op的值区分了报文类型:1为请求,2为响应。
ARP在TCP/IP协议分成的系统中属于链路成协议即二层协议,主要用于局域网的MAC地址与IP地址关系映射。
在知道IP不知道MAC地址的情况下,设备A(网卡,网络接口)就会广播发送一个arp request报文,IP的B所有者就会回应一个arp response告知A它所拥有的MAC地址。
--------------------------------> B
/ /
<------------------------------
A ------------------------------> C
\
------------------------------>D
ARP协议也会配合DHCP协议进行IP地址分配用于IP检测地址是否冲突。
ARP攻击,就是使用攻击设备或者软件发送ARP请求或响应报文来干扰IP地址和MAC地址的映射,使映射关系错误从而导致设备不能连接网络。
标准下载地址:https://datatracker.ietf.org/doc/rfc826/