Linux系統(tǒng)下Sniffer的實(shí)現(xiàn)(二)_第1頁(yè)
Linux系統(tǒng)下Sniffer的實(shí)現(xiàn)(二)_第2頁(yè)
Linux系統(tǒng)下Sniffer的實(shí)現(xiàn)(二)_第3頁(yè)
Linux系統(tǒng)下Sniffer的實(shí)現(xiàn)(二)_第4頁(yè)
Linux系統(tǒng)下Sniffer的實(shí)現(xiàn)(二)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Linux系統(tǒng)下Sniffer的實(shí)現(xiàn)二blreadtable()/讀取table.datfile*tab=fpen(table_file,r);/翻開(kāi)文件intunt=fread(tab,sizef(int),tab_size,tab);fflush(tab);/刷新文件流fr(inti=0;i=tab_size-2;i+)if(tabi!=-1tabi+1!=-1)tabi+1=tabi+1+tabi;elsebreak;returntrue;intladpak()/加載數(shù)據(jù)包inti;intlad_paks=0;file*pak=fpen(pak_file,r);fr(i=0;ibuf_u

2、nt;i+)if(tabt_be_lad+i!=-1tabt_be_lad+i+1!=-1)intsize=tabt_be_lad+i+1-tabt_be_lad+i;intffset=tabt_be_lad+i;if(fread(buf+i,size,1,pak)!=1)printf(readerrr.nn);exit(1);lad_paks+;/更新變量else/*dnthing*/fflush(pak);/刷新數(shù)據(jù)流t_be_lad+=lad_paks;/更新變量returnlad_paks;/返回讀取的數(shù)目3.4.2系統(tǒng)中的buffer在現(xiàn)實(shí)中的很多系統(tǒng)中,buffer是很重要的一種思

3、想,為的就是減少讀取外部存儲(chǔ)的次數(shù),延長(zhǎng)設(shè)備的使用壽命。buffer在計(jì)算機(jī)系統(tǒng)中,應(yīng)用是很廣泛的,例如,在硬盤(pán)和內(nèi)存之間存在一層緩沖區(qū),在pu和內(nèi)存之間同樣也存在一層緩沖區(qū),這層緩沖區(qū)通常被稱(chēng)作ahe。在本系統(tǒng)中,也同樣利用了buffer思想,有著傳統(tǒng)意義上的原因,當(dāng)然還考慮到用戶操作時(shí)的特殊性,系統(tǒng)的buffer思想描繪如下:l在任意時(shí)刻,buffer內(nèi)最多存儲(chǔ)100個(gè)pakage數(shù)據(jù)l剛開(kāi)場(chǎng),加載pak0pak99共計(jì)100個(gè)pakage,當(dāng)要查看pak100時(shí),那么采取的方法是:保存舊的50個(gè)pakage,加載新的50個(gè)pakage,那么pakage編號(hào)變?yōu)椋簆ak50pak149,這

4、樣操作的原因是為了用戶的方便,因?yàn)橛脩艚?jīng)常會(huì)查看某個(gè)報(bào)文附近的幾個(gè)報(bào)文。初始狀態(tài)下,假設(shè)系統(tǒng)已經(jīng)加載了編號(hào)為0到99的數(shù)據(jù)包,如圖2.7所示:圖2.7加載前緩沖區(qū)內(nèi)容在某一時(shí)刻,假設(shè)用戶想查看編號(hào)為100的數(shù)據(jù)包,那么需要重新加載,重新加載后的數(shù)據(jù)包如圖2.8所示:圖2.8加載后緩沖區(qū)內(nèi)容使用此種buffer思想,用戶操作的方便性即表達(dá)在這個(gè)方面,在對(duì)某條報(bào)文進(jìn)展研究時(shí),會(huì)經(jīng)常查看它的臨近報(bào)文,使用此種機(jī)制,那么便不會(huì)不斷的對(duì)要查看的臨近報(bào)文進(jìn)展加載,減少了讀取硬盤(pán)的次數(shù)。3.4.3系統(tǒng)的顯示問(wèn)題在控制臺(tái)上,要想建造一個(gè)好的用戶操作界面,是一件比擬難的事情,根據(jù)我的體驗(yàn),linux下著名的sn

