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

?

網(wǎng)絡(luò)嗅探器的設(shè)計(jì)與實(shí)現(xiàn)

2016-11-14 00:27:27吳燕
電腦知識(shí)與技術(shù) 2016年24期

吳燕

摘要:由于計(jì)算機(jī)網(wǎng)絡(luò)的開放性、互聯(lián)性特征,網(wǎng)絡(luò)安全及網(wǎng)絡(luò)評(píng)估的重要性日益凸顯。該設(shè)計(jì)在windows平臺(tái)下實(shí)現(xiàn)了一個(gè)sniff網(wǎng)絡(luò)嗅探器,該嗅探器能在多個(gè)軟件平臺(tái)上運(yùn)行,通過(guò)對(duì)軟件運(yùn)行結(jié)果的分析可以獲知網(wǎng)絡(luò)流量使用情況、網(wǎng)絡(luò)資源使用率以及網(wǎng)絡(luò)安全規(guī)則的執(zhí)行等情況。

關(guān)鍵詞:網(wǎng)絡(luò)嗅探器;sniff;數(shù)據(jù)包捕獲;

中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)24-0036-02

Abstract: Due to the openness and connectivity of network, the importance of network security and evaluation are becoming more and more important. The design and implementation of the network sniffer is in Windows platform .The sniffer software can run on multiple platforms. Analyzing the results of software, we can know the usage of network traffic, the usage of network resources and the implementation of network security rules,etc.

Key words: network sniffer; sniff; the packet capture

1 背景

隨著信息技術(shù)的發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)的廣泛應(yīng)用,隨之帶來(lái)的安全問(wèn)題也日益凸顯。讓我們不得不重視。無(wú)論是公司、政府機(jī)構(gòu)還是學(xué)校,都有需要保護(hù)數(shù)據(jù)的完整性及可用性。然而計(jì)算機(jī)網(wǎng)絡(luò)的連接多式多樣、五花八門、終端分布不均勻性,使網(wǎng)絡(luò)特別容易受到黑客、惡意軟件等的攻擊,數(shù)據(jù)的完整性、保密性和可用性要如何在這樣的環(huán)境的得以保護(hù),我們不得不采取全面的安全措施來(lái)全方位應(yīng)對(duì)各種網(wǎng)絡(luò)威脅。網(wǎng)絡(luò)嗅探器可以在對(duì)網(wǎng)絡(luò)安全管理的過(guò)程中,實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行測(cè)量和監(jiān)視,通過(guò)利用軟件或者硬件嗅探器捕獲數(shù)據(jù)包對(duì)數(shù)據(jù)內(nèi)容進(jìn)行分析處理。

嗅探器的分析結(jié)果可以獲知網(wǎng)絡(luò)流量使用情況、網(wǎng)絡(luò)資源使用率以及網(wǎng)絡(luò)安全規(guī)則的執(zhí)行情況等,作為網(wǎng)絡(luò)評(píng)估、網(wǎng)絡(luò)故障診斷和網(wǎng)絡(luò)優(yōu)化所使用,這樣就可以知道網(wǎng)絡(luò)的實(shí)際使用情況,找出網(wǎng)絡(luò)存在的漏洞和影響網(wǎng)絡(luò)性能的某些因素。比如ARP攻擊,在一個(gè)廣播式網(wǎng)絡(luò)中ARP攻擊很可能造成整個(gè)網(wǎng)段的癱瘓,要及時(shí)知道這些情況,我們可以通過(guò)網(wǎng)絡(luò)嗅探器抓包分析來(lái)獲取。再者網(wǎng)絡(luò)的安全策略的執(zhí)行情況,是否有受到攻擊,來(lái)自哪里的攻擊,網(wǎng)絡(luò)嗅探器可以在對(duì)網(wǎng)絡(luò)安全管理的過(guò)程中,實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行測(cè)量和監(jiān)視,通過(guò)利用軟件或者硬件嗅探器捕獲數(shù)據(jù)包對(duì)數(shù)據(jù)內(nèi)容進(jìn)行分析處理。

