290 likes | 499 Views
實驗七 ARP 協定分析. 實驗目的 明瞭 ARP ( Address Resolution Protocol; 位址解析協定) 的工作原理 解析 ARP 協定下封包資料傳送格式. 綱要. ARP 位址解析協定 RARP 和 Proxy ARP ARP Request 與 ARP Reply ARP Cache ARP 封包格式 ARP 演算法 ARP 的運作方式 動態 ARP 解析 靜態 ARP 解析. ARP 位址解析協定 1/5.
E N D
實驗七 ARP協定分析 實驗目的 明瞭ARP(Address Resolution Protocol;位址解析協定) 的工作原理 解析ARP協定下封包資料傳送格式
綱要 • ARP位址解析協定 • RARP和Proxy ARP • ARP Request與ARP Reply • ARP Cache • ARP封包格式 • ARP演算法 • ARP的運作方式 • 動態ARP解析 • 靜態ARP解析 企業網路-黃文聰 老師
ARP位址解析協定 1/5 • 在網際網路中只有網路區段的分別,並無區域網路、網際網路、 無線網路的區別,而網路區段在邏輯上的定義為網路號相同,在實際上則為ARP封包可以廣播的到。ARP負責的是由IP位址尋找網路卡實體位址(MAC),因為真正的網路連線發生在資料鏈結層需要雙方的實體位址,而更高層的連線均為虛擬連線。 • ARP並非網際網路專屬協定,且除非有ARP Proxy機制(代替其它機器的IP位址做出回應)存在,否則ARP僅在網路第二層用廣播方式傳遞,所以ARP會限制在區域網路內操作,區域網路內的所有裝置大多有一個ARP表格(ARP Table)存放於ARP快取記憶體(ARP Cache)之中,記錄著同一個區域網路中各裝置的IP位址和MAC位址的對應,加速ARP的處理。 企業網路-黃文聰 老師
ARP位址解析協定 2/5 • 目前網際網路上通用的TCP/IP 協定,需要一種能夠在任何情況下不論網路中任何特定節點的狀況如何,讓資訊隨時能由任何一點傳到另一點所發展出的一套網路協定,而這套網路協定即是ARP位址解析協定。 • ARP (Address Resolution Protocol;位址解析協定)主要被設計用於以OSI model第三層位址(IP address)求得第二層位址(MAC 位址),負責的是在IP位址和網路卡實體位址(MAC)之間的轉換,常將TCP/IP當作一個協定來看。主機的作業系統會依照封包目地IP 位址與本機之子網路遮罩(subnet mask)值進行運算,以判斷封包目地IP是否與本機同屬一個子網路。ARP協定是一個非常重要且使用頻繁的協定,在任何一個TCP/IP 的連線被建立之前,都必需經由ARP 協定取得目地主機之MAC位址。 企業網路-黃文聰 老師
ARP位址解析協定: 對應關係模型 3/5 • 圖中顯示OSI 參考模型與TCP/IP協定的對應關係。 企業網路-黃文聰 老師
ARP位址解析協定: ARP的工作原理(一) 4/5 • 當機器送出一個TCP/IP封包時,會確認目的地址是否屬於同一個網路,如果是屬於同一個網路,會接著檢查ARP表格有沒有對方的IP位址和MAC位址對應,如果有,就直接將封包傳到該MAC位址。 • 如果在ARP表格上找不到對方的對應,則會向網路發出一個ARP Request廣播封包查詢對方的MAC位址,這個封包會包含發送端的MAC位址資料。 • 當網路上的機器接聽到該廣播時,都會檢查IP欄位是否和自己的一致,如果不是會忽略;如果是,就會先將發送端的MAC位址和IP位址資料更新到自己的ARP表格,然後再回應一個ARP Reply封包給對方,當發送端接到ARP Reply之後,也會更新自己的ARP表格,然後就可以用此記錄來進行傳送,否則宣告傳送失敗。 企業網路-黃文聰 老師
ARP位址解析協定: ARP的工作原理(二) 5/5 • ARP跨越不同網路的過程;先檢查封包是否是寄給本地網路,如果不是,就把它送給路由器。如果ARP表格還沒有路由器的記錄,可以利用ARP Request來進行更新。接著路由器會判斷下一個路由器的MAC位址,然後再把封包傳出去。當封包傳到目的地的路由器,該路由器一樣會檢查ARP表格或利用ARP Request找到目的主機的MAC。最後將封包傳給目的IP位址。 企業網路-黃文聰 老師
RARP和Proxy ARP • 當我們從MAC位址反向查詢IP位址的一些系統服務時,可以利用RARP(Reverse ARP)功能來完成。例如無磁碟(diskless)工作站使用BOOT ROM來登入網路,一開始它並不知道自己的IP位址是什麼,所以它可以先送出一個RARP的封包,假如在網路上有其它主機被設定成可以回答RARP的查詢,並且知道它的IP位址,即可對它做出回應,這樣一來,無磁碟工作站也就知道自己的IP位址。 企業網路-黃文聰 老師
ARP Request與ARP Reply • ARP運作僅由ARP request(ARP 查詢)與ARP reply(ARP 回應)兩種封包所組成,假設A裝置要傳送IP封包給B裝置,雖然A裝置知道B裝置的IP位址,但是不知道B裝置的MAC位址,因此必須先利用ARP取得B裝置的MAC位址。ARP request封包在資料連結層是封裝成廣播封包,所以區域網路上的每一個裝置都會處理此一封包。ARP request除了包含A裝置本身的IP址址與MAC位址外,也會記錄所要解析對象的IP位址,即B裝置的IP位址。 企業網路-黃文聰 老師
ARP Request與ARP Reply • A電腦傳送ARP request封包給區域網路上的所有電腦(雖然只有要詢問電腦B而已)。 企業網路-黃文聰 老師
ARP Request與ARP Reply • 區域網路內的所有裝置都會處理ARP request的封包,並與本身的IP位址比對,判斷出自己是否為此request所要解析的對象,B裝置為ARP request的解析對象,因此只有B裝置會產生回應的ARP reply。 企業網路-黃文聰 老師
動態ARP解析:查詢動態ARP 1/6 • 利用arp –a指令查詢本機是否有動態ARP 企業網路-黃文聰 老師
ARP Cache • 在ARP解析過程中,由於ARP request為資料連結層的廣播封包,如果經常出現,勢必造成區域網路的沉重負擔。為了避免這個問題,便加入了cache的設計。它是將網路裝置的IP位址/MAC位址記錄在本機電腦,以加快位址解析的過程,因此,只有在cache中找不到符合的記錄時,才會發出ARP request的廣播封包。 ARP Cache中所包含的記錄 : • 動態記錄(Dynamic):動態的entry,均有存活時間(Life Time)限制,當存活時間到了之後,系統會自動將其刪除。 • 靜態記錄(Static):靜態的entry,無存活時間限制,必需藉助作業系統命令列以arp –s 指令加入。 企業網路-黃文聰 老師
ARP 封包格式1/4 • ARP封包主要是紀錄IP與MAC的相關資料,其包含的欄位如下: 企業網路-黃文聰 老師
ARP 封包格式:封包說明(一) 2/4 • Hardware Type:長度 2 Bytes,代表發送端主機網路卡的類型,若硬體類型為乙太網路,則此欄位值為1。 • Protocol Type:長度 2 Bytes, 說明網路層所使用的協定,若欄位值為0800(16進位),則表示協定採用IP位址進行定址。 • Hardware Address Length (HLEN):長度 1 Bytes,對硬體位址的長度作定義,欄位值以BYTE為單位。例如乙太網路的MAC位址長度6 Byte,此欄欄位值即為6。Protocol Address Length(PLEN):長度為1 Byte,網路層協定所使用的位址長度,以BYTE為單位。若Protocol Type為(IP),由於IP位址長度為4 Bytes ,因此本欄位值為4。Operation:長度為2 Bytes,指定ARP封包的類型,最常見的即是Request與Reply兩種類型,欄位值分別為1、2。 企業網路-黃文聰 老師
ARP 封包格式:封包說明(二) 3/4 • Sender Hardware Address:ARP封包來源端的MAC位址。以乙太網路為例,即為6 Bytes的MAC位址。 • Sender Protocol Address:ARP封包來源端所用協定的位址。以IP為例,即為4 Bytes的IP位址。 • Target Hardware Address:ARP封包目的端的MAC位址。以乙太網路為例,即為6 Bytes的MAC位址。若是ARP request封包,則本欄位址為00-00-00-00-00-00。 • Target Protocol Address:ARP封包目的端所用協定的位址。以IP為例,即為4 Bytes的IP位址。 • ARP封包的長度:ARP封包的長度並不固定,要視網路層與資料連結層的位址長度。 企業網路-黃文聰 老師
ARP 封包格式:Ethernet frame封包 4/4 • ARP封包是被包裹於IP封包後再包裹在Ethernet frame內傳送,其封包格式如圖所示。 企業網路-黃文聰 老師
ARP演算法 1/2 • 網際網路工程工作小組(Internet Engineering Task Force,IETF)在文件RFC 826中定義ARP 的主要功能。簡要來說:當一部主機收到ARP(含ARP request 及ARP reply)封包時,首先判斷本機是否支援封包所列之Hardware Protocol(如Ethernet)及Netwrok Protocol(如 IP 協定),若否,則不理會該封包;若是,則會將封包發送者的 IP 與 MAC 位址新增(或修改)填入本機之 ARP table 中;最後再判斷如果所收到的是 ARP request 封包,且封包之目地為本機時,則會產生一個 ARP reply 封包,將本機 IP 與 MAC位址回傳給發送者。 企業網路-黃文聰 老師
ARP演算法:ARP演算法詳解圖 2/2 企業網路-黃文聰 老師
ARP的運作方式 • ARP是被用來IP位址查詢其相對應的網路實體位址(MAC位址),其運作方式如圖所示。首先主機A(163.15.2.1)網際層發送出ARP Request(163.15.2.4)的訊息給網路存取層,網路存取層之MAC層(Ethernet層)再將ARP Request訊息包裝在Ethernet訊框內,並廣播在網路上。網路上(區域網路內)所有主機接收到廣播訊框再拆解訊框。 企業網路-黃文聰 老師
動態ARP解析:新增動態ARP • 新增一組動態ARP,用ping指令指定一個想要增為動態ARP的IP位址 企業網路-黃文聰 老師
動態ARP解析:設定過濾條件 • Ethernet-> EV2 ->ARP 企業網路-黃文聰 老師
動態ARP解析:擷取ARP協定封包後結果 目前收集的封包 企業網路-黃文聰 老師
靜態ARP解析:將動態ARP改為靜態ARP 1/4 • 將動態ARP轉換成靜態ARP先增加一個動態ARP再用arp –s指令來成為靜態ARP。 將網路卡MAC與IP對應 企業網路-黃文聰 老師
靜態ARP解析:設定過濾條件2/4 • 開啟監測程式輸入監測IP位址以及選擇協定及80port 企業網路-黃文聰 老師
靜態ARP解析:設定ARP監測規則(二) 3/4 • 輸入監測規則,選擇上一步驟的新增程式再用or連結ARP。 企業網路-黃文聰 老師
靜態ARP解析:靜態ARP顯示 4/4 • 顯示ARP傳送封包 因為靜態ARP所以不會出現如動態ARP一樣顯示出請求及回覆的紀錄出現。 企業網路-黃文聰 老師
靜態ARP解析:擷取ARP協定封包後結果 目前收集的封包 企業網路-黃文聰 老師