5、iffer工具tpdup的操作界面也不夠友好,普通用戶很難操作。在ind環(huán)境下的sniffer工具ethereal界面比擬美觀,方便操作,所以,建造一個(gè)好的用戶操作界面成為我此次畢設(shè)的攻克重點(diǎn)。本系統(tǒng)的顯示分為兩種顯示形式:“detail形式和“siple形式,“detail形式意為“詳細(xì)顯示形式,“siple形式意為“簡(jiǎn)單顯示形式。在“detail形式下,每個(gè)包得到盡可能詳細(xì)的解析,解析包的每一層信息,示意如圖2.9:圖2.9詳細(xì)顯示形式根據(jù)上圖顯示的信息,可以得知此包是一個(gè)ippakage,詳細(xì)內(nèi)容屬于pingreply,更詳細(xì)得知是本主機(jī)ping本主機(jī)的一個(gè)數(shù)據(jù)包?!皊iple形式意為簡(jiǎn)

6、單形式,所謂簡(jiǎn)單形式就是對(duì)每個(gè)pakage盡可能的用一句話來(lái)描繪,雖然盡可能的簡(jiǎn)短,但是一定要包含以下信息:lpakage的類(lèi)型lpakage的作用這種形式的重要作用是在用戶對(duì)包進(jìn)展檢測(cè)和測(cè)量時(shí),通常會(huì)查看相鄰的幾個(gè)pakage,這樣的形式方便用戶進(jìn)展“查看上一個(gè)pakage和“查看下一個(gè)pakage,只要用戶在這種形式下按“n或者“n就可以查看下一個(gè)pakage,只要按“l(fā)或“l(fā)鍵就可以查看上一個(gè)pakage?!皊iple形式的示意如圖2.10所示:圖2.10簡(jiǎn)單顯示形式從圖中可以看出,當(dāng)前正在查看的包用“藍(lán)色的線條標(biāo)出,方面用戶的操作,當(dāng)用戶向上或者向下進(jìn)展選擇時(shí),此藍(lán)色線條也同樣會(huì)向上或

7、向下運(yùn)動(dòng),這樣做的原因是是的系統(tǒng)顯示具有動(dòng)態(tài)效果?!癲etail形式的顯示比擬簡(jiǎn)單,只要逐層進(jìn)展解析就可以了,下面我們主要討論下“siple形式下的顯示算法。在“siple形式下,當(dāng)前控制臺(tái)最多可以顯示20個(gè)pakage,主要是由函數(shù)list20pakages函數(shù)實(shí)現(xiàn)的。什么時(shí)候應(yīng)該對(duì)pakage標(biāo)上藍(lán)色的線條,以下代碼即說(shuō)明此問(wèn)題:if(i=p_rerder%20)/ifthepakageistheurrentprintf(lr_start);/lr_start無(wú)論示在簡(jiǎn)單顯示形式還是在詳細(xì)顯示形式下,均支持以下三種操作:向上操作prev-查看上一條報(bào)文向下操作next-查看下一條報(bào)文任意操

8、作gt-查看任一條報(bào)文第四章sniffer其它相關(guān)4.1文怎樣獲取一個(gè)數(shù)據(jù)包?4.1.1libpap方法libpap是由洛侖茲伯克利國(guó)家實(shí)驗(yàn)室編寫(xiě)的linux平臺(tái)下的網(wǎng)絡(luò)數(shù)據(jù)包捕獲函數(shù)庫(kù),是一種與系統(tǒng)無(wú)關(guān),用于訪問(wèn)數(shù)據(jù)鏈路層,是一個(gè)獨(dú)立于系統(tǒng)接口的用戶級(jí)捕包函數(shù)據(jù)庫(kù),為底層的網(wǎng)絡(luò)數(shù)據(jù)提供了可移植框架,它的應(yīng)用包括網(wǎng)絡(luò)統(tǒng)計(jì)、平安監(jiān)聽(tīng)、網(wǎng)絡(luò)調(diào)試、性能測(cè)量、入侵檢測(cè)、口令攔截等。libpap可以在絕大多數(shù)類(lèi)unix平臺(tái)下工作,絕大多數(shù)的現(xiàn)代操作系統(tǒng)都提供了對(duì)底層網(wǎng)絡(luò)數(shù)據(jù)包捕獲的機(jī)制,在捕獲機(jī)制之上可以開(kāi)發(fā)網(wǎng)絡(luò)監(jiān)控應(yīng)用軟件。采用libpap施行網(wǎng)絡(luò)數(shù)據(jù)包捕獲時(shí),將要用到一個(gè)重要的函數(shù)pap_pen_l

