ARP欺騙的基本原理
- 編輯:admin -ARP協(xié)議并不只在發(fā)送了ARP請(qǐng)求才接收ARP應(yīng)答,當(dāng)計(jì)算機(jī)接收到ARP應(yīng)答數(shù)據(jù)包的時(shí)候,就會(huì)對(duì)本地的ARP緩存進(jìn)行更新,將應(yīng)答中的IP和MAC地址存儲(chǔ)在ARP緩存中。
ARP協(xié)議并不只在發(fā)送了ARP請(qǐng)求才接收ARP應(yīng)答,當(dāng)計(jì)算機(jī)接收到ARP應(yīng)答數(shù)據(jù)包的時(shí)候,就會(huì)對(duì)本地的ARP緩存進(jìn)行更新,將應(yīng)答中的IP和MAC地址存儲(chǔ)在ARP緩存中。假設(shè)局域網(wǎng)中的某臺(tái)機(jī)器A準(zhǔn)備向B發(fā)送數(shù)據(jù)時(shí),如果現(xiàn)在一臺(tái)不懷好意的主機(jī)C想要竊取A中的數(shù)據(jù)或者其它目的,那么這時(shí)它就可能向A發(fā)送一個(gè)ARP數(shù)據(jù)包,數(shù)據(jù)包中聲稱主機(jī)B的MAC地址已經(jīng)改變,當(dāng)主機(jī)A收到后,得知此消息,就立刻更新原來主機(jī)B的MAC地址,在A看來B的IP地址沒有變,當(dāng)它要和主機(jī)B進(jìn)行通信時(shí),就會(huì)在數(shù)據(jù)包中封裝新的MAC地址。

1)如果這個(gè)MAC地址是前面主機(jī)C的,那么主機(jī)A就會(huì)把本來要發(fā)給主機(jī)B的數(shù)據(jù)錯(cuò)誤地發(fā)給了主機(jī)C,被主機(jī)C竊取成功,而主機(jī)C為了掩人耳目,“看”過數(shù)據(jù)后,再發(fā)給主機(jī)B,從而不影響主機(jī)A和主機(jī)B之間的正常通信。
2)但如果前面主機(jī)C發(fā)給主機(jī)A的ARP更新包中的MAC地址不是自己的,而是偽造的根本不存在的MAC地址,那么這時(shí)主機(jī)A和主機(jī)B之間就不可能再正常通信了,這就是ARP病毒對(duì)PC主機(jī)在網(wǎng)絡(luò)間通信造成的嚴(yán)重威脅和后果,造成數(shù)據(jù)被竊聽或網(wǎng)絡(luò)不通的慘局。
雖然局域網(wǎng)之間通信是主機(jī)與主機(jī)之間直接通信,但是,如果要與外網(wǎng)的主機(jī)通信,這時(shí),還需要用到網(wǎng)關(guān)或路由器(很多情況下一個(gè)局域網(wǎng)的路由器就直接充當(dāng)網(wǎng)關(guān)的角色),當(dāng)局域網(wǎng)內(nèi)的某臺(tái)主機(jī)A想要與外網(wǎng)的主機(jī)通信,那么這時(shí),它在對(duì)數(shù)據(jù)包進(jìn)行封裝時(shí),目標(biāo)MAC地址需要寫成網(wǎng)關(guān)的MAC地址,再交由網(wǎng)關(guān)代為轉(zhuǎn)發(fā),發(fā)到網(wǎng)外去,如果這臺(tái)主機(jī)A在使用ARP數(shù)據(jù)包請(qǐng)求網(wǎng)關(guān)的MAC地址時(shí),出現(xiàn)一臺(tái)不懷好意的主機(jī)C向主機(jī)A回應(yīng)了一個(gè)ARP回應(yīng)報(bào),這時(shí)同樣有兩種情況:
1)數(shù)據(jù)包中將根本不存在的MAC地址告訴主機(jī)A,那么這時(shí),主機(jī)A發(fā)給遠(yuǎn)程網(wǎng)絡(luò)的數(shù)據(jù)由于經(jīng)過不懷好意的主機(jī)“中轉(zhuǎn)”了一下,最終沒有網(wǎng)關(guān)給數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā),導(dǎo)致與外網(wǎng)不能正常通信,但但是,僅僅是這樣是不夠的,通信是一個(gè)雙向的工程,受害者者此時(shí)是要和公網(wǎng)上的某一臺(tái)主機(jī)或者設(shè)備進(jìn)行通信,而如果單單只把數(shù)據(jù)發(fā)送給了攻擊者,而收不到公網(wǎng)的回應(yīng),那么受害者會(huì)很快發(fā)現(xiàn)自己上不去網(wǎng)了從而中斷通信,導(dǎo)致欺騙失敗。
2)數(shù)據(jù)包中將根自己的MAC地址告訴主機(jī)A,造成數(shù)據(jù)被竊聽。結(jié)果是所有想通過網(wǎng)站建設(shè)服務(wù)器上網(wǎng)的主機(jī)都將想發(fā)往網(wǎng)關(guān)的數(shù)據(jù)報(bào)文發(fā)送給了C,由于C作為欺騙者,自己知道網(wǎng)關(guān)服務(wù)器的真實(shí)IP-MAC對(duì),C在受到來自其他主機(jī)發(fā)往網(wǎng)關(guān)的數(shù)據(jù)后執(zhí)行一步轉(zhuǎn)發(fā)過程。如果C僅僅是對(duì)網(wǎng)絡(luò)上流量進(jìn)行監(jiān)測的話,C就只需要對(duì)來自各主機(jī)的數(shù)據(jù)大小進(jìn)行簡單統(tǒng)計(jì),然后把這些數(shù)據(jù)包轉(zhuǎn)發(fā)給網(wǎng)關(guān),這樣做對(duì)其他主機(jī)訪問外網(wǎng)不會(huì)有任何影響。但是,如果C想限制網(wǎng)絡(luò)流量的話,C就可以部分轉(zhuǎn)發(fā)這些數(shù)據(jù)包。那么,此時(shí)的攻擊者,對(duì)于LAN內(nèi)的受害者和真正的網(wǎng)關(guān)就是透明的了,這便是基于ARP欺騙進(jìn)行的攻擊也稱為MIM( Man Inthemiddle)一中間人攻擊。
