天天看點

wireshark從入門到精通(協定排錯安全篇)4

arp協定資料包的分析 

arp也就是位址解析協定,我們要通路外網,不知道對方的mac位址就需要arp來進行請求然後知道後就可以請求網關來進行通信。 

<a>複制代碼</a>

位址解析協定,即arp(address resolution protocol),是根據ip位址擷取實體位址的一個tcp/ip協定。主機發送資訊時将包含目标ip位址的arp請求廣播到網絡上的所有主機,并接收傳回消息,以此确定目标的實體位址;收到傳回消息後将該ip位址和實體位址存入本機arp緩存中并保留一定時間,下次請求時直接查詢arp緩存以節約資源。位址解析協定是建立在網絡中各個主機互相信任的基礎上的,網絡上的主機可以自主發送arp應答消息,其他主機收到應答封包時不會檢測該封包的真實性就會将其記入本機arp緩存;由此攻擊者就可以向某一主機發送僞arp應答封包,使其發送的資訊無法到達預期的主機或到達錯誤的主機,這就構成了一個arp欺騙。arp指令可用于查詢本機arp緩存中ip位址和mac位址的對應關系、添加或删除靜态對應關系等。相關協定有rarp、代理arp。ndp用于在ipv6中代替位址解析協定。

他的工作過程如下: 

主機a的ip位址為192.168.1.1,mac位址為0a-11-22-33-44-01;

主機b的ip位址為192.168.1.2,mac位址為0a-11-22-33-44-02;

當主機a要與主機b通信時,位址解析協定可以将主機b的ip位址(192.168.1.2)解析成主機b的mac位址,以下為工作流程:

第1步:根據主機a上的路由表内容,ip确定用于通路主機b的轉發ip位址是192.168.1.2。然後a主機在自己的本地arp緩存中檢查主機b的比對mac位址。

第2步:如果主機a在arp緩存中沒有找到映射,它将詢問192.168.1.2的硬體位址,進而将arp請求幀廣播到本地網絡上的所有主機。源主機a的ip位址和mac位址都包括在arp請求中。本地網絡上的每台主機都接收到arp請求并且檢查是否與自己的ip位址比對。如果主機發現請求的ip位址與自己的ip位址不比對,它将丢棄arp請求。

第3步:主機b确定arp請求中的ip位址與自己的ip位址比對,則将主機a的ip位址和mac位址映射添加到本地arp緩存中。

第4步:主機b将包含其mac位址的arp回複消息直接發送回主機a。

第5步:當主機a收到從主機b發來的arp回複消息時,會用主機b的ip和mac位址映射更新arp緩存。本機緩存是有生存期的,生存期結束後,将再次重複上面的過程。主機b的mac位址一旦确定,主機a就能向主機b發送ip通信了。

平時在解決網站問題排查上,講到的這些是否用到了呢? 

如果想檢視arp緩存表可以ctrl+r 輸入cmd  打開指令提示符然後輸入arp -a 

相信大家都聽到過arp欺騙,其實就是欺騙了mac當請求的時候就到了hack手裡,這樣我們看什麼都由他們進行控制,你的資訊也完全可以被監控到。 

那麼怎麼去解決呢?arp綁定,在路由器上把ip和mac位址進行綁定即可。 

wireshark從入門到精通(協定排錯安全篇)4

圖檔中就是我們不知道對方mac時發起的全f廣播請求,這樣來獲得位址。 

看了本節是否有收獲呢? 

繼續閱讀