乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      ARP原理和ARP攻擊

       AndyCloud 2020-04-11

      ARP--在TCP/IP協(xié)議棧中,最不安全的協(xié)議莫過于ARP了,我們經(jīng)常聽到的網(wǎng)絡(luò)掃描,內(nèi)網(wǎng)滲透,流量欺騙等等,他們基本上都與ARP有關(guān)系,甚至可以說,他們的底層都是基于ARP實(shí)現(xiàn)的。但是ARP的是實(shí)現(xiàn)僅需一問一答的兩個(gè)包即可,實(shí)現(xiàn)上很簡單。



      目錄

      • ARP協(xié)議

      • ARP數(shù)據(jù)包信息

      • ARP攻擊


      一、ARP協(xié)議

      ARP(Address Resolution Protocol)地址解析協(xié)議,目的是實(shí)現(xiàn)IP地址到MAC地址的轉(zhuǎn)換。

      在計(jì)算機(jī)間通信的時(shí)候,計(jì)算機(jī)要知道目的計(jì)算機(jī)是誰(就像我們?nèi)私涣饕粯?,要知道對方是誰),這中間需要涉及到MAC地址,而MAC是真正的電腦的唯一標(biāo)識符。

      為什么需要ARP協(xié)議呢?因?yàn)樵贠SI七層模型中,對數(shù)據(jù)從上到下進(jìn)行封裝發(fā)送出去,然后對數(shù)據(jù)從下到上解包接收,但是上層(網(wǎng)絡(luò)層)關(guān)心的IP地址,下層關(guān)心的是MAC地址,這個(gè)時(shí)候就需要映射IP和MAC。

      ARP之簡單請求應(yīng)答

          當(dāng)兩臺(tái)計(jì)算機(jī)在同一個(gè)局域網(wǎng)通信,我們以ping命令為例,該命令使用的ICMP協(xié)議

      新建 Microsoft Visio 繪圖.png

      PC1依據(jù)OSI模型①依次從上至下對數(shù)據(jù)進(jìn)行封裝,包括對ICMP Date加IP包頭的封裝,但是到了封裝MAC地址的時(shí)候,②PC1首先查詢自己的ARP緩存表,發(fā)現(xiàn)沒有IP2和他的MAC地址的映射,這個(gè)時(shí)候MAC數(shù)據(jù)幀封裝失敗。我們使用ping命令的時(shí)候,是指定PC2的IP2的,計(jì)算機(jī)是知道目的主機(jī)的IP地址,能夠完成網(wǎng)絡(luò)層的數(shù)據(jù)封裝,因?yàn)樵O(shè)備通信還需要對方的MAC地址,但是PC1的緩存表里沒有,所以在MAC封裝的時(shí)候填入不了目的MAC地址。

      那么PC1為了獲取PC2的MAC地址,③PC1要發(fā)送詢問信息,詢問PC2的MAC地址,詢問信息包括PC1的IP和MAC地址、PC2的IP地址,這里我們想到一個(gè)問題,即使是詢問信息,也是需要進(jìn)行MAC數(shù)據(jù)幀的封裝,那這個(gè)詢問信息的目的MAC地址填什么呢,規(guī)定當(dāng)目的MAC地址為ff-ff-ff-ff-ff-ff時(shí),就代表這是一個(gè)詢問信息,也即使后面我要說的廣播。

      PC2收到這個(gè)詢問信息后,將這里面的IP1和MAC1(PC1的IP和MAC)添加到本地的ARP緩存表中,然后④PC2發(fā)送應(yīng)答信息,對數(shù)據(jù)進(jìn)行IP和MAC的封裝,發(fā)送給PC1,因?yàn)榫彺姹砝镆呀?jīng)有PC1的IP和MAC的映射了呢。這個(gè)應(yīng)答信息包含PC2的IP2和MAC2。PC1收到這個(gè)應(yīng)答信息,理所應(yīng)當(dāng)?shù)木瞳@取了PC2的MAC地址,并添加到自己的緩存表中。

      經(jīng)過這樣交互式的一問一答,PC1和PC2都獲得了對方的MAC地址,值得注意的是,目的主機(jī)先完成ARP緩存,然后才是源主機(jī)完成ARP緩存。之后PC1和PC2就可以真正交流了。

      ARP之廣播請求單播回應(yīng)

          上圖面的圖解是不完全的ARP協(xié)議,因?yàn)樵诰钟蚓W(wǎng)里邊不會(huì)只有兩臺(tái)主機(jī),這里就要考慮如何在局域網(wǎng)眾多主機(jī)里獲得目的主機(jī)的MAC。

      blob.png

      和上面的一樣,剛開始PC1并不知道PC2的MAC地址,同樣需要發(fā)送ARP請求,但是這個(gè)局域網(wǎng)里主機(jī)很多,怎么唯獨(dú)獲取PC2的MAC呢,①我們想到和一群陌生人交流一樣,可以挨著詢問一遍,這就是我們要說的廣播,首先PC1廣播發(fā)送詢問信息(信息和上一張圖介紹的一樣),在這個(gè)普通交換機(jī)上連接的設(shè)備都會(huì)受到這個(gè)PC1發(fā)送的詢問信息。

      接下來②需要做的是,所有在這個(gè)交換機(jī)上的設(shè)備需要判斷此詢問信息,如果各自的IP和要詢問的IP不一致,則丟棄,如圖PC3、Route均丟棄該詢問信息,而對于PC2判斷該詢問信息發(fā)現(xiàn)滿足一致的要求,則接受,同樣的寫入PC1的IP和MAC到自己的ARP映射表中。

      最后,③PC2單播發(fā)送應(yīng)答信息給PC1,告訴PC1自己的IP和MAC地址。


      二、ARP數(shù)據(jù)包信息

      ARP數(shù)據(jù)的詳細(xì)信息列表如下

           Hardware type 硬件類型,標(biāo)識鏈路層協(xié)議
           Protocol type 協(xié)議類型,標(biāo)識網(wǎng)絡(luò)層協(xié)議
           Hardware size  硬件地址大小,標(biāo)識MAC地址長度,這里是6個(gè)字節(jié)(48bit)
           Protocol size 協(xié)議地址大小,標(biāo)識IP地址長度,這里是4個(gè)字節(jié)(32bit)
              Opcode 操作代碼,標(biāo)識ARP數(shù)據(jù)包類型,1表示請求,2表示回應(yīng)
         Sender MAC address  發(fā)送者M(jìn)AC
          Sender IP address 發(fā)送者IP
         Target MAC address 目標(biāo)MAC,此處全0表示在請求
          Target IP address 目標(biāo)IP

      ARP請求包

      blob.png

      ARP應(yīng)答包

      內(nèi)容格式和上圖相似,不過會(huì)有目的地址對應(yīng)的MAC地址,ARP數(shù)據(jù)包類型字段為2。


      三、ARP攻擊

      新建 Microsoft Visio 繪圖 (3).png

      我們知道,當(dāng)PC1對PC2正常通信的時(shí)候(先別管攻擊者PC3),PC2、PC1會(huì)先后建立對方的IP和MAC地址的映射(即建立ARP緩存表),同時(shí)對于交換機(jī)而言,它也具有記憶功能,會(huì)基于源MAC地址建立一個(gè)CAM緩存表(記錄MAC對應(yīng)接口的信息),理解為當(dāng)PC1發(fā)送消息至交換機(jī)的Port1時(shí),交換機(jī)會(huì)把源MAC(也就是MAC1)記錄下來,添加一條MAC1和Port1的映射,之后交換機(jī)可以根據(jù)MAC幀的目的MAC進(jìn)行端口轉(zhuǎn)發(fā),這個(gè)時(shí)候PC3只是處于監(jiān)聽狀態(tài),會(huì)把PC1的廣播丟棄。

      正常的PC3會(huì)把廣播包丟棄,同樣的PC3可以抓住這一環(huán)節(jié)的漏洞,把不屬于自己的廣播包接收,同時(shí)回應(yīng)一個(gè)虛假的回應(yīng)包,告訴PC1我就是PC2

      (IP2-MAC3),這樣PC1會(huì)收到兩個(gè)回應(yīng)包(一個(gè)正確的IP2-MAC2,一個(gè)虛假的IP2-MAC3),但是PC1并不知道到底哪個(gè)是真的,所以PC1會(huì)做出判斷,并且判斷后到達(dá)的為真,那么怎么讓虛假的回應(yīng)包后到達(dá)呢,PC3可以連續(xù)不斷的發(fā)送這樣的回應(yīng)包,總會(huì)把哪個(gè)正確的回應(yīng)包覆蓋掉。

      而后PC1會(huì)建立IP2-MAC3這樣一條ARP緩存條目,以后當(dāng)PC1給PC2發(fā)送信息的時(shí)候,PC1依據(jù)OSI模型從上至下在網(wǎng)絡(luò)層給數(shù)據(jù)封裝目的IP為IP2的包頭,在鏈路層通過查詢ARP緩存表封裝目的MAC為MAC3的數(shù)據(jù)幀,送至交換機(jī),根據(jù)查詢CAM表,發(fā)現(xiàn)MAC3對應(yīng)的接口為Port3,就這樣把信息交付到了PC3,完成了一次ARP攻擊。

      新建 Microsoft Visio 繪圖 (4).png

      如果ARP攻擊嚴(yán)重話,會(huì)導(dǎo)致同一個(gè)局域網(wǎng)(也是同一個(gè)廣播域)的所有主機(jī)的ARP緩存表中都存放著錯(cuò)誤的IP和MAC的映射,如上圖,每臺(tái)主機(jī)的ARP緩存表中,不論哪個(gè)IP,都會(huì)映射到攻擊者的MAC地址MAC1上,這樣該局域網(wǎng)內(nèi)的所有主機(jī)的消息都發(fā)送到Hacker的主機(jī)上。

        本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多