日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

0x0806 ARP协议分析

發布時間:2025/3/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 0x0806 ARP协议分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、基本概念

  ARP(Address Resolution Protocol) 即地址解析協議,用于實現從IP地址到MAC地址映射。

?

二、 ARP工作流程

2.1 同一網段ARP工作流程分析

1.? PC1 要和PC3 通行,首先查看自己的ARP表,查看其中是否包含PC3的MAC地址信息,如果找到對應關系,直接利用ARP表中的MAC地址對IP數據包進行封裝。并將數據包發送給PC3。

2. 如果PC1在ARP表中未找到PC3對應的MAC地址,則先緩存數據報文,然后利用廣播方式(目標MAC地址FF:FF:FF:FF:FF:FF)發送一個ARP報文請求,ARP請求中的發送端MAC地址分別是PC1的IP地址和MAC地址,接收端的IP地址為PC3的IP地址,MAC地址全為0,因為ARP請求報文是以廣播方式發送,所以該網段上的所有主機都可以接收到該請求包,但只有其IP地址與目的IP地址一致的PC3才會對該請求進行處理。

3. PC3將ARP請求報文中的發送端(即PC1)的IP地址和MAC地址存入自己的ARP表中。然后以單播方式向PC1發送一個ARP相應報文,應答報文中就包含了自己的MAC地址,也就是原來在請求報文中要請求的目的MAC地址。

4. PC1收到來自PC3的ARP響應報文之后,將PC3的MAC地址加入到自己的ARP表中以用于后續報文的轉發,同時將原來緩存的IP數據包再次修改(在目的MAC地址字段填上PC3的MAC地址)后發送出去。

