地址解析協議(Address Resolution Protocol,ARP):通過IP地址獲取MAC地址,用於解決網絡層和鏈路層銜接問題。
同一局域網的一臺主機要和另外一臺主機要通信,需要通過MAC地址定位。在網絡層和傳輸層中,計算機是通過IP地址定位的。
ARP基本流程圖:
這裏要注意:每個計算器中都有ARP緩存,使用:
arp -a
如下:
下面是ARP協議報文:
硬件類型:發送方想知道的硬件接口類型,以太網爲1;
協議類型:要映射的協議地址類型。0x0800爲IP地址;
硬件地址長度和協議長度:單位爲字節。在以太網中IP地址ARP請求和應答分別爲6,4;
操作類型:表示報文的類型,ARP請求爲1,ARP響應爲2,RARP請求爲3,RARP響應爲4;
ARP數據包分別爲請求包和響應包,在報文中的某些字段值也不一樣。
1. ARP請求報文OP爲1,目標MAC地址值wield:Target 00:00:00_00:00:00(00:00:00:00:00:00)廣播地址。
2. ARP響應報文OP爲2,目標MAC地址爲目標主機的硬件地址。
下面用Wireshark分析下:
這裏看下請求報文:
對應16進制如下:
和上面理論是對應的,
下面看下響應:
操作符爲2