網絡arp攻擊原理
現在我們用的互聯網的時間越來越多,需要掌握的網絡技能也很多,那么你知道網絡arp攻擊原理嗎?下面是學習啦小編整理的一些關于網絡arp攻擊原理的相關資料,供你參考。
什么是arp?
地址解析協議,即arp(Address Resolution Protocol),是根據IP地址獲取物理地址的一個TCP/IP協議。主機發(fā)送信息時將包含目標IP地址的arp請求廣播到網絡上的所有主機,并接收返回消息,以此確定目標的物理地址;收到返回消息后將該IP地址和物理地址存入本機arp緩存中并保留一定時間,下次請求時直接查詢arp緩存以節(jié)約資源。地址解析協議是建立在網絡中各個主機互相信任的基礎上的,網絡上的主機可以自主發(fā)送arp應答消息,其他主機收到應答報文時不會檢測該報文的真實性就會將其記入本機arp緩存;由此攻擊者就可以向某一主機發(fā)送偽arp應答報文,使其發(fā)送的信息無法到達預期的主機或到達錯誤的主機,這就構成了一個arp欺騙。arp命令可用于查詢本機arp緩存中IP地址和MAC地址的對應關系、添加或刪除靜態(tài)對應關系等。相關協議有Rarp、代理arp。NDP用于在IPv6中代替地址解析協議。
網絡arp攻擊原理:
針對arp表的攻擊,arp表是IP地址和MAC地址的映射關系表,任何實現了IP協議棧的設備,一般情況下都通過該表維護IP地址和MAC地址的對應關系,這是為了避免arp解析而造成的廣播數據報文對網絡造成沖擊。arp表的建立一般情況下是通過二個途徑:
1、 主動解析,如果一臺計算機想與另外一臺不知道MAC地址的計算機通信,則該計算機主動發(fā)arp請求,通過arp協議建立(前提是這兩臺計算機位于同一個IP子網上);
2、 被動請求,如果一臺計算機接收到了一臺計算機的arp請求,則首先在本地建立請求計算機的IP地址和MAC地址的對應表。
因此,如果一個攻擊者通過變換不同的IP地址和MAC地址,向同一臺設備,比如三層交換機發(fā)送大量的arp請求,則被攻擊設備可能會因為arp緩存溢出而崩潰。
針對arp表項,還有一個可能的攻擊就是誤導計算機建立正確的arp表。根據arp協議www.runet.cn,如果一臺計算機接收到了一個arp 請求報文,在滿足下列兩個條件的情況下,該計算機會用arp請求報文中的源IP地址和源MAC地址更新自己的arp緩存:
1、 如果發(fā)起該arp請求的IP地址在自己本地的arp緩存中;
2、 請求的目標IP地址不是自己的。
可以舉一個例子說明這個過程,假設有三臺計算機A,B,C,其中B已經正確建立了A和C計算機的arp表項。假設A是攻擊者,此時,A發(fā)出一個arp請求報文,該請求報文這樣構造:
1、 源IP地址是C的IP地址,源MAC地址是A的MAC地址;
2、 請求的目標IP地址是A的IP地址。
這樣計算機B在收到這個arp請求報文后(arp請求是廣播報文,網絡上所有設備都能收到),網站防御系統發(fā)現B的arp表項已經在自己的緩存中,但MAC地址與收到的請求的源MAC地址不符,于是根據arp協議,使用arp請求的源MAC地址(即A的MAC地址)更新自己的arp表。
這樣B的arp混存中就存在這樣的錯誤arp表項:C的IP地址跟A的MAC地址對應。這樣的結果是, B發(fā)給C的數據都被計算機A接收到。
針對流項目表的攻擊
有的網絡設備為了加快轉發(fā)效率,建立了所謂的流緩存。所謂流,可以理解為一臺計算機的一個進程到另外一臺計算機的一個進程之間的數據流。如果表現在TCP/IP協議上,則是由(源IP地址,目的IP地址,協議號,源端口號,目的端口號)五元組共同確定的所有數據報文。
一個流緩存表一般由該五元組為索引,每當設備接收到一個IP報文后,會首先分析IP報頭,把對應的五元組數據提取出來,進行一個HASH運算,然后根據運算結果查詢流緩存,如果查找成功,則根據查找的結果進行處理,如果查找失敗,則新建一個流緩存項,查路由表,根據路由表查詢結果填完整這個流緩存,然后對數據報文進行轉發(fā)(具體轉發(fā)是在流項目創(chuàng)建前還是創(chuàng)建后并不重要)。
可以看出,如果一個攻擊者發(fā)出大量的源IP地址或者目的IP地址變化的數據報文,就可能導致設備創(chuàng)建大量的流項目,因為不同的源IP地址和不同的目標IP地址對應不同的流。這樣可能導致流緩存溢出。
看過文章“網絡arp攻擊原理”的人還看了:
1.網絡安全知識
3.信息網絡安全
4.網絡安全縱深防御
5.計算機網絡安全
9.關于網絡安全管理