?2.2 跨網段的ARP地址解析流程

  • 如果主機A不知道網關的MAC地址(也就是主機A的ARP表中沒有網關對應的MAC地址表項),則主機A先在本網段中發出一個ARP請求廣播,ARP請求報文中的目的IP地址為網關的IP地址,代表其目的就是想獲得網關的MAC地址。如果主機A已經知道網關的MAC地址,則略過此步。
  • 網關收到ARP廣播包后同樣會向主機A發回一個ARP應答包。當主機A收到的應答包中獲得網關的MAC地址后,在主機A向主機B發送的原報文的目的MAC地址字段填上網關的MAC地址后發給網關。
  • 如果網關的ARP表中已有主機B對應的MAC地址,則網關直接將在來自主機A的報文中的目的MAC地址字段填上主機B的MAC地址后轉發給B。
  • 如果網關ARP表中沒有主機B的MAC地址,網關會再次向主機B所在的網段發送ARP廣播請求,此時目的IP地址為主機B的IP地址,當網關從收到來自主機B的應答報文中獲得主機B的MAC地址后,就可以將主機A發來的報文重新再目的MAC地址字段填上主機B的MAC地址后發送給主機B。
  • ?

    ?

    三、協議格式

    ?

        以太網目的地址: 目的主機的硬件地址。目的地址全為1表示廣播地址

        以太網源地址:源主機的硬件地址

        幀類型:ARP:0x0806、 RARP:0x8035

        硬件類型:表示硬件地址類型,ARP當前可用硬件類型如下

    類型含義備注類型含義備注
    0x001以太網? ? ? ? ? ? ? ? ? ? ? ? ?0x0012本地網?? ? ? ? ? ? ? ? ? ? ?
    0x002實驗性以太網?0x0013超鏈路?
    0x003業務無線電AX.25?0x0014SMDS?
    0x004Proteon ProNet令牌環?0x0015幀中繼?
    0x005ChaosNET?0x0016ATM?
    0x006IEEE 802網?0x0017HDLC(高級數據鏈路控制)?
    0x007ARCnet?0x0018未指定?
    0x008超信道?0x0019異步傳輸模式?
    0x009Lanstart?0x0020串行線路?
    0x0010Autonet短地址?0x0021異步傳輸模式?
    0x0011Local talks????

        協議類型:IP類型:0x0800

        硬件地址長度:對于以太網II來說,MAC地址作為硬件地址,因此該字段值為十六進制06

        協議地址長度:對于IPv4來,IP地址長度位32個字節,因此該字段值為十六進制04

        操作類型:ARP定義了兩種操作:0x0001(請求)、0x0002(應答)

        發送端以太網地址:對于以太網II來說,MAC地址作為硬件地址

        發送端IP地址:對于IPv4來, 值為IPv4地址

        目的以太網地址:對于以太網II來說,MAC地址作為硬件地址

        目的IP地址:對于IPv4來, 值為IPv4地址

    ? ? ? ?

    四、協議分析

    4.1 普通ARP

        即通過ip地址獲得MAC地址,即網絡中通過IP尋找對應MAC地址信息。

        1. 請求包

        解析:

          鏈路層解析:

    主機(54 89 98 ec 0f 66) 向局域網內發送廣播(ff ff ff ff ff ff), 使用類型類型為 ARP (0806)

          網絡層解析:??

    該數據包的硬件地址類型為以太網(00 01), 使用IPv4(08 00)協議類型, 其中硬件地址長度為6個字節(以太網MAC地址長度), 協議地址長度為4字節(IPv4地址長度);該數據包為ARP請求包(0001),? 數據包內容為 宿主機MAC地址為54 89 98 ec 0f 66 ,IP地址為 192.168.1.2(c0 a8 01 02) 向網絡(ff ff ff ff ff ff)中請求IP地址為192.168.1.4(c0 a8 01 04的mac地址。該網絡中主機收到該數據包請求根據包中發送方地址信息,更新自己ARP表信息,若該IP地址為自己IP地址,則對請求方進行回復,若非自己IP地址,則丟棄。

     2. 響應包

      

    解析:

          鏈路層解析:

    主機(54 89 98 49 3a 78) 向主機發送響應消息(54 89 98 ec 0f 66), 使用類型類型為 ARP (0806)

          網絡層解析:??

    該數據包的硬件地址類型為以太網(00 01), 使用IPv4(08 00)協議類型, 其中硬件地址長度為6個字節(以太網MAC地址長度), 協議地址長度為4字節(IPv4地址長度);該數據包為ARP響應包(0002),? 數據包內容為 宿主機MAC地址為54 89 98 49 3a 78,IP地址為 192.168.1.4(c0 a8 01 04) 向主機(54 89 98 ec 0f 66)發出的ARP請求數據包進行響應,接收方收到該響應包更新系統ARP表。

    4.2 免費ARP

    免費ARP報文與普通ARP請求報文的區別在于普通的ARP請求報文,其ARP封裝內的“目的IP地址”是其他機器的IP地址,而免費ARP的請求報文,其ARP封裝內的“目的IP地址”是其自己的IP地址。免費ARP的數據包格式如下圖所示:

        免費ARP在實際環境中的一些應用

    1.??免費ARP主要用于檢測IP地址沖突

    當一臺主機發送了免費ARP請求報文后,如果收到了ARP響應報文,則說明網絡內已經存在使用該IP 的主機。

    2.?利用免費ARP確認設備接口地址

    一般的設備在網卡地址加載階段都會向網絡中發送免費的ARP報文(也有些安全設備為了安全起見,讓設備在加載地址期間不向外發送免費ARP報文),當我們想知道某些設備的接口地址但又沒有相應記錄可查時,我們就可以利用設備的這種特性,抓取其免費ARP報文,從而分析出其接口使用的IP地址。

    3.?使用免費ARP報文,更新某些設備的ARP表項

    4. 利用免費ARP的攻擊

    5. 網關設備利用免費ARP防止ARP攻擊

      

    4.3 代理ARP

    代理ARP是ARP協議的一個變種。對于沒有配置缺省網關的計算機要和其他網絡中的計算機實現通信,網關收到源計算機的 ARP 請求會使用自己的 MAC 地址與目標計算機的 IP地址對源計算機進行應答。代理ARP就是將一個主機作為對另一個主機ARP進行應答。它能使得在不影響路由表的情況下添加一個新的Router,使得子網對該主機來說變得更透明化。同時也會帶來巨大的風險,除了ARP欺騙,和某個網段內的ARP增加,最重要的就是無法對網絡拓撲進行網絡概括。代理ARP的使用一般是使用在沒有配置默認網關和路由策略的網絡上的。

        1. 基本實現

    ?       

        2. 數據解析

          1.?在主機192.168.2.2 上ping 主機 192.168.3.2 抓取數據包如下,?

          

          解析: 主機192.168.2.2 與主機 192.168.3.2 進行通行,先向發送廣播包,請求網關MAC地址,網關收到該廣播后發送單播給請求方告知自己的MAC地址信息

    ?

         抓取 192.168.3.0/24 網絡側數據包如下?

        

    ?

    ?     解析: 網關收到192.168.2.1 發送給192.168.3.2的信息,先檢查自身MAC地址表若沒有192.168.3.2 的MAC地址信息,則在192.168.3.0 網段進行廣播請求192.168.3.2 的MAC地址信息,192.168.3.2收到網關的ARP請求信息,向網關發送單播告知自己的MAC地址信息。

    ?

    五、ARP常用命令

    功能Mac?WindowsLinux?HuaweiH3CCiscoRuijie
    查看ARP表arp -a?arp -aarp -adisplay arp all?show mac-address-table   
    清理ARP表arp -ad??reset arp all?clear arp?

          

    轉載于:https://www.cnblogs.com/onlycat/p/11340872.html

    總結

    以上是生活随笔為你收集整理的0x0806 ARP协议分析的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。