国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

ARP攻擊和實現(xiàn)原理解析

2012-04-29 00:44:03季永煒
電腦知識與技術(shù) 2012年5期
關(guān)鍵詞:發(fā)送給網(wǎng)卡IP地址

季永煒

摘要:ARP是Address Resolution Protocol(地址轉(zhuǎn)換協(xié)議)的簡稱,是TCP/IP協(xié)議中網(wǎng)絡(luò)層中的協(xié)議之一。它的作用是完成IP地址和MAC(物理地址)間的地址轉(zhuǎn)換。

關(guān)鍵詞:

中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2012)05-1019-03

1 ARP概述

ARP(Address Resolution Protocol,地址解析協(xié)議)是一個位于TCP/IP協(xié)議棧中的網(wǎng)絡(luò)層協(xié)議,對應(yīng)于ISO七層協(xié)議的數(shù)據(jù)鏈路層,負責(zé)將IP地址進行解析,轉(zhuǎn)換成對應(yīng)的MAC地址。ARP協(xié)議的主要功能就是通過目標設(shè)備的IP地址,以緩存表和廣播的形式查詢目標設(shè)備的MAC地址,以保證通信的進行。

2 ARP與ARP緩存表

在以太網(wǎng)協(xié)議中規(guī)定,局域網(wǎng)中的主機進行通信時,必須知道目標主機的以太網(wǎng)地址(MAC地址),而在TCP/IP協(xié)議中,網(wǎng)絡(luò)層和傳輸層只關(guān)心IP地址,數(shù)據(jù)鏈路層并不能識別IP地址,通過MAC地址來傳輸數(shù)據(jù)包。因此,IP數(shù)據(jù)包在局域網(wǎng)內(nèi)部傳輸時通過識別主機的MAC地址進行轉(zhuǎn)發(fā)的。這就需要一種方法,可以根據(jù)主機的IP地址來獲取其MAC地址,二者之間存在一種對應(yīng)關(guān)系,這就需要ARP協(xié)議了。

ARP協(xié)議就是所謂的地址解析協(xié)議,主要是進行目標IP地址和目標MAC地址的轉(zhuǎn)換。具體的說,當(dāng)ARP工作時,首先請求主機會發(fā)送一個以太網(wǎng)數(shù)據(jù)包,數(shù)據(jù)包中含有目標主機的IP地址,然后目標主機接收到數(shù)據(jù)包后,會進行解析,獲得數(shù)據(jù)包中的IP地址,并用包含IP地址和MAC地址對應(yīng)關(guān)系的數(shù)據(jù)包來應(yīng)答。因此,請求主機就獲得了目標主機的MAC地址,并保存在ARP緩存表中。緩存表的管理采用了高效的老化機制,增加新的內(nèi)容的同時,會刪除使用少的數(shù)據(jù),這樣可以在不增加緩存表長度的同時加快查詢速度。

2.1冒充"中間人"——ARP欺騙原理

ARP是用來將IP地址解析為MAC地址,ARP欺騙簡單來說就是冒名頂替其他計算機的MAC地址,從而捕獲發(fā)送給其他主機的數(shù)據(jù)包信息。

由上可知,以太網(wǎng)內(nèi)部是依靠MAC地址來傳輸數(shù)據(jù)包的,每臺主機(包括網(wǎng)關(guān))在傳輸數(shù)據(jù)包都會使用自己保存的ARP緩存表,此表中包含著經(jīng)常使用的IP地址和MAC地址的對應(yīng)關(guān)系。一般情況下,ARP緩存表是有效的,在以太網(wǎng)通信時,可以保證其數(shù)據(jù)的傳輸。因此,當(dāng)兩臺主機通過網(wǎng)關(guān)進行數(shù)據(jù)傳輸時,其它的主機是不能捕獲到他們的通信信息的。

但是,這并意味這ARP協(xié)議的完善,相反,ARP協(xié)議有一個很大的弊端,那就是當(dāng)主機接收到ARP的應(yīng)答包后,不能驗證這個請求是否發(fā)送過,會用接收到的應(yīng)答包中與IP地址對應(yīng)的MAC地址來替換緩存表里的舊信息。因此,這個弊端就可以使一臺主機來捕獲其他主機主機之間的數(shù)據(jù)通信。

