ARP网关欺骗原理及解决办法
一.什么是ARP協(xié)議?
ARP協(xié)議是“Address Resolution Protocol”(地址解析協(xié)議)的縮寫。在局域網(wǎng)中,網(wǎng)絡(luò)中實(shí)際傳輸?shù)氖恰皫?#xff0c;幀里面是有目標(biāo)主機(jī)的MAC地址的。在以太網(wǎng)中,一個主機(jī)要和另一個主機(jī)進(jìn)行直接通信,必須要知道目標(biāo)主機(jī)的MAC地址。但這個目標(biāo)主機(jī)的MAC地址是如何獲得的呢?它就是通過地址解析協(xié)議獲得的。所謂“地址解析”就是主機(jī)在發(fā)送幀前將目標(biāo)IP地址轉(zhuǎn)換成目標(biāo)MAC地址的過程。ARP協(xié)議的基本功能就是通過目標(biāo)設(shè)備的IP地址,查詢目標(biāo)設(shè)備的MAC地址,以保證通信的順利進(jìn)行。所以說從某種意義上講ARP協(xié)議是工作在更低于IP協(xié)議的層次。這也是為什么ARP欺騙更能夠讓人在神不知鬼不覺的情況下出現(xiàn)網(wǎng)絡(luò)故障,他的危害更加隱蔽。
二.ARP欺騙的原理:
首先我們可以肯定一點(diǎn)的就是發(fā)送ARP欺騙包是通過一個惡毒的程序自動發(fā)送的,正常的TCP/IP網(wǎng)絡(luò)是不會有這樣的錯誤包發(fā)送的,而人工發(fā)送又比較麻煩。也就是說當(dāng)黑客沒有運(yùn)行這個惡毒程序的話,網(wǎng)絡(luò)上通信應(yīng)該是一切正常的,保留在各個連接網(wǎng)絡(luò)計算機(jī)上的ARP緩存表也應(yīng)該是正確的,只有程序啟動開始發(fā)送錯誤ARP信息以及ARP欺騙包時才會讓某些計算機(jī)訪問網(wǎng)絡(luò)出現(xiàn)問題。接下來我們來闡述下ARP欺騙的原理。
第一步:假設(shè)這樣一個網(wǎng)絡(luò),一個Hub或交換機(jī)連接了3臺機(jī)器,依次是計算機(jī)A,B,C。
A的地址為:IP:192.168.1.1 MAC: AA-AA-AA-AA-AA-AA
B的地址為:IP:192.168.1.2 MAC: BB-BB-BB-BB-BB-BB
C的地址為:IP:192.168.1.3 MAC: CC-CC-CC-CC-CC-CC
第二步:正常情況下在A計算機(jī)上運(yùn)行ARP -A查詢ARP緩存表應(yīng)該出現(xiàn)如下信息。
Interface: 192.168.1.1 on Interface 0x1000003
Internet Address Physical Address Type
192.168.1.3 CC-CC-CC-CC-CC-CC dynamic
第三步:在計算機(jī)B上運(yùn)行ARP欺騙程序,來發(fā)送ARP欺騙包。
B向A發(fā)送一個自己偽造的ARP應(yīng)答,而這個應(yīng)答中的數(shù)據(jù)為發(fā)送方IP地址是192.168.10.3(C的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本來應(yīng)該是CC-CC-CC-CC-CC-CC,這里被偽造了)。當(dāng)A接收到B偽造的ARP應(yīng)答,就會更新本地的ARP緩存(A可不知道被偽造了)。而且A不知道其實(shí)是從B發(fā)送過來的,A這里只有192.168.10.3(C的IP地址)和無效的DD-DD-DD-DD-DD-DD mac地址。
第四步:欺騙完畢我們在A計算機(jī)上運(yùn)行ARP -A來查詢ARP緩存信息。你會發(fā)現(xiàn)原來正確的信息現(xiàn)在已經(jīng)出現(xiàn)了錯誤。
Interface: 192.168.1.1 on Interface 0x1000003
Internet Address Physical Address Type
192.168.1.3 DD-DD-DD-DD-DD-DD dynamic
從上面的介紹我們可以清楚的明白原來網(wǎng)絡(luò)中傳輸數(shù)據(jù)包最后都是要根據(jù)MAC地址信息的,也就是說雖然我們?nèi)粘Mㄓ嵍际峭ㄟ^IP地址,但是最后還是需要通過ARP協(xié)議進(jìn)行地址轉(zhuǎn)換,將IP地址變?yōu)镸AC地址。而上面例子中在計算機(jī)A上的關(guān)于計算機(jī)C的MAC地址已經(jīng)錯誤了,所以即使以后從A計算機(jī)訪問C計算機(jī)這個192.168.1.3這個地址也會被ARP協(xié)議錯誤的解析成MAC地址為DD-DD-DD-DD-DD-DD的。
問題也會隨著ARP欺騙包針對網(wǎng)關(guān)而變本加厲,當(dāng)局域網(wǎng)中一臺機(jī)器,反復(fù)向其他機(jī)器,特別是向網(wǎng)關(guān),發(fā)送這樣無效假冒的ARP應(yīng)答信息包時,嚴(yán)重的網(wǎng)絡(luò)堵塞就會開始。由于網(wǎng)關(guān)MAC地址錯誤,所以從網(wǎng)絡(luò)中計算機(jī)發(fā)來的數(shù)據(jù)無法正常發(fā)到網(wǎng)關(guān),自然無法正常上網(wǎng)。這就造成了無法訪問外網(wǎng)的問題,另外由于很多時候網(wǎng)關(guān)還控制著我們的局域網(wǎng)LAN上網(wǎng),所以這時我們的LAN訪問也就出現(xiàn)問題了。
三.ARP欺騙的危害:
前面也提到了ARP欺騙可以造成內(nèi)部網(wǎng)絡(luò)的混亂,讓某些被欺騙的計算機(jī)無法正常訪問內(nèi)外網(wǎng),讓網(wǎng)關(guān)無法和客戶端正常通信。實(shí)際上他的危害還不僅僅如此,一般來說IP地址的沖突我們可以通過多種方法和手段來避免,而ARP協(xié)議工作在更低層,隱蔽性更高。系統(tǒng)并不會判斷ARP緩存的正確與否,無法像IP地址沖突那樣給出提示。而且很多黑客工具例如網(wǎng)絡(luò)剪刀手等,可以隨時發(fā)送ARP欺騙數(shù)據(jù)包和ARP恢復(fù)數(shù)據(jù)包,這樣就可以實(shí)現(xiàn)在一臺普通計算機(jī)上通過發(fā)送ARP數(shù)據(jù)包的方法來控制網(wǎng)絡(luò)中任何一臺計算機(jī)的上網(wǎng)與否,甚至還可以直接對網(wǎng)關(guān)進(jìn)行攻擊,讓所有連接網(wǎng)絡(luò)的計算機(jī)都無法正常上網(wǎng)。這點(diǎn)在以前是不可能的,因?yàn)槠胀ㄓ嬎銠C(jī)沒有管理權(quán)限來控制網(wǎng)關(guān),而現(xiàn)在卻成為可能,所以說ARP欺騙的危害是巨大的,而且非常難對付,非法用戶和惡意用戶可以隨時發(fā)送ARP欺騙和恢復(fù)數(shù)據(jù)包,這樣就增加了網(wǎng)絡(luò)管理員查找真兇的難度。那么難道就沒有辦法來阻止ARP欺騙問題的發(fā)生嗎?
四.防范措施
????正常情況下,用arp -a 命令只會看到網(wǎng)關(guān)信息,如:
????C:\Documents and Settings\Administrator>arp -a
??Interface: 172.16.102.155 on Interface 0x1000003
??Internet Address??????Physical Address??????Type
??172.16.102.1??????????00-0a-f3-6d-33-fc?????dynamic
????如果網(wǎng)關(guān)ip被別的計算機(jī)偽裝,MAC地址就不是正常網(wǎng)關(guān)的MAC地址,此時你的計
算機(jī)就不能正常上網(wǎng)。
???C:\Documents and Settings\Administrator>arp -a
??Interface: 172.16.102.155 on Interface 0x1000003
??Internet Address??????Physical Address??????Type
??172.16.102.1??????????00-0c-f1-e9-20-20?????dynamic(注意這里的MAC已變了)
??172.16.102.145????????00-15-60-0c-83-f4?????dynamic
??172.16.102.99?????????00-02-55-a6-79-03?????dynamic
??
建議用戶采用雙向綁定的方法解決并且防止ARP欺騙。
1、首先,獲得網(wǎng)關(guān)的MAC地址。(在正常時,從上面可以看出172.16.102.1的MAC
地址是 00-0a-f3-6d-33-fc 。建議大家把自己網(wǎng)段網(wǎng)關(guān)的MAC地址記下來,免得在
出現(xiàn)問題時不知道本網(wǎng)段網(wǎng)關(guān)的MAC地址)
????2、然后在DOS命令下執(zhí)行以下兩條命令:
??????
???????1)先刪除現(xiàn)有的MAC-->IP對應(yīng)表:arp -d
???????2)設(shè)置靜態(tài)的網(wǎng)關(guān)MAC-->IP對應(yīng)表 : arp -s 網(wǎng)關(guān)ip 網(wǎng)關(guān)MAC
??????????如:arp -s 172.16.102.1 00-0a-f3-6d-33-fc
????
????執(zhí)行后的的情況如下:
??????????C:\Documents and Settings\Administrator>arp -a
???????????Interface: 172.16.102.155 on Interface 0x1000003
???????????Internet Address??????Physical Address??????Type
???????????172.16.102.1??????????00-0a-f3-6d-33-fc?????static (注意這里已變成
靜態(tài)的)??????
??????
為了省事,你還可以編寫一個批處理文件rarp.bat,讓計算機(jī)每次啟動時就執(zhí)行一
次,內(nèi)容如下:
@echo off
arp -d
arp -s 本網(wǎng)段網(wǎng)關(guān)ip 網(wǎng)關(guān)MAC
將文件中的網(wǎng)關(guān)IP地址和MAC地址更改為您自己的網(wǎng)關(guān)IP地址和MAC地址即可。
將這個批處理軟件拖到“windows--開始--程序--啟動”中。
?
總結(jié)
以上是生活随笔為你收集整理的ARP网关欺骗原理及解决办法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MariaDB数据库5-password
- 下一篇: docker数据持久化数据卷