9、ive(),它的函數(shù)原型是:pap_t*pap_pen_live(nsthar*devie,intsnaplen,intpris,intt_s,har*ebuf),其中,假如devie為null或any,那么對(duì)所有接口捕獲,snaplen代表用戶期望的捕獲數(shù)據(jù)包最大長(zhǎng)度,pris代表設(shè)置接口為混雜形式,捕獲所有到達(dá)接口的數(shù)據(jù)包,但只有在設(shè)備給定的情況下才有意義,t_s代表函數(shù)超時(shí)返回的時(shí)間。編程要點(diǎn)如下:l查找可以捕獲數(shù)據(jù)包的設(shè)備devie=pap_lkupdev(errbuf);l創(chuàng)立捕獲句柄,準(zhǔn)備進(jìn)展捕獲p=pap_pen_live(devie,8000,1,500,errbuf);l假如

10、用戶設(shè)置了過(guò)濾條件,那么編譯和安裝過(guò)濾代碼pap_pile(p,fde,filter_string,0,netask);pap_setfilter(p,fde);l進(jìn)入循環(huán),反復(fù)捕獲數(shù)據(jù)包fr(;)hile(ptr=(har*)(pap_next(p,hdr)=null);l對(duì)捕獲的數(shù)據(jù)進(jìn)展類(lèi)型轉(zhuǎn)換,轉(zhuǎn)化成以太數(shù)據(jù)包類(lèi)型eth=(strutlibnet_ethernet_hdr*)ptr;l對(duì)以太頭部進(jìn)展分析,判斷所包含的數(shù)據(jù)包類(lèi)型,做進(jìn)一步的處理if(eth-ether_type=nths(ethertype_ip)if(eth-ether_type=nths(ethertype_arp)l

11、關(guān)閉捕獲句柄pap_lse(p);4.1.2sket方法在linux下編寫(xiě)網(wǎng)絡(luò)包捕獲程序,比擬簡(jiǎn)單的方法是在超級(jí)用戶形式下,利用類(lèi)型為sk_paket的套接口(sket函數(shù))來(lái)捕獲鏈路鄭linuxsk_paket編程要點(diǎn)如下:l設(shè)置套接口以捕獲鏈路幀:在設(shè)置套接口之前,需要引用如下文件:#inludesys/sket.h#inludesys/itl.h#inludenetinet/if_ether.h#inludenet/if.h調(diào)用sket函數(shù)的原型是:intsket(intdain,inttype,intprtl);本函數(shù)涉及3個(gè)輸入?yún)?shù):dain參數(shù)表示所使用的協(xié)議族;type參數(shù)表示套

12、接口的類(lèi)型;prtl參數(shù)表示所使用的協(xié)議族中某個(gè)特定的協(xié)議。假如函數(shù)調(diào)用成功,套接口的描繪符(非負(fù)整數(shù))就作為函數(shù)的返回值,假設(shè)返回值為-1,就說(shuō)明有錯(cuò)誤發(fā)生。使用sket函數(shù)捕獲鏈路層數(shù)據(jù)幀,dain參數(shù)應(yīng)指定為af_inet協(xié)議族,表示采用internet協(xié)議族;type參數(shù)指定為sk_paket,表示獲取鏈路層數(shù)據(jù),進(jìn)而分析各層的協(xié)議數(shù)據(jù)單元;而prtl參數(shù)采用htns(0 x0003),表示可以截取所有類(lèi)型的數(shù)據(jù)鄭這里htns函數(shù)用于短整數(shù)的字節(jié)順序轉(zhuǎn)換。計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)有兩種字節(jié)優(yōu)先順序:高位字節(jié)優(yōu)先和低位字節(jié)優(yōu)先。internet上數(shù)據(jù)以高位字節(jié)優(yōu)先順序在網(wǎng)絡(luò)上傳輸,所以對(duì)于在內(nèi)部是

13、以低位字節(jié)優(yōu)先方式存儲(chǔ)數(shù)據(jù)的機(jī)器,在internet上傳輸數(shù)據(jù)時(shí)就需要進(jìn)展轉(zhuǎn)換,否那么就會(huì)出現(xiàn)數(shù)據(jù)不一致。在捕獲數(shù)據(jù)包時(shí)sket函數(shù)調(diào)用形式為:intfd;/fd是套接口的描繪符fd=sket(af_inet,sk_paket,htns(0 x0003);l設(shè)置網(wǎng)卡工作形式:要使建立的套接口可以真正捕獲到同一網(wǎng)段其它站點(diǎn)的數(shù)據(jù),還必須設(shè)置網(wǎng)卡工作于“混雜形式,可以使用itl函數(shù),原型如下:intitl(intd,intrequest,ifr),itl系統(tǒng)調(diào)用用于對(duì)套接口、網(wǎng)卡等軟硬件設(shè)施進(jìn)展底層控制,實(shí)際的操作來(lái)自各個(gè)設(shè)備自己提供的itl接口。設(shè)置網(wǎng)卡于“混雜方式的linux程序段如下:str

14、utifreqifr;strpy(ifr.ifr_nae,dev);/(har*)dev標(biāo)識(shí)設(shè)備名,如:eth0i=itl(fd,sigifflags,ifr);/表示要求取出工作方式if(i0)lse(fd);perrr(antgetflagsn);exit(0);ifr.ifr_flags|=iff_pris;/在標(biāo)志中參加“混雜方式i=itl(fd,sisifflags,ifr);/表示要求設(shè)定工作方式if(i0)perrr(antsetprisuusn);exit(0);l從套接口讀取鏈路幀:套接口建立以后,就可以從中循環(huán)地讀取鏈路層數(shù)據(jù)鄭因此,還需要建立數(shù)據(jù)幀的緩沖區(qū),并把幀頭構(gòu)造的

15、指針指向這一緩沖區(qū)的首地址:harepeth_frae_len;strutethhdr*eh;intfl;eh=(strutethhdr*)ep;/指向幀頭fl0=read(fd,(etherpaket*)ep,sizef(ep);/fl0為截取的數(shù)據(jù)幀幀長(zhǎng)這里幀頭構(gòu)造類(lèi)型ethhdr在/usr/inlude/linux/if_ether.h中定義:strutethhdrunsignedharh_desteth_alen;/目的a地址unsignedharh_sureeth_alen;/源a地址unsignedshrth_prt;/幀中數(shù)據(jù)協(xié)議類(lèi)型代碼基于上述定義,一旦ep讀入幀中數(shù)據(jù),就可以

16、通過(guò)eh-h_dest、eh-h_sure、eh-h_prt獲取幀首部信息。4.2怎樣解析一個(gè)報(bào)文?無(wú)論采用lipap方法,還是采用sk方法,都可獲得以太網(wǎng)幀,由于在以太網(wǎng)幀首部中含有協(xié)議類(lèi)型字段,所以可進(jìn)一步實(shí)現(xiàn)上層協(xié)議包的首部提取,為篇幅起見(jiàn),本處僅對(duì)sket方法獲得幀為例,介紹tp/ip首部的提取的一般方法,以便今后作進(jìn)一步的數(shù)據(jù)分析與處理。ip報(bào)頭首部提取根據(jù)h_prt的值,可以確定幀數(shù)據(jù)將交由上層何種協(xié)議處理,常見(jiàn)的h_prt值與協(xié)議的對(duì)應(yīng)關(guān)系有:0 x0800:ip協(xié)議;0 x0806:arp協(xié)議;0 x8035:rarp協(xié)議。因此,一旦捕獲的幀中h_prt的取值為0 x800,將

17、類(lèi)型為iphdr的構(gòu)造指針指向幀頭后面負(fù)載數(shù)據(jù)的起始位置,那么ip信包首部的數(shù)據(jù)構(gòu)造將一覽無(wú)余。以下程序段說(shuō)明這一定位過(guò)程:harepeth_frae_len;strutethhdr*eh;strutiphdr*ip;intfl;eh=(strutethhdr*)ep;/eh指向幀頭ip=(strutiphdr*)(unsignedlng)ep+eth_hlen);/eth_hlen為幀長(zhǎng)fl1=read(fd,(struterhhdr*)ep,sizef(ep);/fl1為捕獲的數(shù)據(jù)幀長(zhǎng)printf(saddr:x=daddr:xn,ip-saddr,ip-daddr);/取源和目的ip地址

18、tp報(bào)文段首部提取在ip協(xié)議首部中包含協(xié)議數(shù)據(jù)單元類(lèi)型標(biāo)識(shí)域:_u8prtl;這一標(biāo)識(shí)域的常見(jiàn)取值及其協(xié)議對(duì)應(yīng)關(guān)系如下:1:ip;6:tp;17:udp。因此,假如ip報(bào)頭的協(xié)議域取值為6,那么緊跟在ip報(bào)頭之后就是tp報(bào)頭。ip報(bào)頭的長(zhǎng)度可以通過(guò)ihl域獲得。這樣,假設(shè)緩沖數(shù)組ep存放捕獲到的以太網(wǎng)數(shù)據(jù)幀,iph是指向其中ip根本報(bào)頭構(gòu)造的指針,而tph是指向tp報(bào)頭構(gòu)造的指針,那么,定位tph=(struttphdr*)(unsignedlng)ep)+eth_hlen+iph-ihl*4),tp報(bào)頭的構(gòu)造信息就存放在*tph中,并可通過(guò)以下語(yǔ)句獲取相關(guān)信息:fl2=read(fd,(st

19、rutethhdr*)ep,sizef(ep);/fl2為捕獲的數(shù)據(jù)幀幀長(zhǎng)printf(sure=%x,dest=%xn,tph-sure,tph-dest);/取源端口和目的端口號(hào)4.3怎樣把網(wǎng)卡置為“混雜形式?在以太網(wǎng)中,通過(guò)播送實(shí)現(xiàn)數(shù)據(jù)傳輸,在同一子網(wǎng)段的所有網(wǎng)卡都可“聽(tīng)到網(wǎng)絡(luò)總線上傳輸?shù)乃袛?shù)據(jù),但不是所有數(shù)據(jù)都能被接收到。在系統(tǒng)正常工作時(shí),一個(gè)合法的網(wǎng)絡(luò)接口只響應(yīng)兩種數(shù)據(jù)幀:幀的目的a地址與本地網(wǎng)卡地址相符;幀的目的地址是播送地址,除此之外數(shù)據(jù)幀將被丟棄。由于網(wǎng)卡有4種工作形式:播送(可以接收網(wǎng)絡(luò)中的播送信息)、組播(能接收組播數(shù)據(jù))、直接(只有目的網(wǎng)卡才能接收該數(shù)據(jù))和混雜(可以接

20、收一切數(shù)據(jù))形式,所以為了可以捕獲以太網(wǎng)所有數(shù)據(jù)包,通常需要將網(wǎng)卡設(shè)置成混雜工作形式。當(dāng)主機(jī)連接在共享型以太網(wǎng)集線器上時(shí),采用“混雜方式可以捕獲到同一沖突域上傳輸?shù)臄?shù)據(jù)幀;但當(dāng)主機(jī)連接在交換機(jī)上時(shí),由于交換機(jī)通常不會(huì)將數(shù)據(jù)幀播送到所有端口上(除非在其a地址端口映射表內(nèi)找不到相應(yīng)表項(xiàng)),因此不能利用以太網(wǎng)絡(luò)的播送特性進(jìn)展捕獲。這時(shí),可以利用交換機(jī)的端口鏡像功能實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包捕獲。因?yàn)楫?dāng)端口a和端口b之間建立鏡像關(guān)系后,流經(jīng)端口a的所有信息流量將同時(shí)通過(guò)端口b輸出,所以可以在端口b捕獲到端口a的數(shù)據(jù)。所以,要想運(yùn)行sniffer工具,執(zhí)行“偵聽(tīng)功能,就必須使得網(wǎng)卡處于“混雜形式,把網(wǎng)卡置為“混雜形

