黑客基礎:ARP攻擊第一章
舉個例子:
ARP攻擊,如何防禦?1.公寓局域網(整棟樓使用一個服務器,全部宿舍端口為動态ip)出現斷網現象,表現為時不時斷網,偶爾能打開百度首頁……經考證,有時隔壁的隔壁同事的360提示受到arp攻擊,防禦無效。
2.雙人宿舍,為方便手機上網,用路由器接到局域網,路由設置為自動動态獲取局域網IP。
求助:本宿舍個人電腦(win7/8)(不涉及服務器層面)能否防禦?有沒有簡單的防禦軟件,比如靠譜方便的ARP防火牆或殺毒軟件?
一、ARP概述如果要在TCP/IP協議棧中選擇一個"最不安全的協議",那麼我會毫不猶豫把票投給ARP協議。我們經常聽到的這些術語,包括"網絡掃描"、"内網滲透"、"中間人攔截"、"局域網流控"、"流量欺騙",基本都跟ARP脫不了幹系。大量的安全工具,例如大名鼎鼎的Cain、功能完備的Ettercap、操作傻瓜式的P2P終結者,底層都要基于ARP實現。 聽上去這麼"逆天"的協議,其實技術原理又簡單的難以置信,例如ARP整個完整交互過程僅需要兩個包,一問一答即可搞定!
根據OSI數據封裝順序,發送方會自頂向下(從應用層到物理層)封裝數據,然後發送出去,這裡以PC1 ping PC2的過程舉例==>
PC1封裝數據并且對外發送數據時,上圖中出現了"failed",即數據封裝失敗了,為什麼?我們給PC1指令-"ping ip2",這就告知了目的IP,此時PC1便有了通信需要的源目IP地址,但是PC1仍然沒有通信需要的目的MAC地址。這就好比我們要寄一個快遞,如果在快遞單上僅僅寫了收件人的姓名(IP),卻沒有寫收件人的地址(MAC),那麼這個快遞就沒法寄出,因為信息不完整。 那麼,現在PC1已經有了PC2的IP地址信息,如何獲取到PC2的MAC地址呢?此時,ARP協議就派上用場了。我們接着上面這張圖,繼續==>
通過第三和第四步驟,我們看到PC1和PC2進行了一次ARP請求和回複過程,通過這個交互工程,PC1便具備了PC2的MAC地址信息。接下來PC1會怎麼做呢?在真正進行通信之前,PC1還會将PC2的MAC信息放入本地的【ARP緩存表】,表裡面放置了IP和MAC地址的映射信息,例如 IP2MAC2。接下來,PC1再次進行數據封裝,正式進入PING通信,如下==>
小結:經過上面6個步驟的處理,PC1終于把數據包發送出去了,之後便可以進行正常的通信了。看到了吧,ARP的功能和實現過程是如此的簡單:它在發送方需要目标MAC地址的時及時出手,通過"一問一答"的方式獲取到特定IP對應的MAC地址,然後存儲到本地【ARP緩存表】,後續需要的話,就到這裡查找。既然是"緩存"表,意味着它有時效性,并且如果電腦或者通信設備重啟的話,這張表就會清空;也就是說,如果下次需要通信,又需要進行ARP請求。在我們的windows/macos系統下,可以通過命令行"arp -a"查看具體信息=>
三、ARP原理之廣播請求單播回應上面的圖解過程看上去簡單又純粹,好像我們就已經把這個協議的精髓全部get到,但其實,我們隻是剛揭開了它的面紗,接下來我們才真正進入正題。例如,上面的圖解過程中,整個局域網(LAN)隻有PC1和PC2兩個主機,所以這個一問一答過程非常的順暢。而實際網絡中,這個LAN可能有幾十上百的主機,那麼請問,PC1如何将這個【中國黑客協會創始人花無涯】順利的交給PC2,而PC2又如何順利的把【ARP回應包】返回給PC1? 我們看下面的圖:
為了營造出"幾十上百"的效果,這裡多添加了2個主機進來 ( ω ),并且增加了有線和無線的環境。那麼,在多主機環境下,PC1現在發出的ARP請求包,怎麼交到PC2手裡?這時,ARP協議就需要采用以太網的"廣播"功能:将請求包以廣播的形式發送,交換機或WiFi設備(無線路由器)收到廣播包時,會将此數據發給同一局域網的其他所有主機。
arp攻擊原理技術都是屬于黑客進階技術,在局域網内的用戶感觸最深,學習黑客技術推薦書籍,某寶有售,《網絡黑白》黑客入門到進階必備書。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!