在網路層我們知道有乙個位址解析協議arp,在實際應用中,我們經常會遇到這樣的問題:已經知道了乙個機器(主機或路由器)的ip位址,需要找出其相應的實體地址;或者反過來,已經知道了實體地址,需要找出相應的ip位址。位址解析協議arp和逆位址解析協議rarp就是用來解決這樣的問題的。我們今天主要來看看arp協議。
一、什麼是arp協議?
我們知道,網路層使用的是ip位址,但在實際網路的鏈路上傳送資料幀時,最終還是必須使用該網路的硬體位址。但ip位址和下面的網路的硬體位址之間由於格式不同而存在簡單的對映關係。(ip位址有32位,區域網的硬體位址是48位)。此外,在乙個網路上可能經常會有新的主機加入進來,或者撤走一些主機。更換網路配置器也會使主機的硬體位址改變。位址解析協議arp解決這個問題的方法是在主機arp快取記憶體中應存放乙個從ip位址到硬體位址的對映表,並且這個對映表還經常動態更新(新增加或者超時刪除)。
從ip位址到硬體位址的解析是自動進行的,主機的使用者對這種位址解析過程是不知道的。只要主機或者路由器要和本網路上的另乙個已知ip位址的主機或者路由器進行通訊,arp協議就會自動地把這個ip位址解析為鏈路層所需要的硬體位址。下面我們歸納出使用arp的四種典型情況。
(1)傳送方是主機,要把ip資料報傳送到本網路上的另乙個主機。這時用arp找到目的主機的硬體位址。
(2)傳送方是主機,要把ip資料報傳送到另乙個網路上的乙個主機。這時用arp找到本網路上的乙個路由器的硬體位址。剩下的工作由這個路由器完成。
(3)傳送方是路由器,要把ip資料報**到本網路上的乙個主機。這時用arp找到目的主機的硬體位址。
(4)傳送方是路由器,要把ip資料報**到另乙個網路上的乙個主機。這時用arp找到本網路上的乙個路由器的硬體位址。剩下的工作由這個路由器來完成。
在許多情況下需要多次使用arp,但這只是以上一種情況的反覆使用而已。
二、編寫arp指令碼抓取對應主機的mac位址
我們使用ping命令連通ip位址為192.168.140.1---192.168.140.254的網路,抓取對應的mac位址
執行結果的一部分如下:
我們使用arp -a檢視和當前裝置有連線的所有ip位址和對應的mac位址,可以發現有兩個裝置連線。
ARP與ARP指令碼
arp 位址解析協議,用來獲得目的主機的硬體位址 工作過程 源主機發出arp請求,詢問 ip位址是192.168.0.1的主機的硬體位址是多少?並將這個請求廣播到本地網段 乙太網幀首部的硬體位址填ff ff ff ff ff ff,表示廣播 目的主機收到arp請求,發現ip位址與自己的相同,則傳送乙...
ARP與RARP協議及arp指令碼
位址解析協議,即arp address resolution protocol 是根據ip位址獲取實體地址的乙個tcp ip協議。在 絡通訊時,源主機的應 程式知道 的主機的ip位址和端 號,卻不知道 的主機的硬體位址,資料報 先是被 卡接收到再去處理上層協議的,如果接收到的資料報的硬體位址與本機不...
ARP協議及指令碼編寫u
一.什麼是arp 位址解析協議,即arp address resolution protocol 是根據ip位址獲取實體地址的乙個tcp ip協議。主機傳送資訊時將包含目標ip位址的arp請求廣播到網路上的所有主機,並接收返回訊息,以此確定目標的實體地址 收到返回訊息後將該ip位址和實體地址存入本機...