21、式的代碼如下:blsetpris()intfd;fd=sket(af_inet,sk_paket,htns(0 x0003);if(fd=-1)printf(anntestablishaskettntrltheard.nn);returnfalse;strutifreqifr;strpy(ifr.ifr_nae,eth0);inti=itl(fd,sigifflags,ifr);if(i0)lse(fd);printf(anntgetflagsfthenetard.nn);returnfalse;ifr.ifr_flags|=iff_pris;i=itl(fd,sisifflags,ifr);

22、if(i0)printf(anntsetthenetardprisuus.nn);returnfalse;printf(settheardtbeprisuus.knn);returntrue;4.4sniffer攻擊的防范sniffer軟件可以進(jìn)展網(wǎng)絡(luò)流量監(jiān)控、拓?fù)浒l(fā)現(xiàn)、入侵檢測(cè),給網(wǎng)絡(luò)管理帶來(lái)了極大的便利。正由于它能被動(dòng)獲取網(wǎng)絡(luò)傳輸?shù)拿魑男畔ⅲ虼?,一旦被黑客利用,給網(wǎng)絡(luò)帶來(lái)的危害也是宏大的。作為一種入侵手段,嗅探器令人防不勝防,因?yàn)樗粍?dòng)承受而不主動(dòng)獲得。它不會(huì)向網(wǎng)絡(luò)上發(fā)出任何包,網(wǎng)絡(luò)用戶很難發(fā)現(xiàn)它的存在。到目前為止還沒(méi)有一種比擬好的防范手段。防范sniffer攻擊,只能依靠用戶和網(wǎng)絡(luò)軟件

