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