其具體過程是,首先,主機C向主機A發(fā)送ARP應(yīng)答包,包含IP地址192.168.2.1對應(yīng)的MAC地址是xx-xx-xx-xx-xx-01。主機A接收后不會去驗證收到的數(shù)據(jù)包,而是將自己緩存表中與IP地址192.168.2.1對應(yīng)的MAC地址替換成xx-xx-xx-xx-xx-01。與此同時,C也會向網(wǎng)關(guān)1發(fā)送同樣地ARP應(yīng)答包,包含IP地址192.168.3.1的MAC地址是xx-xx-xx-xx-xx-01。同樣,網(wǎng)關(guān)1會將自己緩存表中與IP地址192.168.3.1對應(yīng)的MAC地址替換成xx-xx-xx-xx-xx-01。

這樣,主機A的ARP緩存表就發(fā)生了改變,當(dāng)主機A和主機B進行數(shù)據(jù)通信時,它把應(yīng)該發(fā)送給網(wǎng)關(guān)1(192.168.3.1)的數(shù)據(jù)包發(fā)送到主機C(xx-xx-xx-xx-xx-01)。C接收到數(shù)據(jù)包后,再轉(zhuǎn)發(fā)給網(wǎng)關(guān)1。當(dāng)B發(fā)送的數(shù)據(jù)包傳輸?shù)骄W(wǎng)關(guān)1后,網(wǎng)關(guān)1經(jīng)過ARP解析,將本該發(fā)送給192.168.3.1的數(shù)據(jù)包,發(fā)送給主機C(xx-xx-xx-xx-xx-01),C收到數(shù)據(jù)包后,經(jīng)過ARP解析,傳輸給主機A,完成了A與B的成功通信。主機C利用ARP協(xié)議的缺陷進行了ARP欺騙,捕獲了其傳輸?shù)臄?shù)據(jù)。

因此,主機B欺騙了網(wǎng)關(guān)1,讓網(wǎng)關(guān)1以為主機B是主機A,同時,主機B又欺騙了主機A,讓主機A以為主機B是網(wǎng)關(guān)1。主機B同時對主機A和網(wǎng)關(guān)1進行欺騙,充當(dāng)"中間人",捕獲了主機A與網(wǎng)關(guān)1之間的數(shù)據(jù)交換內(nèi)容。

要想實現(xiàn)有效的ARP欺騙,最終的就是必須進行雙向欺騙。欺騙者不但要欺騙網(wǎng)關(guān),也應(yīng)欺騙主機。只有兩者都被欺騙,欺騙者才能捕獲到所需要的信息,否則只是徒勞。

2.2 ARP欺騙的代碼實現(xiàn)

3 WinPcap簡述

WinPcap是基于Win32平臺,可以成功捕獲數(shù)據(jù)包,并有效進行網(wǎng)絡(luò)分析的體系結(jié)構(gòu)。WinPcap可以完成很多功能,其核心主要有幾下機電:

1)有效捕獲數(shù)據(jù)通信的原始數(shù)據(jù)包,包括主機之間和其他設(shè)備(共享媒介)上進行交換的數(shù)據(jù)包;

2)在數(shù)據(jù)包發(fā)送給某應(yīng)用程序前,根據(jù)自定義的規(guī)則過濾數(shù)據(jù)包;

3)在網(wǎng)絡(luò)上發(fā)送原始的數(shù)據(jù)包;

4)收集網(wǎng)絡(luò)數(shù)據(jù)通信中的統(tǒng)計信息。

只有在Win32內(nèi)核中安裝網(wǎng)絡(luò)設(shè)備驅(qū)動程序,并增加需要的動態(tài)鏈接庫DLL,才能實現(xiàn)上述的功能。

WinPcap包括了一個內(nèi)核級的數(shù)據(jù)包過濾器,一個低層動態(tài)鏈接庫(packet.dll),一個高層的,依賴于系統(tǒng)的庫(wpcap.dll)。