23、設(shè)計(jì)者的平安意識(shí)。我們知道,ftp,telnet等軟件都是進(jìn)展明文傳輸,因此,對(duì)攻擊者來(lái)說(shuō),他們傳輸?shù)男畔⒕偷扔谕耆┞冻鰜?lái)。因此,必須對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)展加密,這也是反嗅探器的唯一途徑。在linux系統(tǒng)中,我們主張用ssh和penssh來(lái)對(duì)傳輸數(shù)據(jù)進(jìn)展加密。這樣即使攻擊者能得到數(shù)據(jù)流,也不能得到詳細(xì)信息了。另一種防范嗅探攻擊的方式就是檢查網(wǎng)絡(luò)中有無(wú)網(wǎng)絡(luò)接口處于混亂形式。在linux環(huán)境下可以用ifnfig來(lái)檢鋇本地機(jī)器是否處于混亂形式,ifnfig是linux自帶的工具。對(duì)于子網(wǎng)中網(wǎng)絡(luò)接口的檢測(cè),可以使用neped工具。然而該工具是利用linux的arp實(shí)現(xiàn)中的缺陷來(lái)檢測(cè)這些接口口它發(fā)送一個(gè)ar

24、p懇求,一次來(lái)引起嗅探工作站的響應(yīng)。然而它本身就是一個(gè)缺陷,因?yàn)樗抢昧薼inux的其它缺陷來(lái)實(shí)現(xiàn)的。隨著linux系統(tǒng)的越來(lái)越完善,假如arp實(shí)現(xiàn)得到修補(bǔ),嗅探工作站不再響應(yīng)arp懇求。另外,平安的拓?fù)錁?gòu)造也是必要的,因?yàn)樾崽狡髦荒茉诋?dāng)前網(wǎng)絡(luò)段上進(jìn)展數(shù)據(jù)捕獲。這就意味著,將網(wǎng)絡(luò)分段工作進(jìn)展得越細(xì),嗅探器可以搜集的信息就越少。以上討論了目前對(duì)嗅探攻擊防范的困難,對(duì)此本人作出以下兩點(diǎn)設(shè)想:l因?yàn)橐蕴W(wǎng)在局域網(wǎng)中進(jìn)展傳輸是使用播送方式,假如不采用這種方式,直接使用地址解析(arp)影射物理地址,嗅探器就無(wú)法接收數(shù)據(jù)了?;蛘哌M(jìn)展雙向驗(yàn)證,即主機(jī)對(duì)數(shù)據(jù)需要檢查,數(shù)據(jù)對(duì)主機(jī)也需檢查。l由于進(jìn)展原始數(shù)據(jù)