2 sniff嗅探技術(shù)基本原理

Sniff嗅探技術(shù)基于計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)。嗅探的實(shí)現(xiàn)依賴計(jì)算機(jī)的網(wǎng)絡(luò)協(xié)議模型,其中運(yùn)用最多的是TCP/IP協(xié)議模型。TCP/IP協(xié)議由加利福尼亞大學(xué)在UNIX操作系統(tǒng)下開發(fā)實(shí)現(xiàn)的。套接字(Socket)是計(jì)算機(jī)系統(tǒng)為了實(shí)現(xiàn)應(yīng)用程序與TCP/IP協(xié)議交互所開發(fā)的協(xié)議,Socket實(shí)質(zhì)提供的是能是進(jìn)程通信的端點(diǎn),雙方先各自創(chuàng)建一個(gè)通信端點(diǎn)來(lái)完成通信,一個(gè)完整的socket就類似一個(gè)完整信息的信封,寫了信件的類型,自己的地址,對(duì)方的地址,自己的名字。本軟件設(shè)計(jì)正是基于套接字的設(shè)計(jì)。

嗅探器作為一種網(wǎng)絡(luò)應(yīng)用程序,Socket起到了對(duì)編寫網(wǎng)絡(luò)應(yīng)用程序的一種簡(jiǎn)化,它特供了一個(gè)高層接口,使得編程人員不需要精通底層的細(xì)節(jié)。但是通常的套接字程序具有它的局限性即它無(wú)法接收到不屬于自己而經(jīng)過(guò)的數(shù)據(jù)包,此時(shí)網(wǎng)絡(luò)接口會(huì)對(duì)數(shù)據(jù)包做判斷,丟棄不屬于自己的數(shù)據(jù)包,而嗅探器的設(shè)計(jì)要求能夠接收到所有數(shù)據(jù),這就意味著需要把網(wǎng)卡設(shè)置成一種特殊的混雜模式。

如何通過(guò)原始套接字(raw socket)把網(wǎng)卡設(shè)置成混雜模式,與我們通常使用的數(shù)據(jù)流套接字TCP和數(shù)據(jù)包套接字UDP有很大的區(qū)別。在創(chuàng)建了原始套接字后,IP頭操作選項(xiàng)可以通過(guò)setsockopt()函數(shù)來(lái)實(shí)現(xiàn),然后再通過(guò)bind()函數(shù)將原始套接字綁定到本地網(wǎng)卡,通過(guò)WSAIoctl ()來(lái)進(jìn)行設(shè)置,讓網(wǎng)卡能夠接收到所有的數(shù)據(jù)。然后再用recv()函數(shù)來(lái)實(shí)現(xiàn)對(duì)UDP套接字和TCP套接字的獲取,到這里實(shí)際上已經(jīng)是可以對(duì)網(wǎng)絡(luò)進(jìn)行嗅探了。由于原始套接字的特殊性,它包含了數(shù)據(jù)傳輸過(guò)程中的IP頭、 TCP頭等信息但是這與流、數(shù)據(jù)報(bào)套接字不同,我們可以通過(guò)對(duì)數(shù)據(jù)中的原始協(xié)議進(jìn)行分析得出網(wǎng)絡(luò)相關(guān)信息。數(shù)據(jù)包被捕獲后就可以根據(jù)前面對(duì)IP數(shù)據(jù)段頭還有TCP數(shù)據(jù)段頭的結(jié)構(gòu)描述來(lái)對(duì)捕獲的數(shù)據(jù)包進(jìn)行分析。在利用套接字開發(fā)網(wǎng)絡(luò)嗅探器程序時(shí)的一般步驟是:首先,創(chuàng)建原始套接字,并設(shè)置其操作選項(xiàng);其次將原始套接字綁定到本地網(wǎng)卡地址上;網(wǎng)卡在混雜模式下默認(rèn)接收所有數(shù)據(jù),要實(shí)現(xiàn)抓包分析我們需要在這里將網(wǎng)卡設(shè)置成混雜模式,流程如圖1所示:

3 sniff網(wǎng)絡(luò)嗅探器軟件實(shí)現(xiàn)及測(cè)試

本軟件在C++環(huán)境下基于MFC框架利用TCP/IP協(xié)議實(shí)現(xiàn)了對(duì)數(shù)據(jù)包的解包、分析數(shù)據(jù)包功能。該嗅探器能在多個(gè)軟件平臺(tái)上運(yùn)行,比如Linux、window及Unix等平臺(tái),通過(guò)把網(wǎng)卡設(shè)置為混雜模式,來(lái)實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包進(jìn)行捕獲與分析。

在沒(méi)有網(wǎng)絡(luò)流經(jīng)的情況即斷網(wǎng)情況下,沒(méi)有數(shù)據(jù)的流通,故所設(shè)計(jì)的sniff網(wǎng)絡(luò)嗅探器不能嗅探到數(shù)據(jù),由此也可以知曉網(wǎng)絡(luò)是否連通,作為網(wǎng)絡(luò)故障的診斷,從圖2可以看到,此時(shí)網(wǎng)絡(luò)為斷開狀態(tài)。沒(méi)有數(shù)據(jù)的流過(guò),因此嗅探器無(wú)法偵探到數(shù)據(jù)。

網(wǎng)絡(luò)嗅探器程序設(shè)計(jì)完成后,在Windows平臺(tái)下進(jìn)行運(yùn)行調(diào)試,修改錯(cuò)誤,使其能完成捕獲數(shù)據(jù)包和分析數(shù)據(jù)包的功能,并將解析結(jié)果在MFC界面顯示出來(lái),如圖3所示:

由圖2,圖3我們能看到網(wǎng)絡(luò)嗅探器可以完成預(yù)期的目標(biāo),進(jìn)行了數(shù)據(jù)包截獲還有分析,顯示了分析結(jié)果。由圖2還能夠看到捕獲模塊可以實(shí)現(xiàn)將網(wǎng)絡(luò)的接口設(shè)置成混雜模式,也捕獲了局域網(wǎng)內(nèi)存在的數(shù)據(jù)包,在這里還能夠看到網(wǎng)絡(luò)狀態(tài)及網(wǎng)絡(luò)數(shù)據(jù)的流動(dòng)情況,供網(wǎng)絡(luò)分析之用。

參考文獻(xiàn):

[1] 王艷平, 張?jiān)? Windows網(wǎng)絡(luò)與通信程序設(shè)計(jì)[M]. 北京: 人民郵電出版社, 2006: 21-45.

[2] Andrew S.Tanenbau. 計(jì)算機(jī)網(wǎng)絡(luò)[M]. 4版.北京: 清華大學(xué)出版社, 2004.

[3] 謝希仁. 計(jì)算機(jī)網(wǎng)絡(luò)[M]. 5版.北京: 電子工業(yè)出版社, 2012.

[4] 朱桂英, 張?jiān)? Visual C++網(wǎng)絡(luò)編程開發(fā)與實(shí)踐[M]. 北京: 清華大學(xué)出版社, 2013: 43-57.

[5] 吳應(yīng)良, 韋崗. 網(wǎng)絡(luò)入侵及其安全防范對(duì)策研究[J]. 計(jì)算機(jī)應(yīng)用研究, 2006(11): 12-14.

[6] Todd Lammle.Cisco Certified Network Associate Study Guide [M]. 6th ed. 北京: 電子工業(yè)出版社, 2008.

台山市| 昭通市| 彩票| 竹北市| 思南县| 饶平县| 洞头县| 腾冲县| 松原市| 黄平县| 前郭尔| 中阳县| 定安县| 澜沧| 洪洞县| 怀宁县| 通许县| 永吉县| 鹿泉市| 英吉沙县| 大埔区| 揭西县| 全椒县| 繁峙县| 乐至县| 丰县| 大埔县| 河北省| 江津市| 连南| 玉山县| 靖州| 永安市| 大姚县| 宁海县| 新龙县| 武清区| 龙岩市| 永嘉县| 城市| 克拉玛依市|