臨近考試了,邊寫邊複習了。嘻嘻,第一次寫博客,有問題歡迎指出。
ARP協議
ARP介紹
ARP(Address Resolution Protocol)地址解析協議,就是根據IP地址獲取物理地址的一個協議。
鏈路層通信過程
我寫的是以以太網的例子
下面我們來看兩臺主機是如何通信的:
PCA要與PCB通信:
不需要ARP協議通信
ARP緩存表中有對應關係
1、首先PCA 先查看自己的ARP緩存表,看裏面是否有PCB IP對應的MAC地址,如果有兩者就可直接通信了。
需要ARP協議通信
緩存表中無對應關係,此時就要用上ARP協議了。
1、還是一樣,PCA 先查看自己的ARP緩存表,看裏面是否有PCB IP對應的MAC地址,發現沒有。
2、PCA 將ARP請求幀廣播到本地網絡上的所有主機,所有主機收到了PAC的ARP請求幀後,會檢查是否與自己的IP地址是否匹配,如果不匹配就會將該幀丟棄。
3、當PCB 收到了ARP請求後,進行比對發現IP地址匹配,PCB 會將數據幀裏的源IP和源MAC添加到自己的ARP緩存表中,形成一個新的對應關係。
4、PCB 回覆一個ARP 迴應幀給PCA 。(此時PCB的ARP緩存表中已經有了去往PCA 的路,就不需要在廣播請求了。)
5、PCA 收到了來自PCB 的回覆幀,將數據幀裏的源IP和源MAC添加到自己的ARP緩存表中,形成一個新的對應關係。
這樣一個ARP通信過程就完成了。
ARP的數據幀
請求
我們直接來看數據幀:
回覆
我們直接來看數據幀:
如何抓取ARP數據包
工具
Wireshark、BurpSuite等很多(我就用的wireshark,鏈接就不復制了,自己去百度下載。)
抓取步驟
1、你先使用cmd命令行。
arp -a #查看所有arp緩存
就會出現現在ARP緩存表
2、在使用arp -d清除後,再次查看ARP緩存
arp -d #清除arp緩存
arp -a #查看所有arp緩存
3、用簡單的ping命令
ping 192.168.1.1 #ping另一臺主機
4、現在打開抓包軟件就可以抓取ARP的數據包了。
好了,關於ARP協議主要的內容就到這裏了。