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

下載本文檔

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

文檔簡介

1、Linux系統(tǒng)下Sniffer的實現(xiàn)二blreadtable()/讀取table.datfile*tab=fpen(table_file,r);/翻開文件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)實中的很多系統(tǒng)中,buffer是很重要的一種思

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

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

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

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

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

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

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

10、用戶設(shè)置了過濾條件,那么編譯和安裝過濾代碼pap_pile(p,fde,filter_string,0,netask);pap_setfilter(p,fde);l進入循環(huán),反復(fù)捕獲數(shù)據(jù)包fr(;)hile(ptr=(har*)(pap_next(p,hdr)=null);l對捕獲的數(shù)據(jù)進展類型轉(zhuǎn)換,轉(zhuǎn)化成以太數(shù)據(jù)包類型eth=(strutlibnet_ethernet_hdr*)ptr;l對以太頭部進展分析,判斷所包含的數(shù)據(jù)包類型,做進一步的處理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下編寫網(wǎng)絡(luò)包捕獲程序,比擬簡單的方法是在超級用戶形式下,利用類型為sk_paket的套接口(sket函數(shù))來捕獲鏈路鄭linuxsk_paket編程要點如下: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個輸入?yún)?shù):dain參數(shù)表示所使用的協(xié)議族;type參數(shù)表示套

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

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

14、utifreqifr;strpy(ifr.ifr_nae,dev);/(har*)dev標(biāo)識設(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ù)幀幀長這里幀頭構(gòu)造類型ethhdr在/usr/inlude/linux/if_ether.h中定義:strutethhdrunsignedharh_desteth_alen;/目的a地址unsignedharh_sureeth_alen;/源a地址unsignedshrth_prt;/幀中數(shù)據(jù)協(xié)議類型代碼基于上述定義,一旦ep讀入幀中數(shù)據(jù),就可以

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

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

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

19、rutethhdr*)ep,sizef(ep);/fl2為捕獲的數(shù)據(jù)幀幀長printf(sure=%x,dest=%xn,tph-sure,tph-dest);/取源端口和目的端口號4.3怎樣把網(wǎng)卡置為“混雜形式?在以太網(wǎng)中,通過播送實現(xiàn)數(shù)據(jù)傳輸,在同一子網(wǎng)段的所有網(wǎng)卡都可“聽到網(wǎng)絡(luò)總線上傳輸?shù)乃袛?shù)據(jù),但不是所有數(shù)據(jù)都能被接收到。在系統(tǒng)正常工作時,一個合法的網(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)主機連接在共享型以太網(wǎng)集線器上時,采用“混雜方式可以捕獲到同一沖突域上傳輸?shù)臄?shù)據(jù)幀;但當(dāng)主機連接在交換機上時,由于交換機通常不會將數(shù)據(jù)幀播送到所有端口上(除非在其a地址端口映射表內(nèi)找不到相應(yīng)表項),因此不能利用以太網(wǎng)絡(luò)的播送特性進展捕獲。這時,可以利用交換機的端口鏡像功能實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包捕獲。因為當(dāng)端口a和端口b之間建立鏡像關(guān)系后,流經(jīng)端口a的所有信息流量將同時通過端口b輸出,所以可以在端口b捕獲到端口a的數(shù)據(jù)。所以,要想運行sniffer工具,執(zhí)行“偵聽功能,就必須使得網(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軟件可以進展網(wǎng)絡(luò)流量監(jiān)控、拓?fù)浒l(fā)現(xiàn)、入侵檢測,給網(wǎng)絡(luò)管理帶來了極大的便利。正由于它能被動獲取網(wǎng)絡(luò)傳輸?shù)拿魑男畔?,因此,一旦被黑客利用,給網(wǎng)絡(luò)帶來的危害也是宏大的。作為一種入侵手段,嗅探器令人防不勝防,因為它被動承受而不主動獲得。它不會向網(wǎng)絡(luò)上發(fā)出任何包,網(wǎng)絡(luò)用戶很難發(fā)現(xiàn)它的存在。到目前為止還沒有一種比擬好的防范手段。防范sniffer攻擊,只能依靠用戶和網(wǎng)絡(luò)軟件

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

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

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

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

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

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

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

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

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

溫馨提示

  • 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

提交評論