二、活躍在局域網(wǎng)里的“耳朵”們 由于前面說過的原因,嗅探技術(shù)不太能在公共網(wǎng)絡(luò)設(shè)備上使用(僅指入侵行為的安裝方式,因?yàn)榫W(wǎng)絡(luò)管理員要在某個(gè)路由設(shè)備上設(shè)置監(jiān)聽是簡(jiǎn)單的事情),所以當(dāng)今最普遍的嗅探行為并不是發(fā)生在Internet上的,而是各個(gè)或大或小的局域網(wǎng),因?yàn)樗茱@然滿足監(jiān)聽技術(shù)需要的條件:監(jiān)聽方與通訊方位于同一物理網(wǎng)絡(luò)。 1.寫在前面:局域網(wǎng)內(nèi)計(jì)算機(jī)通訊的概念和尋址 要發(fā)生監(jiān)聽事件,就必須有至少兩臺(tái)計(jì)算機(jī)處于通訊狀態(tài),而監(jiān)聽的實(shí)質(zhì)也是數(shù)據(jù)的傳輸,這就要求竊聽者自身也處于通訊網(wǎng)絡(luò)中,而實(shí)現(xiàn)局域網(wǎng)通訊的基礎(chǔ)是以太網(wǎng)模型(Ethernet),它包括物理上的數(shù)據(jù)傳輸設(shè)備如網(wǎng)卡、集線器和交換機(jī)等,除此之外還需要邏輯上的軟件、網(wǎng)絡(luò)協(xié)議和操作系統(tǒng)支持,如網(wǎng)卡驅(qū)動(dòng)程序、TCP/IP協(xié)議、NetBIOS協(xié)議、多種尋址和底層協(xié)議等,具備了這些條件,計(jì)算機(jī)才可以實(shí)現(xiàn)完整的通訊過程。 那么局域網(wǎng)內(nèi)的計(jì)算機(jī)通訊是怎么進(jìn)行的呢?計(jì)算機(jī)系統(tǒng)要傳輸數(shù)據(jù)時(shí),是嚴(yán)格按照IEEE802.3標(biāo)準(zhǔn)的局域網(wǎng)協(xié)議進(jìn)行的,而且還要結(jié)合TCP/IP和OSI模型7層規(guī)范實(shí)施,所以數(shù)據(jù)是經(jīng)過打包封裝的,從高層到低層被分別加上相關(guān)數(shù)據(jù)頭和地址,直至物理層把其轉(zhuǎn)化為電平信號(hào)傳送出去,而另一臺(tái)計(jì)算機(jī)則是通過逆向操作把數(shù)據(jù)還原的,這就引發(fā)了一個(gè)問題:尋址問題。 在局域網(wǎng)里,計(jì)算機(jī)要查找彼此并不是通過IP進(jìn)行的,而是通過網(wǎng)卡MAC地址(也被稱為以太網(wǎng)地址),它是一組在生產(chǎn)時(shí)就固化的全球唯一標(biāo)識(shí)號(hào),根據(jù)協(xié)議規(guī)范,當(dāng)一臺(tái)計(jì)算機(jī)要查找另一臺(tái)計(jì)算機(jī)時(shí),它必須把目標(biāo)計(jì)算機(jī)的IP通過ARP協(xié)議(地址解析協(xié)議)在物理網(wǎng)絡(luò)中廣播出去,“廣播”是一種讓任意一臺(tái)計(jì)算機(jī)都能收到數(shù)據(jù)的數(shù)據(jù)發(fā)送方式,計(jì)算機(jī)收到數(shù)據(jù)后就會(huì)判斷這條信息是不是發(fā)給自己的,如果是,就會(huì)返回應(yīng)答,在這里,它會(huì)返回自身地址,這一步被稱為“ARP尋址”。當(dāng)源計(jì)算機(jī)收到有效的回應(yīng)時(shí),它就得知了目標(biāo)計(jì)算機(jī)的MAC地址并把結(jié)果保存在系統(tǒng)的地址緩沖池里,下次傳輸數(shù)據(jù)時(shí)就不需要再次發(fā)送廣播了,這個(gè)地址緩沖池會(huì)定時(shí)刷新重建,以免造成數(shù)據(jù)老舊和錯(cuò)誤。當(dāng)前活動(dòng)的ARP表可以使用arp –a命令查看。 話題回到數(shù)據(jù)被打包成為比特流的最后兩層,在這里有一個(gè)關(guān)鍵部分被稱為“數(shù)據(jù)鏈路層”,數(shù)據(jù)在網(wǎng)絡(luò)層形成IP數(shù)據(jù)報(bào),再向下到達(dá)數(shù)據(jù)鏈路層,由數(shù)據(jù)鏈路層將IP數(shù)據(jù)報(bào)分割為數(shù)據(jù)幀,增加以太網(wǎng)包頭,再向下一層發(fā)送。以太網(wǎng)包頭中包含著本機(jī)和目標(biāo)設(shè)備的MAC地址,也就是說,鏈路層的數(shù)據(jù)幀發(fā)送時(shí),是依靠以太網(wǎng)地址而非IP地址來確認(rèn)的,網(wǎng)卡驅(qū)動(dòng)程序不會(huì)關(guān)心IP數(shù)據(jù)報(bào)中的目標(biāo)地址,它所需要的僅僅是MAC地址,而MAC地址就是通過前面提到的ARP尋址獲得的。簡(jiǎn)單的說,數(shù)據(jù)在局域網(wǎng)內(nèi)的最終傳輸目標(biāo)地址是對(duì)方網(wǎng)卡的MAC地址,而不是IP地址,IP地址在局域網(wǎng)里只是為了協(xié)助系統(tǒng)找到MAC地址而已。 而就是因?yàn)檫@個(gè)尋址結(jié)構(gòu),最終導(dǎo)致了監(jiān)聽實(shí)現(xiàn)的發(fā)生。 那么,發(fā)生在Internet上的監(jiān)聽又是怎么進(jìn)行的呢?Internet并不采用MAC地址尋址,因此不可能發(fā)生類似局域網(wǎng)內(nèi)的監(jiān)聽案例,實(shí)際上,Internet上的監(jiān)聽是因?yàn)閿?shù)據(jù)必須通過的路由網(wǎng)關(guān)路由設(shè)備被做了手腳,不屬于本文討論范圍。 2.發(fā)生在共享式局域網(wǎng)內(nèi)的竊聽 所謂的“共享式”局域網(wǎng)(Hub-Based Lan),指的是早期采用集線器HUB作為網(wǎng)絡(luò)連接設(shè)備的傳統(tǒng)以太網(wǎng)的結(jié)構(gòu),在這個(gè)結(jié)構(gòu)里,所有機(jī)器都是共享同一條傳輸線路的,集線器沒有端口的概念,它的數(shù)據(jù)發(fā)送方式是“廣播”, 集線器接收到相應(yīng)數(shù)據(jù)時(shí)是單純的把數(shù)據(jù)往它所連接的每一臺(tái)設(shè)備線路上發(fā)送的,例如一臺(tái)機(jī)器發(fā)送一條“我要和小金說話”的報(bào)文,那么所有連接這個(gè)集線器的設(shè)備都會(huì)收到這條報(bào)文,但是只有名字為“小金”的計(jì)算機(jī)才會(huì)接收處理這條報(bào)文,而其他無關(guān)的計(jì)算機(jī)則會(huì)“不動(dòng)聲色”的拋棄掉該報(bào)文。因此,共享以太網(wǎng)結(jié)構(gòu)里的數(shù)據(jù)實(shí)際上是沒有隱私性的,只是網(wǎng)卡會(huì)“君子”化的忽略掉與自己無關(guān)的“閑言碎語(yǔ)”罷了,但是很不巧,網(wǎng)卡在設(shè)計(jì)時(shí)是加入了“工作模式”的選項(xiàng)的,正是這個(gè)特性導(dǎo)致了噩夢(mèng)。 每塊網(wǎng)卡基本上都會(huì)有以下工作模式:Unicast、Broadcast、Multicast、Promiscuous,一般情況下,操作系統(tǒng)會(huì)把網(wǎng)卡設(shè)置為Broadcast(廣播)模式,在Broadcast模式下,網(wǎng)卡可以接收所有類型為廣播報(bào)文的數(shù)據(jù)幀——例如ARP尋址,此外它會(huì)忽略掉目標(biāo)地址并非自己MAC地址的報(bào)文,即只接收發(fā)往自身的數(shù)據(jù)報(bào)文、廣播和組播報(bào)文,這才是網(wǎng)卡的正常工作模式;如果一塊網(wǎng)卡被設(shè)置為Unicast或Multicast模式,在局域網(wǎng)里可能會(huì)引發(fā)異常,因?yàn)檫@兩個(gè)模式限制了它的接收?qǐng)?bào)文類型;而Promiscuous(混雜)模式,則是罪惡的根源。在混雜模式里,網(wǎng)卡對(duì)報(bào)文中的目標(biāo)MAC地址不加任何檢查而全部接收,這樣就造成無論什么數(shù)據(jù),只要是路過的都會(huì)被網(wǎng)卡接收的局面,監(jiān)聽就是從這里開始的。 一般情況下,網(wǎng)卡的工作模式是操作系統(tǒng)設(shè)置好的,而且沒有公開模式給用戶選擇,這就限制了普通用戶的監(jiān)聽實(shí)現(xiàn),但是自從嗅探器(Sniffer)家族發(fā)展到一定程度后,開始擁有了設(shè)置網(wǎng)卡工作模式的權(quán)力,而且矛頭直指Promiscuous,任何用戶只要在相應(yīng)選擇上打個(gè)勾,他的機(jī)器就變成了可以記錄局域網(wǎng)內(nèi)任何機(jī)器傳輸?shù)臄?shù)據(jù)的耳朵,由于共享式局域網(wǎng)的特性,所有人都是能收到數(shù)據(jù)的,這就造成了不可防御的信息泄漏。 可是,最終這種監(jiān)聽方式還是被基本消滅了,人們用了什么手段呢?很簡(jiǎn)單,局域網(wǎng)結(jié)構(gòu)升級(jí)了,變成“交換式局域網(wǎng)”。 但是魔高一丈,若干年后,監(jiān)聽再次卷土重來。 3.發(fā)生在交換式局域網(wǎng)內(nèi)的竊聽 作為與“共享式”相對(duì)的“交換式”局域網(wǎng)(Switched Lan),它的網(wǎng)絡(luò)連接設(shè)備被換成了交換機(jī)(Switch),交換機(jī)比集線器聰明的一點(diǎn)是它連接的每臺(tái)計(jì)算機(jī)是獨(dú)立的,交換機(jī)引入了“端口”的概念,它會(huì)產(chǎn)生一個(gè)地址表用于存放每臺(tái)與之連接的計(jì)算機(jī)的MAC地址,從此每個(gè)網(wǎng)線接口便作為一個(gè)獨(dú)立的端口存在,除了聲明為廣播或組播的報(bào)文,交換機(jī)在一般情況下是不會(huì)讓其他報(bào)文出現(xiàn)類似共享式局域網(wǎng)那樣的廣播形式發(fā)送行為的,這樣即使你的網(wǎng)卡設(shè)置為混雜模式,它也收不到發(fā)往其他計(jì)算機(jī)的數(shù)據(jù),因?yàn)閿?shù)據(jù)的目標(biāo)地址會(huì)在交換機(jī)中被識(shí)別,然后有針對(duì)性的發(fā)往表中對(duì)應(yīng)地址的端口,決不跑到別人家里去。 這一改進(jìn)迅速扼殺了傳統(tǒng)的局域網(wǎng)監(jiān)聽手段,但是歷史往往證明了人是難以被征服的…… (1).對(duì)交換機(jī)的攻擊:MAC洪水 不知道是誰第一個(gè)發(fā)現(xiàn)了這種攻擊模式,大概是因?yàn)榻粨Q機(jī)的出現(xiàn)破壞了嗅探器的工作,所以一肚子氣泄到了交換機(jī)身上,另一種看法則是精明的技術(shù)人員設(shè)想交換機(jī)的處理器在超過所能承受信息量的時(shí)候會(huì)發(fā)生什么情況而進(jìn)行的試驗(yàn),無論是從什么論點(diǎn)出發(fā)的,至少這個(gè)攻擊模式已經(jīng)成為現(xiàn)實(shí)了:所謂MAC洪水攻擊,就是向交換機(jī)發(fā)送大量含有虛假M(fèi)AC地址和IP地址的IP包,使交換機(jī)無法處理如此多的信息而引起設(shè)備工作異常,也就是所謂的“失效”模式,在這個(gè)模式里,交換機(jī)的處理器已經(jīng)不能正常分析數(shù)據(jù)報(bào)和構(gòu)造查詢地址表了,然后,交換機(jī)就會(huì)成為一臺(tái)普通的集線器,毫無選擇的向所有端口發(fā)送數(shù)據(jù),這個(gè)行為被稱作“泛洪發(fā)送”,這樣一來攻擊者就能嗅探到所需數(shù)據(jù)了。 不過使用這個(gè)方法會(huì)為網(wǎng)絡(luò)帶來大量垃圾數(shù)據(jù)報(bào)文,對(duì)于監(jiān)聽者來說也不是什么好事,因此MAC洪水使用的案例比較少,而且設(shè)計(jì)了端口保護(hù)的交換機(jī)可能會(huì)在超負(fù)荷時(shí)強(qiáng)行關(guān)閉所有端口造成網(wǎng)絡(luò)中斷,所以如今,人們都偏向于使用地址解析協(xié)議ARP進(jìn)行的欺騙性攻擊。 (2).地址解析協(xié)議帶來的噩夢(mèng) 回顧前面提到的局域網(wǎng)尋址方式,我們已經(jīng)知道兩臺(tái)計(jì)算機(jī)完成通訊依靠的是MAC地址而與IP地址無關(guān),而目標(biāo)計(jì)算機(jī)MAC地址的獲取是通過ARP協(xié)議廣播得到的,而獲取的地址會(huì)保存在MAC地址表里并定期更新,在這個(gè)時(shí)間里,計(jì)算機(jī)是不會(huì)再去廣播尋址信息獲取目標(biāo)MAC地址的,這就給了入侵者以可乘之機(jī)。 當(dāng)一臺(tái)計(jì)算機(jī)要發(fā)送數(shù)據(jù)給另一臺(tái)計(jì)算機(jī)時(shí),它會(huì)以IP地址為依據(jù)首先查詢自身的ARP地址表,如果里面沒有目標(biāo)計(jì)算機(jī)的MAC信息,它就觸發(fā)ARP廣播尋址數(shù)據(jù)直到目標(biāo)計(jì)算機(jī)返回自身地址報(bào)文,而一旦這個(gè)地址表里存在目標(biāo)計(jì)算機(jī)的MAC信息,計(jì)算機(jī)就直接把這個(gè)地址作為數(shù)據(jù)鏈路層的以太網(wǎng)地址頭部封裝發(fā)送出去。為了避免出現(xiàn)MAC地址表保持著錯(cuò)誤的數(shù)據(jù),系統(tǒng)在一個(gè)指定的時(shí)期過后會(huì)清空MAC地址表,重新廣播獲取一份地址列表,而且新的ARP廣播可以無條件覆蓋原來的MAC地址表。 假設(shè)局域網(wǎng)內(nèi)有兩臺(tái)計(jì)算機(jī)A和B在通訊,而計(jì)算機(jī)C要作為一個(gè)竊聽者的身份得到這兩臺(tái)計(jì)算機(jī)的通訊數(shù)據(jù),那么它就必須想辦法讓自己能插入兩臺(tái)計(jì)算機(jī)之間的數(shù)據(jù)線路里,而在這種一對(duì)一的交換式網(wǎng)絡(luò)里,計(jì)算機(jī)C必須成為一個(gè)中間設(shè)備才能讓數(shù)據(jù)得以經(jīng)過它,要實(shí)現(xiàn)這個(gè)目標(biāo),計(jì)算機(jī)C就要開始偽造虛假的ARP報(bào)文。 ARP尋址報(bào)文分兩種,一種是用于發(fā)送尋址信息的ARP查詢包,源機(jī)器使用它來廣播尋址信息,另一種則是目標(biāo)機(jī)器的ARP應(yīng)答包,用于回應(yīng)源機(jī)器它的MAC地址,在竊聽存在的情況下,如果計(jì)算機(jī)C要竊聽計(jì)算機(jī)A的通訊,它就偽造一個(gè)IP地址為計(jì)算機(jī)B而MAC地址為計(jì)算機(jī)C的虛假ARP應(yīng)答包發(fā)送給計(jì)算機(jī)A,造成計(jì)算機(jī)A的MAC地址表錯(cuò)誤更新為計(jì)算機(jī)B的IP對(duì)應(yīng)著計(jì)算機(jī)C的MAC地址的情況,這樣一來,系統(tǒng)通過IP地址獲得的MAC地址都是計(jì)算機(jī)C的,數(shù)據(jù)就會(huì)發(fā)給以監(jiān)聽身份出現(xiàn)的計(jì)算機(jī)C了。但這樣會(huì)造成一種情況就是作為原目標(biāo)方的計(jì)算機(jī)B會(huì)接收不到數(shù)據(jù),因此充當(dāng)假冒數(shù)據(jù)接收角色的計(jì)算機(jī)C必須擔(dān)當(dāng)一個(gè)轉(zhuǎn)發(fā)者的角色,把從計(jì)算機(jī)A發(fā)送的數(shù)據(jù)返回給計(jì)算機(jī)B,讓兩機(jī)的通訊正常進(jìn)行,這樣,計(jì)算機(jī)C就和計(jì)算機(jī)AB形成了一個(gè)通訊鏈路,而對(duì)于計(jì)算機(jī)A和B而言,計(jì)算機(jī)C始終是透明存在的,它們并不知道計(jì)算機(jī)C在偷聽數(shù)據(jù)的傳播。只要計(jì)算機(jī)C在計(jì)算機(jī)A重新發(fā)送ARP查詢包前及時(shí)偽造虛假ARP應(yīng)答包就能維持著這個(gè)通訊鏈路,從而獲得持續(xù)的數(shù)據(jù)記錄,同時(shí)也不會(huì)造成被監(jiān)聽者的通訊異常。 計(jì)算機(jī)C為了監(jiān)聽計(jì)算機(jī)A和B數(shù)據(jù)通訊而發(fā)起的這種行為,就是“ARP欺騙”(ARP Spoofing)或稱“ARP攻擊”(ARP Attacking),實(shí)際上,真實(shí)環(huán)境里的ARP欺騙除了嗅探計(jì)算機(jī)A的數(shù)據(jù),通常也會(huì)順便把計(jì)算機(jī)B的數(shù)據(jù)給嗅探了去,只要計(jì)算機(jī)C在對(duì)計(jì)算機(jī)A發(fā)送偽裝成計(jì)算機(jī)B的ARP應(yīng)答包的同時(shí)也向計(jì)算機(jī)B發(fā)送偽裝成計(jì)算機(jī)A的ARP應(yīng)答包即可,這樣它就可作為一個(gè)雙向代理的身份插入兩者之間的通訊鏈路。
三、圍堵“耳朵”:局域網(wǎng)監(jiān)聽的防御 知道了局域網(wǎng)監(jiān)聽的實(shí)現(xiàn),我們就不難重現(xiàn)開篇提及的檢察員小潔的日記內(nèi)容是如何被別人看到的了:雖然辦公室的網(wǎng)絡(luò)是交換式局域網(wǎng),但是竊聽者使用ARP欺騙工具篡改了小潔機(jī)器的MAC地址表,使小潔的機(jī)器發(fā)出的數(shù)據(jù)實(shí)際上是在竊聽者機(jī)器里走一圈后才真正發(fā)送出去的,這時(shí)候只要小潔登錄任何使用明文傳輸密碼的網(wǎng)頁(yè)表單,她輸入的網(wǎng)址、用戶名和密碼就會(huì)被嗅探軟件記錄下來,竊聽者只要使用這個(gè)密碼登錄網(wǎng)站,就可以把小潔寫在日記本上的隱私一覽無余了。 由此可見,由網(wǎng)絡(luò)監(jiān)聽引發(fā)的信息泄漏后果是非常嚴(yán)重的,輕則隱私泄漏,重則因?yàn)殂y行密碼、經(jīng)過網(wǎng)絡(luò)傳輸?shù)奈臋n內(nèi)容失竊而導(dǎo)致無法計(jì)量的經(jīng)濟(jì)損失,因此,如何有效防止局域網(wǎng)監(jiān)聽,一直是令管理員操心的問題。 由于共享式局域網(wǎng)的局限性(集線器不會(huì)選擇具體端口),在上面流通的數(shù)據(jù)基本上是“你有,我也有”的,竊聽者連ARP信息都不需要更改,自然無法躲過被監(jiān)聽的命運(yùn),要解決這個(gè)問題,只能先把集線器更換為交換機(jī),杜絕這種毫無隱私的數(shù)據(jù)傳播方式。 好了,現(xiàn)在我們換到交換式局域網(wǎng)了,下一步,就該開始著手圍堵這些不受歡迎的耳朵們了。 1.尋找隱匿的耳朵 如果我們懷疑某臺(tái)機(jī)器在偷聽數(shù)據(jù),應(yīng)該怎么辦呢? 早在幾年前,有一種被稱為ping檢測(cè)的方法就已經(jīng)開始流行了,它的原理還是利用MAC地址自身,大部分網(wǎng)卡允許用戶在驅(qū)動(dòng)程序設(shè)置里自行指定一個(gè)MAC地址(特別說明:這種通過驅(qū)動(dòng)程序指定的MAC地址僅僅能用于自身所處的局域網(wǎng)本身,并不能用于突破遠(yuǎn)程網(wǎng)關(guān)的MAC+IP綁定限制!),因此我們就可以利用這一特性讓正在欺騙MAC地址的機(jī)器自食其果。 假設(shè)IP為192.168.1.4的機(jī)器上裝有ARP欺騙工具和嗅探器,所以ping 192.168.1.4,然后arp –a find “192.168.1.4” 得到它的MAC地址“00-00-0e-40-b4-a1” 修改自己的網(wǎng)卡驅(qū)動(dòng)設(shè)置頁(yè),改Network Address為“00000e40b4a2”,即去掉分隔符的MAC地址最末位加1 再次ping 192.168.1.4,正常的話應(yīng)該不會(huì)看到任何回應(yīng),因?yàn)榫钟蚓W(wǎng)中不會(huì)存在任何與“00-00-0e-40-b4-a2”相符的MAC地址。 如果看到返回,則說明192.168.1.4很可能裝有嗅探器。 另一種比較“惡毒”的方法是對(duì)被懷疑安裝了嗅探器的計(jì)算機(jī)發(fā)送大量不存在的MAC地址的數(shù)據(jù)報(bào),由于監(jiān)聽程序在進(jìn)行分析和處理大量的數(shù)據(jù)包需要占用很多的CPU資源,這將導(dǎo)致對(duì)方計(jì)算機(jī)性能下降,這樣我們只要比較發(fā)送報(bào)文前后該機(jī)器性能就能加以判斷,但是如果對(duì)方機(jī)器配置比較高,這個(gè)方法就不太有效了。 除了主動(dòng)嗅探的行為,還有一些機(jī)器是被入侵者惡意種植了帶有嗅探功能的后門程序,那么我們就必須使用本機(jī)測(cè)試法了,其原理是建立一個(gè)原始連接(Raw Socket)打開自己機(jī)器的隨機(jī)端口,然后再建立一個(gè)UDP連接到自己機(jī)器的任意端口并隨意發(fā)送一條數(shù)據(jù),正常情況下,這個(gè)方法建立的原始連接是不可能成功接收數(shù)據(jù)的,如果原始連接能接收這個(gè)數(shù)據(jù),則說明機(jī)器網(wǎng)卡正處于“混雜”模式——嗅探器經(jīng)常這么干,接下來的事情就不用我說了吧? 但是基本上沒找到現(xiàn)成的工具可以使用,也可能是我的查找能力問題,但是其實(shí)這個(gè)問題很好解決:因?yàn)榘惭b了嗅探器的機(jī)器是能接收到任何數(shù)據(jù)的,那么只要在這個(gè)機(jī)器上再次安裝一個(gè)嗅探軟件(不是ARP欺騙類型!)就能“共享”捕獲的數(shù)據(jù),正常情況下我們是只能看到屬于自己IP的網(wǎng)絡(luò)數(shù)據(jù)的,如果不巧發(fā)現(xiàn)嗅探器把其它計(jì)算機(jī)的數(shù)據(jù)也順手牽羊了,并且由于ARP欺騙的存在,我們還可能嗅探到自己的計(jì)算機(jī)會(huì)定期發(fā)送一條ARP應(yīng)答包出去……既然都做得那么明顯了,那就不要客氣把它滅了…… 2.預(yù)防為主——從根本上防御網(wǎng)絡(luò)監(jiān)聽 雖然利用ARP欺騙報(bào)文進(jìn)行的網(wǎng)絡(luò)監(jiān)聽很難察覺,但它并不是無法防御的,與ARP尋址相對(duì)的,在一個(gè)相對(duì)穩(wěn)定的局域網(wǎng)里(機(jī)器數(shù)量和網(wǎng)卡被更換的次數(shù)不多,也沒有人一沒事干就去更改自己IP),我們可以使用靜態(tài)ARP映射,即記錄下局域網(wǎng)內(nèi)所有計(jì)算機(jī)的網(wǎng)卡MAC地址和對(duì)應(yīng)的IP,然后使用“arp –s IP地址 MAC地址”進(jìn)行靜態(tài)綁定,這樣計(jì)算機(jī)就不會(huì)通過ARP廣播來找人了,自然不會(huì)響應(yīng)ARP欺騙工具發(fā)送的動(dòng)態(tài)ARP應(yīng)答包(靜態(tài)地址的優(yōu)先度大于動(dòng)態(tài)地址),但是這個(gè)方法存在的劣勢(shì)就是對(duì)操作用戶要求挺高,要知道并不是所有人都理解MAC地址是干什么用的,另外一點(diǎn)就是如果機(jī)器數(shù)量過多或者變動(dòng)頻繁,會(huì)對(duì)操作用戶(通常是網(wǎng)絡(luò)管理員)造成巨大的心靈傷害…… 因此,一般常用的方法是使用軟件防御,例如Anti Arp Sniffer,它可以強(qiáng)行綁定本機(jī)與網(wǎng)關(guān)的MAC關(guān)系,讓偽裝成網(wǎng)關(guān)獲取數(shù)據(jù)的監(jiān)聽機(jī)成了擺設(shè),而如果是監(jiān)聽者僅僅欺騙了某臺(tái)計(jì)算機(jī)的情況呢?這就要使用ARP Watch了,ARP Watch會(huì)實(shí)時(shí)監(jiān)控局域網(wǎng)中計(jì)算機(jī)MAC地址和ARP廣播報(bào)文的變化情況,如果有ARP欺騙程序發(fā)送虛假地址報(bào)文,必然會(huì)造成MAC地址表不符,ARP Watch就會(huì)彈出來警告用戶了。 此外,對(duì)網(wǎng)絡(luò)進(jìn)行VLAN劃分也是有效的方法,每個(gè)VLAN之間都是隔離的,必須通過路由進(jìn)行數(shù)據(jù)傳輸,這個(gè)時(shí)候MAC地址信息會(huì)被丟棄,每臺(tái)計(jì)算機(jī)之間都是采用標(biāo)準(zhǔn)TCP/IP進(jìn)行數(shù)據(jù)傳輸?shù)模词勾嬖谛崽狡饕矡o法使用虛假的MAC地址進(jìn)行欺騙了。 四、結(jié)語(yǔ) 網(wǎng)絡(luò)監(jiān)聽技術(shù)作為一種工具,總是扮演著正反兩方面的角色,尤其在局域網(wǎng)里更是經(jīng)常以黑暗的身份出現(xiàn)。對(duì)于入侵者來說,通過網(wǎng)絡(luò)監(jiān)聽可以很容易地獲得用戶的關(guān)鍵信息,因此他們青睞。而對(duì)于入侵檢測(cè)和追蹤者來說,網(wǎng)絡(luò)監(jiān)聽技術(shù)又能夠在與入侵者的斗爭(zhēng)中發(fā)揮重要的作用,因此他們也離不開必要的嗅探。我們應(yīng)該努力學(xué)習(xí)網(wǎng)絡(luò)安全知識(shí),進(jìn)一步挖掘網(wǎng)絡(luò)監(jiān)聽技術(shù)的細(xì)節(jié),扎實(shí)掌握足夠的技術(shù)基礎(chǔ),才能在與入侵者的斗爭(zhēng)中取得勝利。
posted on 2006-08-24 18:57 77 閱讀(1274) 評(píng)論(0) 編輯 收藏
Powered by: BlogJava Copyright © 77