25、接收時(shí)需要將網(wǎng)卡設(shè)置為混亂形式,但假如網(wǎng)卡不提供這種形式,嗅探器也無(wú)法工作了。另外,前面提供的兩種檢測(cè)網(wǎng)卡是否處于混亂形式的方式都有缺陷,希望以后能研究出沒(méi)有缺陷的檢測(cè)網(wǎng)卡狀態(tài)的方式。4.5sniffer引入網(wǎng)絡(luò)管理中的可行性sniffer作為可以捕獲網(wǎng)絡(luò)報(bào)文的設(shè)備,通常用來(lái)在網(wǎng)絡(luò)上截取閱讀位于s工協(xié)議模型中各個(gè)協(xié)議層次上的數(shù)據(jù)包。sniffer可以攔截所有的正在網(wǎng)絡(luò)上傳送的數(shù)據(jù),通過(guò)相應(yīng)的軟件分析處理,對(duì)網(wǎng)絡(luò)實(shí)時(shí)信息和歷史信息進(jìn)展監(jiān)控和統(tǒng)計(jì)分析,進(jìn)而分析子網(wǎng)的網(wǎng)絡(luò)狀態(tài)和網(wǎng)絡(luò)整體布局。為網(wǎng)絡(luò)性能的分析、網(wǎng)絡(luò)故障的判斷、信息流量的審計(jì)、配置管理得調(diào)整、網(wǎng)絡(luò)平安的檢測(cè)提供強(qiáng)有力的使用工具,對(duì)網(wǎng)絡(luò)管

