ARP協議及ARP欺騙詳解


    地址解析協議即ARP(Address Resolution Protocol),是根據IP地址獲取物理地址的一個TCP/IP協議。主機發送信息時將包含目標IP地址的ARP請求廣播到網絡上的所有主機,並接收返回消息,以此確定目標的物理地址;收到返回消息後將該IP地址和物理地址存入本機ARP緩存中並保留一定時間,下次請求時直接查詢ARP緩存以節約資源。ARP緩存是個用來儲存IP地址和MAC地址的緩衝區,其本質就是一個IP地址-->MAC地址的對應表,表中每一個條目分別記錄了網絡上其他主機的IP地址和對應的MAC地址。

          地址解析協議作用:OSI模型把網絡工作分爲七層,IP地址在OSI模型的第三層,MAC地址在第二層,彼此不直接打交道。在通過以太網發送IP數據包時,需要先封裝第三層(32位IP地址)、第二層(48位MAC地址)的報頭,但由於發送時只知道目標IP地址,不知道其MAC地址,又不能跨第二、三層,所以需要使用地址解析協議。使用地址解析協議,可根據網絡層IP數據包包頭中的IP地址信息解析出目標硬件地址(MAC地址)信息,以保證通信的順利進行

        

             硬件地址長度和協議地址長度分別指出硬件地址和協議地址的長度,以字節爲單位。對於以太網上IP地址的ARP請求或應答來說,它們的值分別爲6和4;

 

     操作類型(OP):1表示ARP請求,2表示ARP應答;

     發送端MAC地址:發送方設備的硬件地址;

     發送端IP地址:發送方設備的IP地址;

     目標MAC地址:接收方設備的硬件地址。

     目標IP地址:接收方設備的IP地址。

        接下來將爲大家詳解地址解析協議

    

    %&%- 主機A首先查看自己的ARP表,確定其中是否包含有主機B對應的ARP表項。如果找到了對應的MAC地址,則主機A直接利用ARP表中的MAC地址,對IP數據包進行幀封裝,並將數據包發送給主機B。

    %&%- 如果主機A在ARP表中找不到對應的MAC地址,則將緩存該數據報文,然後以廣播方式發送一個ARP請求報文。ARP請求報文中的發送端IP地址和發送端MAC地址爲主機A的IP地址和MAC地址,目標IP地址和目標MAC地址爲主機B的IP地址和全0的MAC地址。由於ARP請求報文以廣播方式發送,該網段上的所有主機都可以接收到該請求,但只有被請求的主機(即主機B)會對該請求進行處理。

     %&%-主機B比較自己的IP地址和ARP請求報文中的目標IP地址,當兩者相同時進行如下處理:將ARP請求報文中的發送端(即主機A)的IP地址和MAC地址存入自己的ARP表中。之後以單播方式發送ARP響應報文給主機A,其中包含了自己的MAC地址。

     %&%-主機A收到ARP響應報文後,將主機B的MAC地址加入到自己的ARP表中以用於後續報文的轉發,同時將IP數據包進行封裝後發送出去。

 

                何爲ARP欺騙

          

    ARP欺騙是***常用的***手段之一,ARP欺騙分爲二種,一種是對路由器ARP表的欺騙;另一種是對內網PC的網關欺騙。

    第一種ARP欺騙的原理是——截獲網關數據。

它通知路由器一系列錯誤的內網MAC地址,並按照一定的頻率不斷進行,使真實的地址信息無法通過更新保存在路由器中,結果路由器的所有數據只能發送給錯誤的MAC地址,造成正常PC無法收到信息。

在命令窗口輸入:arpspoof-i eth0 -t  172.28.15.254 172.28.15.11(目標主機ip)告訴網關自己是目標主機從而欺騙網關。

    第二種ARP欺騙的原理是——僞造網關。

它的原理是建立假網關,讓被它欺騙的PC向假網關發數據,而不是通過正常的路由器途徑上網。在PC看來,就是上不了網了,“網絡掉線了”。打開命令窗口輸入:arpspoof -i eth0 -t 172.28.15.11(目標主機ip) 172.28.15.254 不斷髮送數據包給目標主機告訴它自己的主機物理地址是網關的物理地址;

       上面兩條arpspoof指令可以用下面一個指令完成:arpspoof -i eth0 -t 172.28.15.11 -r172.28.15.254

            簡單的arp欺騙防禦:

    用戶設置靜態的MAC→IP對應表。以Windows 系統爲例,操作方法是:在命令提示符下輸人命令:

    arp-a 獲得網關的MAC地址

    arp-d 清除ARP列表

    arp-s 172.28.15.254(網關IP 地址)cc-cc-cc-cc-cc-cc(網關MAC 地址)。

    在網關(匯聚交換機)上實現IP 地址和MAC地址的綁定。爲每臺主機添加一條IP 地址和MAC 地址對應的關係靜態地址表。

    在交換機上使用如下命令:

   <host> system-view

   <host>arp static (主機IP地址) (主機MAC地址)

    上述命令在交換機內建立了MAC地址和IP 地址對應的映射表。

用戶發送數據包時,若交換機獲得的IP和MAC地址與先前建立的映射表匹配,則發送的包能通過,不符合則丟棄該數據包,這樣能防止ARP 欺騙。

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章