基于ETHERNET的網(wǎng)絡(luò)監(jiān)聽以及ARP欺騙_第1頁
基于ETHERNET的網(wǎng)絡(luò)監(jiān)聽以及ARP欺騙_第2頁
基于ETHERNET的網(wǎng)絡(luò)監(jiān)聽以及ARP欺騙_第3頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

基于ETHERNET的網(wǎng)絡(luò)監(jiān)聽以及ARP欺騙

1引言網(wǎng)絡(luò)監(jiān)聽,亦稱為網(wǎng)絡(luò)嗅探,是利用計算機的網(wǎng)絡(luò)接口監(jiān)視并查看網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)包的一種技術(shù)。它工作在網(wǎng)絡(luò)的底層,能夠把網(wǎng)絡(luò)中傳輸?shù)娜繑?shù)據(jù)記錄下來。監(jiān)聽器(sniffer)不僅可以幫助網(wǎng)絡(luò)管理員查找網(wǎng)絡(luò)漏洞和檢測網(wǎng)絡(luò)性能,還可以分析網(wǎng)絡(luò)的流量,以便找出網(wǎng)絡(luò)中存在的潛在問題。不同傳輸介質(zhì)的網(wǎng)絡(luò),其可監(jiān)聽性是不同的。但一般說來,以太網(wǎng)、FDDIToken、微波和無線網(wǎng)絡(luò)都有很高的可能性被監(jiān)聽。實際應(yīng)用中的sniffer分軟、硬兩種。軟件監(jiān)聽器便宜,易于使用,缺點是往往無法抓取網(wǎng)絡(luò)上所有的傳輸數(shù)據(jù)(比如碎片),也就可能無法全面了解網(wǎng)絡(luò)的故障和運行情況;硬件監(jiān)聽器通常稱為協(xié)議分析儀,它的優(yōu)點恰恰是軟件監(jiān)聽器所欠缺的,但是價格昂貴。目前主要使用的是軟件監(jiān)聽器代寫論文。2網(wǎng)絡(luò)監(jiān)聽的原理在以太網(wǎng)中,所有的通訊都是“廣播”式的,也就是說通常同一個網(wǎng)段的所有網(wǎng)絡(luò)接口都可以訪問在信道上傳輸?shù)乃袛?shù)據(jù)。在一個實際系統(tǒng)中,數(shù)據(jù)的收發(fā)是由網(wǎng)卡來完成,每個網(wǎng)卡都有一個唯一的MAC地址。網(wǎng)卡接收到傳輸來的數(shù)據(jù)以后,網(wǎng)卡內(nèi)的單片程序檢查數(shù)據(jù)幀的目的MAC地址,根據(jù)計算機上的網(wǎng)卡驅(qū)動程序設(shè)置的接收模式來判斷該不該接收該幀。若認(rèn)為應(yīng)該接收,則接收后產(chǎn)生中斷信號通知CPU,若認(rèn)為不該接收則丟棄不管。正常情況下,網(wǎng)卡應(yīng)該只是接收發(fā)往自身的數(shù)據(jù)包,或者廣播和組播報文,對不屬于自己的報文則不予響應(yīng)。可如果網(wǎng)卡處于混雜模式,那么它就能接收一切流經(jīng)它的數(shù)據(jù),而不管該數(shù)據(jù)幀的目的地址是否是該網(wǎng)卡。因此,只要將網(wǎng)卡設(shè)置成混雜模式(promiscuous),那么它就可以捕獲網(wǎng)絡(luò)上所有的報文和幀,這樣也就達(dá)到了網(wǎng)絡(luò)監(jiān)聽的目的。由此可見,網(wǎng)絡(luò)監(jiān)聽必須要滿足兩個條件:①網(wǎng)絡(luò)上的通訊是廣播型的。②網(wǎng)卡應(yīng)設(shè)置為混雜模式。這在傳統(tǒng)的以太網(wǎng)中是滿足的。因為傳統(tǒng)的以太網(wǎng)是共享型的,所有的主機都連接到HUB,而HUB對數(shù)據(jù)包的傳輸形式是廣播。這意味著發(fā)給某個主機的數(shù)據(jù)包也會被其它所有主機的網(wǎng)卡所收到。因此在這樣的環(huán)境中,任何設(shè)置成混雜模式的主機,都可以捕獲發(fā)送給其它主機的數(shù)據(jù)包,從而竊聽網(wǎng)絡(luò)上的所有通信。可如今,隨著交換機的廣泛使用,更多的以太網(wǎng)是屬于交換型的。所有的主機都連接到SWITCH,對于發(fā)給某個特定主機的數(shù)據(jù)包會被SWITCH從特定的端口送出,而不是像HUB那樣,廣播給網(wǎng)絡(luò)上所有的機器。這種傳輸形式使得交換型以太網(wǎng)的性能大大提高,但同時也破壞了網(wǎng)絡(luò)監(jiān)聽的第一個前提條件,使得上文中所述的傳統(tǒng)網(wǎng)絡(luò)監(jiān)聽器無法工作。因此,在交換網(wǎng)絡(luò)中進行網(wǎng)絡(luò)監(jiān)聽面臨的一個主要問題就是:如何使本不應(yīng)到達(dá)的數(shù)據(jù)包到達(dá)本網(wǎng)段。通常的解決方法主要有兩種,一種是ARP欺騙(ARPSpoof),另一種就是MAC水包(MACFlooding)。其中MACFlooding就是指向交換機發(fā)送大量含有虛假MAC地址和IP地址的IP包,從而使得交換機內(nèi)部的地址表“溢出”,進入所謂的“打開失效”模式,迫使SWITCH以類似于HUB的廣播方式工作,向網(wǎng)絡(luò)上所有的機器廣播數(shù)據(jù)包。本文將要詳細(xì)分析ARP欺騙模式。3ARP欺騙3.1ARP(AddressResolutionProtocol)的工作機制在以太網(wǎng)中傳輸?shù)臄?shù)據(jù)包是以太包,而以太包是依據(jù)其首部的MAC地址來進行尋址的。發(fā)送方必須知道目的主機的MAC地址才能向其發(fā)送數(shù)據(jù)。ARP協(xié)議的作用就在于把邏輯地址轉(zhuǎn)換成物理地址,也即是把32bit的IP地址變換成48bit的以太網(wǎng)地址。為避免頻繁發(fā)送ARP包進行尋址,每臺主機都有一個ARP高速緩存,其中記錄了最近一段時間內(nèi)其它IP地址與其MAC地址的對應(yīng)關(guān)系。如果本機想與某臺主機通信,則首先在ARP緩存中查找這臺主機的IP和MAC信息,若存在,則直接利用此MAC地址構(gòu)造以太包;若不存在,則向網(wǎng)絡(luò)上廣播一個ARP請求包。目的主機收到此請求包后,發(fā)送一個ARP應(yīng)答包。本機收到此應(yīng)答包后,把相關(guān)信息記錄在ARP高速緩存中,然后再進行發(fā)送。由此可見,ARP協(xié)議是有缺陷的。一臺惡意的主機可以構(gòu)造一個ARP欺騙包,而源主機卻無法分辨真假。3.2相關(guān)協(xié)議的幀格式為了論述的簡潔性,文中我們對以太網(wǎng)中ARP幀格式做如3.3ARPSpoof原理實驗環(huán)境如下圖所示:在這個交換網(wǎng)絡(luò)中有四臺PC,其中HostD試圖進行ARP欺騙來監(jiān)聽HostA的數(shù)據(jù)流。假設(shè)主機A要與主機B通信,但A在其ARP緩存中沒有找到有關(guān)主機B的MAC信息。于是,主機A發(fā)出ARP請求包:正常情況下,主機B回應(yīng)一個ARP應(yīng)答包:但同時,主機D也監(jiān)聽到了ARP請求包,隨后它也發(fā)出了一個偽造的ARP應(yīng)答包:這樣,主機A就收到了兩個ARP應(yīng)答包,一個來自主機B,一個來自主機D。當(dāng)A收到主機B的ARP應(yīng)答包后的一段時間,其ARP表確實會正確記錄著B的IP-to-MACmapping表項。但隨后,它收到了D的ARP包,并且它也仍然認(rèn)為這是正確的。于是,它修改自己緩存中的ARP表。此后,若A向B發(fā)送數(shù)據(jù),則數(shù)據(jù)實際上是流向D。同理,主機D也可以對主機B進行欺騙,使流向A的數(shù)據(jù)流向D,并且啟用自己的數(shù)據(jù)轉(zhuǎn)發(fā)功能,充當(dāng)man-in-middle,這樣,主機D就達(dá)到了監(jiān)聽主機A通訊的目的。3.4程序處理流程下面給出了程序的處理流程。(1)獲取目的主機A的IP,并將它和本機IP、本機MAC地址分別保存到dst_ip,own_ip,own_mac中。(2)向主機A發(fā)出正常的ARP請求包,以得到dst_mac。(3)初始化數(shù)據(jù)鏈路,將NIC置為promiscuous模式。(4)進入主循環(huán),開始監(jiān)聽數(shù)據(jù)包,置flag=0。(5)取出一個包,檢查是否是Ethernet類型的ARP包,若不是,轉(zhuǎn)步驟(10)。再比較發(fā)送端IP地址或接收端IP地址是否等于own_ip,若是,轉(zhuǎn)步驟(10)。否則繼續(xù)。(6)檢查發(fā)送端IP地址,若等于dst_ip,則置flag=1,記錄下接收端IP地址sec_ip,然后向此接收端(主機B)發(fā)出正常的ARP請求包,以得到sec_mac。(7)若flag=0,檢查接收端IP地址,若等于dst_ip,則置flag=-1,記錄下發(fā)送端IP地址sec_ip,以及發(fā)送端MAC地址sec_mac。(8)若flag=1,則用dst_ip,dst_mac,sec_ip,own_mac偽造針對主機A的ARP應(yīng)答包,生成一個Ethernet報頭,將其發(fā)送出去。接著,用sec_ip,sec_mac,dst_ip,own_mac偽造針對主機B的ARP包,并將此ARP包中可選域置為空,生成一個Ethernet報頭,將其發(fā)送出去。(9)若flag=-1,則用sec_ip,sec_mac,dst_ip,own_mac偽造針對主機B的ARP應(yīng)答包,生成一個Ethernet報頭,將其發(fā)送出去。接著,用dst_ip,dst_mac,sec_ip,own_mac偽造針對主機A的ARP包,并將此ARP包中可選域置為空,生成一個Eth-ernet報頭,將其發(fā)送出去。(10)轉(zhuǎn)入步驟(4),繼續(xù)監(jiān)聽數(shù)據(jù)包。對此流程,有以下幾點需要補充說明:·為了能讓主機A和B正常通信,應(yīng)在運行此程序之前打開主機D上的數(shù)據(jù)轉(zhuǎn)發(fā)功能。·因為是在交換網(wǎng)絡(luò)中,所以只能監(jiān)聽到ARP請求包,而3.5程序結(jié)果分析本程序在交換網(wǎng)絡(luò)中能夠很好的完成欺騙的任務(wù),讓本不應(yīng)到達(dá)的數(shù)據(jù)包到達(dá)本網(wǎng)段,從而使得在交換網(wǎng)絡(luò)中進行網(wǎng)絡(luò)監(jiān)聽成為可能。從中我們也可以看出,許多傳統(tǒng)的網(wǎng)絡(luò)協(xié)議的實現(xiàn)都是建立一種非常友好的,通信雙方充分信任的基礎(chǔ)之上。這樣,就給了很多別有用心的網(wǎng)絡(luò)使用者一些可乘之機。為此,在這里也想根據(jù)我們的實踐經(jīng)驗對如何防范交換網(wǎng)絡(luò)中的監(jiān)聽提出一些參考意見。第一,使用靜態(tài)ARP表。從我們的實驗可以看出,如果目的主機A采用的是靜態(tài)ARP表,則我們所做的欺騙就會失效。因此,在網(wǎng)絡(luò)結(jié)構(gòu)比較固定,網(wǎng)絡(luò)規(guī)模比較小的情況下,我們可以在重要的主機或工作站上通過設(shè)置靜態(tài)ARP表的方法來防止網(wǎng)絡(luò)監(jiān)聽。第二,會話加密。我們不應(yīng)把網(wǎng)絡(luò)安全信任關(guān)系建立在IP地址或硬件MAC地址的基礎(chǔ)上。而是應(yīng)該對所傳輸?shù)闹匾獢?shù)據(jù)事先進行加密,再開始傳輸。這樣,即使我們傳輸?shù)臄?shù)據(jù)被惡意主機監(jiān)聽到,它也無法獲取切實有用的信息。第三,主動地檢測網(wǎng)絡(luò)嗅探器。上面的兩種方法都是比較被動的方法,我們也可以主動出擊,來檢查網(wǎng)絡(luò)中是否存在網(wǎng)絡(luò)嗅探器?!RP包進行檢查,看是否經(jīng)常出現(xiàn)類似的ARP請求。這可以借鑒網(wǎng)絡(luò)的異常檢測方法。通過建立異常檢測模型,來對網(wǎng)絡(luò)上的ARP請求包進行實時的監(jiān)測分析?!ねㄟ^測量網(wǎng)絡(luò)和主機的響應(yīng)時間,網(wǎng)絡(luò)通訊的丟包率,以及網(wǎng)絡(luò)帶寬來看是否出現(xiàn)了反常。4結(jié)論本文介紹了網(wǎng)絡(luò)監(jiān)聽的基本原理,并特別針對如何在交換網(wǎng)絡(luò)的環(huán)境中的監(jiān)聽進行了詳細(xì)討論。由此,可以發(fā)現(xiàn)ARP協(xié)議的一些漏洞,并針對這些漏洞進行了ARP欺騙的實驗。實驗結(jié)果表明,將傳統(tǒng)的集線器升級為交換機,雖然能夠增加網(wǎng)絡(luò)監(jiān)聽的難度,但仍然無法

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論