3.1 ARP攻擊核心函數(shù)的實現(xiàn)

根據(jù)前面幾節(jié)闡述的ARP攻擊原理,我們首先需要構(gòu)建一個函數(shù)用于實現(xiàn)對ARP緩存的操作如圖1所示其中部分以太網(wǎng)和ARP等協(xié)議數(shù)據(jù)結(jié)構(gòu)形式構(gòu)建不在此闡述。

圖1

參考WinPcap例子構(gòu)建函數(shù)用于打開相應(yīng)的網(wǎng)卡句柄,然后設(shè)置網(wǎng)卡的類型為混雜模式,使網(wǎng)卡能接受以太網(wǎng)上的廣播數(shù)據(jù)包,函數(shù)代碼實現(xiàn)如圖2所示。

圖2

3.2 Sniffer定位ARP欺騙主機

ARP欺騙主機的查找

首先搭建實驗環(huán)境如圖3所示。

圖3

其中紅色標記為欺騙主機,按照ARP欺騙的基本原理,數(shù)據(jù)包應(yīng)通過紅色主機轉(zhuǎn)發(fā),所以大量數(shù)據(jù)包都集中在紅色的攻擊主機上。通過數(shù)據(jù)抓包如圖4所示(圖中單位內(nèi)部服務(wù)器地址清除)。

圖4

通過上圖分析192.168.0.144流量存在異常,同理通過MAC地址流量圖也可以發(fā)現(xiàn)00-21-98-11-33-56也存在流量異常;再次通過192.168.0.96截獲的數(shù)據(jù)包可以發(fā)現(xiàn)數(shù)據(jù)都是通過192.168.0.144和00-21-98-11-33-56轉(zhuǎn)發(fā)的,因此可以基本判斷紅色機器為ARP攻擊主機。

在局域網(wǎng)中任意兩臺計算機之間的通信,或者局域網(wǎng)中的計算機將IP數(shù)據(jù)包轉(zhuǎn)發(fā)給網(wǎng)關(guān)設(shè)備時,網(wǎng)卡先在緩存中查找目標IP地址相對應(yīng)的MAC(物理地址),以填充物理幀的目的地址。ARP欺騙和攻擊正是利用了這一點,將自身的MAC地址填入正常的ARP協(xié)議緩存表中,從而達到欺騙和攻擊的目的。通過將IP地址和MAC地址進行靜態(tài)綁定是有效防范ARP攻擊的方法之一。

參考文獻:

[1]李濤.網(wǎng)絡(luò)安全概論[M].北京:電子工業(yè)出版社,2004;

[2]郝文江,李玉霞.基于計算機技術(shù)對涉密信息的保護[J].通信技術(shù),2007(12).

猜你喜歡
發(fā)送給網(wǎng)卡IP地址
在DDS 中間件上實現(xiàn)雙冗余網(wǎng)卡切換的方法
上學(xué)路上好風(fēng)景
鐵路遠動系統(tǒng)幾種組網(wǎng)方式IP地址的申請和設(shè)置
Server 2016網(wǎng)卡組合模式
基于SNMP的IP地址管理系統(tǒng)開發(fā)與應(yīng)用
黑龍江電力(2017年1期)2017-05-17 04:25:16
公告
挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
瘋狂猜圖之側(cè)顏你猜猜猜
我的錄夢機
通過QQ郵件查看好友IP地址
枣阳市| 林口县| 应用必备| 宾阳县| 凤庆县| 田东县| 宣化县| 安平县| 时尚| 资兴市| 迁安市| 察隅县| 卢氏县| 昂仁县| 抚松县| 宝兴县| 蓬溪县| 镇安县| 阳泉市| 扎兰屯市| 盘山县| 信丰县| 颍上县| 潜山县| 吴江市| 东城区| 镇雄县| 桂阳县| 开化县| 临汾市| 保山市| 蕲春县| 溧阳市| 新丰县| 任丘市| 安乡县| 保德县| 富锦市| 长治县| 汾西县| 新昌县|