26、理提供信息根據(jù)。sniffer可以在網(wǎng)絡(luò)管理中實(shí)現(xiàn)的主要的功能:實(shí)時(shí)網(wǎng)絡(luò)包捕獲:sniffer可以以線速率實(shí)時(shí)捕獲用戶定義的網(wǎng)絡(luò)數(shù)據(jù)包截獲通信的內(nèi)容。對(duì)網(wǎng)絡(luò)上主機(jī)間的通信,通過(guò)設(shè)置過(guò)濾條件,給出一個(gè)詳細(xì)的逐包的統(tǒng)計(jì)信息。網(wǎng)絡(luò)實(shí)時(shí)監(jiān)控:sniffer以表格、圖形等形式,實(shí)時(shí)顯示出網(wǎng)絡(luò)運(yùn)行情況,如協(xié)議分布、流量分布、帶寬利用率、錯(cuò)誤率等。對(duì)協(xié)議進(jìn)展解析:有些只能分析一種協(xié)議,而另一些可以分析幾百種協(xié)議。統(tǒng)計(jì)歷史數(shù)據(jù)和發(fā)出警報(bào):sniffer可提供幾十種長(zhǎng)期數(shù)據(jù)報(bào)告,以便將來(lái)的歷史查詢和分析,并可根據(jù)預(yù)先設(shè)定的閥值發(fā)出事件警報(bào)。報(bào)文發(fā)送:通過(guò)設(shè)置目的地址,發(fā)送次數(shù),發(fā)送延遲和報(bào)文大小,形成報(bào)文并發(fā)送

27、,可以實(shí)現(xiàn)網(wǎng)絡(luò)流量模擬。4.6sniffer技術(shù)在網(wǎng)絡(luò)管理中開(kāi)發(fā)的可行性與必要性根據(jù)以上各章節(jié)的闡述,我們大致理解了網(wǎng)絡(luò)管理技術(shù)和sniffer技術(shù)的根本概念,在sniffer本身所具有的抓取網(wǎng)絡(luò)數(shù)據(jù)報(bào)的特性的根底之上,首先產(chǎn)生了一些簡(jiǎn)單的sniffer的工具,其后sniffer技術(shù)交融其他方面的技術(shù),包括:人工智能、數(shù)據(jù)庫(kù)、分布式等技術(shù),在網(wǎng)絡(luò)管理領(lǐng)域得到了極大的開(kāi)展,在不同網(wǎng)絡(luò)類(lèi)型、不同操作系統(tǒng)中都得到了或多或少的應(yīng)用,形成了各種專(zhuān)用的或通用的sniffer產(chǎn)品,從簡(jiǎn)單捕獲400字節(jié)數(shù)據(jù)包的sniffit工具到集成的功能強(qiáng)到的具有sniffer網(wǎng)絡(luò)管理性質(zhì)的tvn商業(yè)軟件。從研究和實(shí)際應(yīng)用

28、上說(shuō)明sniffer技術(shù)在網(wǎng)絡(luò)管理中是一種行之有效的技術(shù)。由于現(xiàn)有網(wǎng)絡(luò)管理工具的存在,許多人認(rèn)為沒(méi)有自己再開(kāi)發(fā)網(wǎng)絡(luò)管理軟件的必要了。事實(shí)上,這種觀念是不正確的。因?yàn)?盡管現(xiàn)有的網(wǎng)絡(luò)管理工具提供了強(qiáng)大的網(wǎng)絡(luò)管理功能,但它不可能包羅萬(wàn)象,合適于任何情況。也基于這個(gè)原因,很多的網(wǎng)絡(luò)管理平臺(tái)提供了api,可以使第三方或客戶進(jìn)展二次開(kāi)發(fā)。這雖然使得網(wǎng)絡(luò)管理工具的開(kāi)發(fā)容易了許多,但前提是要掌握網(wǎng)絡(luò)管理的深沉的專(zhuān)業(yè)知識(shí)。功能強(qiáng)大的網(wǎng)絡(luò)管理工具其使用相應(yīng)也較為復(fù)雜,而客戶使用可能只關(guān)心自己想要實(shí)現(xiàn)的功能,而不迷失于相對(duì)無(wú)必要的復(fù)雜的功能環(huán)境中,同時(shí)希望減少管理負(fù)擔(dān),減少培訓(xùn)、操作和維護(hù)的費(fèi)用。另外優(yōu)秀的網(wǎng)絡(luò)管

