ARP欺骗原理与模拟
ARP欺騙原理與模擬
本文只是協(xié)議學(xué)習(xí)中的心得,所示范的試驗(yàn)方法僅用作學(xué)習(xí)的目的,請大家不要惡意使用
一 什么是ARP協(xié)議?
ARP協(xié)議是“Address Resolution Protocol”(地址解析協(xié)議)的縮寫。在局域網(wǎng)中,網(wǎng)絡(luò)中實(shí)際傳輸?shù)氖恰皫?#xff0c;幀里面是有目標(biāo)主機(jī)的MAC地址的。在以太網(wǎng)中,一個(gè)主機(jī)要和另一個(gè)主機(jī)進(jìn)行直接通信,必須要知道目標(biāo)主機(jī)的MAC地址。但這個(gè)目標(biāo)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é)議的協(xié)議層。這也是為什么ARP欺騙更能夠讓人在神不知鬼不覺的情況下出現(xiàn)網(wǎng)絡(luò)故障,他的危害更加隱蔽。
二 ARP欺騙的原理:
首先我們可以肯定一點(diǎn)的就是發(fā)送ARP欺騙包是通過一個(gè)惡毒的程序自動(dòng)發(fā)送的,正常的TCP/IP網(wǎng)絡(luò)是不會(huì)有這樣的錯(cuò)誤包發(fā)送的,而人工發(fā)送又比較麻煩。也就是說當(dāng)黑客沒有運(yùn)行這個(gè)惡毒程序的話,網(wǎng)絡(luò)上通信應(yīng)該是一切正常的,保留在各個(gè)連接網(wǎng)絡(luò)計(jì)算機(jī)上的ARP緩存表也應(yīng)該是正確的,只有程序啟動(dòng)開始發(fā)送錯(cuò)誤ARP信息以及ARP欺騙包時(shí)才會(huì)讓某些計(jì)算機(jī)訪問網(wǎng)絡(luò)出現(xiàn)問題。接下來我們來闡述下ARP欺騙的原理。
第一步:假設(shè)這樣一個(gè)網(wǎng)絡(luò),一個(gè)Hub或交換機(jī)連接了3臺(tái)機(jī)器,依次是計(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ì)算機(jī)上運(yùn)行ARP -A查詢ARP緩存表應(yīng)該出現(xiàn)如下信息。
| Interface: 192.168.1.1 on Interface 0x1000003 |
第三步:在計(jì)算機(jī)B上運(yùn)行ARP欺騙程序,來發(fā)送ARP欺騙包。
B向A發(fā)送一個(gè)自己偽造的ARP應(yīng)答,而這個(gè)應(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)答,就會(huì)更新本地的ARP緩存(A可不知道被偽造了)。而且A不知道其實(shí)是從B發(fā)送過來的,A這里只有192.168.10.3(C的IP地址)和無效的DD-DD-DD-DD-DD-DD mac地址。
第四步:欺騙完畢我們在A計(jì)算機(jī)上運(yùn)行ARP -A來查詢ARP緩存信息。你會(huì)發(fā)現(xiàn)原來正確的信息現(xiàn)在已經(jīng)出現(xiàn)了錯(cuò)誤。
| Interface: 192.168.1.1 on Interface 0x1000003 |
從上面的介紹我們可以清楚的明白原來網(wǎng)絡(luò)中傳輸數(shù)據(jù)包最后都是要根據(jù)MAC地址信息的,也就是說雖然我們?nèi)粘Mㄓ嵍际峭ㄟ^IP地址,但是最后還是需要通過ARP協(xié)議進(jìn)行地址轉(zhuǎn)換,將IP地址變?yōu)镸AC地址。而上面例子中在計(jì)算機(jī)A上的關(guān)于計(jì)算機(jī)C的MAC地址已經(jīng)錯(cuò)誤了,所以即使以后從A計(jì)算機(jī)訪問C計(jì)算機(jī)這個(gè)192.168.1.3這個(gè)地址也會(huì)被ARP協(xié)議錯(cuò)誤的解析成MAC地址為DD-DD-DD-DD-DD-DD的。問題也會(huì)隨著ARP欺騙包針對網(wǎng)關(guān)而變本加厲,當(dāng)局域網(wǎng)中一臺(tái)機(jī)器,反復(fù)向其他機(jī)器,特別是向網(wǎng)關(guān),發(fā)送這樣無效假冒的ARP應(yīng)答信息包時(shí),嚴(yán)重的網(wǎng)絡(luò)堵塞就會(huì)開始。由于網(wǎng)關(guān)MAC地址錯(cuò)誤,所以從網(wǎng)絡(luò)中計(jì)算機(jī)發(fā)來的數(shù)據(jù)無法正常發(fā)到網(wǎng)關(guān),自然無法正常上網(wǎng)。這就造成了無法訪問外網(wǎng)的問題,另外由于很多時(shí)候網(wǎng)關(guān)還控制著我們的局域網(wǎng)LAN上網(wǎng),所以這時(shí)我們的LAN訪問也就出現(xiàn)問題了。
(以上2節(jié)內(nèi)容摘抄于網(wǎng)絡(luò))
三 ARP欺騙的模擬:
下面我們使用科來網(wǎng)絡(luò)分析系統(tǒng)進(jìn)行模擬
一 首先使用 科來物理地址掃描 主機(jī)ip與mac地址
219.150.184.46 00:0C:76:20:0F:23
219.150.184.39 00:16:76:C2:BF:84
219.150.184.33 00:E0:FC:12:D0:19
二 使用科來網(wǎng)絡(luò)分析系統(tǒng)捕獲一個(gè)arp的響應(yīng)數(shù)據(jù)包
這里最簡單的辦法就是用ping命令去ping一臺(tái)主機(jī),在科來網(wǎng)絡(luò)分析系統(tǒng)系統(tǒng)中設(shè)置過濾器僅捕獲arp協(xié)議
三 把捕獲到的arp相應(yīng)發(fā)送到數(shù)據(jù)包茍照構(gòu)造器并進(jìn)行如下修改
四 呵呵,剩下的就是把這個(gè)數(shù)據(jù)包發(fā)送出去了,
發(fā)送前用arp –a命令在219.150.184.46上看一下
這是正確的網(wǎng)關(guān)的ip與mac的對應(yīng)關(guān)系
好了,現(xiàn)在我們就把構(gòu)造的數(shù)據(jù)包發(fā)送出去
發(fā)送后在用arp –a命令在219.150.184.46上看一下
ok,219.150.184.46上面的網(wǎng)關(guān)的ip地址已經(jīng)被映射到了我們的主機(jī)上了,你再用219.150.184.46去試下,是不是不能上網(wǎng)了?!呵呵!
總結(jié)
以上是生活随笔為你收集整理的ARP欺骗原理与模拟的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows下进程间通信的(13种方法
- 下一篇: 二分查找算法的两种实现方式:非递归实现和