29、理工具的價(jià)格也是很昂貴的,微小型企業(yè)可能無(wú)法承受。因此sniffer技術(shù)在網(wǎng)絡(luò)管理中的開(kāi)發(fā)應(yīng)用有著很大的必要性。shusniffer是我們自主開(kāi)發(fā)的具有獨(dú)立版權(quán)的軟件產(chǎn)品。它是針對(duì)播送信道網(wǎng)絡(luò)環(huán)境下的企事業(yè)單位局域網(wǎng)而專(zhuān)業(yè)設(shè)計(jì)的一套小巧、可靠、操作簡(jiǎn)便的計(jì)算機(jī)網(wǎng)絡(luò)診聽(tīng)分析軟件。它主要依靠信息在局域網(wǎng)中傳播的播送方式,捕獲信道上的報(bào)文,進(jìn)展一系列特定分析,提取出實(shí)用數(shù)據(jù)提供應(yīng)用戶作為參考。并且把數(shù)據(jù)存入數(shù)據(jù)庫(kù),提供歷史查詢。它可以模擬網(wǎng)絡(luò)報(bào)文傳輸,以及對(duì)截獲的報(bào)文進(jìn)展深層次的分析,理解報(bào)文的詳細(xì)內(nèi)容。它實(shí)現(xiàn)的主要功能包括:網(wǎng)絡(luò)實(shí)時(shí)監(jiān)視、報(bào)文捕獲與分析、報(bào)文發(fā)送、歷史查詢、系統(tǒng)配置,為網(wǎng)絡(luò)安康性能

30、狀態(tài)的分析、調(diào)整提供強(qiáng)有力的實(shí)用工具,成為計(jì)算機(jī)網(wǎng)絡(luò)管理體系中的重要組成局部。4.7sniffer對(duì)多協(xié)議的捕捉和分析的缺乏當(dāng)前sniffer技術(shù)的應(yīng)用還非常簡(jiǎn)單,對(duì)復(fù)雜多協(xié)議的捕獲和分析也有很大的缺陷。從推廣sniffer技術(shù)的企業(yè)來(lái)看,sniffer因要非常詳細(xì)的應(yīng)用于某個(gè)領(lǐng)域,因此只能做到對(duì)某個(gè)特定協(xié)議集做到準(zhǔn)確專(zhuān)業(yè)的分析口而今天的網(wǎng)絡(luò)通常由多個(gè)網(wǎng)段經(jīng)過(guò)路由器、網(wǎng)橋、交換機(jī)和an鏈路組成。任何一個(gè)網(wǎng)段都可能運(yùn)行多種網(wǎng)絡(luò)協(xié)議。例如,tp/ip協(xié)議與局域傳輸協(xié)議(如nvell的ipx)一起用于連接企業(yè)范圍網(wǎng)絡(luò)的協(xié)議。對(duì)于某些商業(yè)站點(diǎn),可能同時(shí)需要運(yùn)行多種協(xié)議簇netbeui,ipx/spx,

31、tp/ip,802.3和sna等,每個(gè)協(xié)議簇中又包括多種詳細(xì)應(yīng)用協(xié)議。這時(shí)很難找到一種sniffer幫助解決網(wǎng)絡(luò)問(wèn)題,因?yàn)樵S多sniffer往往將某些正確的協(xié)議數(shù)據(jù)包當(dāng)成了錯(cuò)誤數(shù)據(jù)包,然而我們要想解決復(fù)雜的網(wǎng)絡(luò)問(wèn)題,通常需要詳細(xì)地解析各協(xié)議數(shù)據(jù)包內(nèi)容。在實(shí)際應(yīng)用中,現(xiàn)有的sniffer軟件管理工具通常只能對(duì)單個(gè)協(xié)議或少數(shù)的協(xié)議進(jìn)展捕獲,例如sniffer工具軟件不能檢測(cè)諸如 和ftp之類(lèi)的應(yīng)用協(xié)議。這在工nterne七八ntranet環(huán)境中對(duì)網(wǎng)絡(luò)的有效管理是一個(gè)大缺陷。所以sniffer應(yīng)該有對(duì)多種協(xié)議的捕獲和分析才能,包含了目前最熱門(mén)的49所使用的通訊協(xié)議.提供廣泛且詳盡的協(xié)議解析,使sniffer成為一個(gè)功

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論