網(wǎng)絡(luò)安全監(jiān)控系統(tǒng)中漏洞掃描模塊的研究與設(shè)計(jì)-畢業(yè)論文_第1頁
網(wǎng)絡(luò)安全監(jiān)控系統(tǒng)中漏洞掃描模塊的研究與設(shè)計(jì)-畢業(yè)論文_第2頁
網(wǎng)絡(luò)安全監(jiān)控系統(tǒng)中漏洞掃描模塊的研究與設(shè)計(jì)-畢業(yè)論文_第3頁
網(wǎng)絡(luò)安全監(jiān)控系統(tǒng)中漏洞掃描模塊的研究與設(shè)計(jì)-畢業(yè)論文_第4頁
網(wǎng)絡(luò)安全監(jiān)控系統(tǒng)中漏洞掃描模塊的研究與設(shè)計(jì)-畢業(yè)論文_第5頁
已閱讀5頁,還剩50頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

本科畢業(yè)論文(科研訓(xùn)練、畢業(yè)設(shè)計(jì))題 目:網(wǎng)絡(luò)安全監(jiān)控系統(tǒng)中漏洞掃描模塊的研究與設(shè)計(jì)姓 名:學(xué) 院:軟件學(xué)院系:專 業(yè):軟件工程年 級(jí): 學(xué) 號(hào):指導(dǎo)教師: 職稱: 年 月48摘要自從計(jì)算機(jī)進(jìn)入人類歷史以來,它就日益改變著人類的生活,在人們生活中扮演著越來越重要的角色。以網(wǎng)絡(luò)方式獲取信息和交流信息已成為現(xiàn)代信息社會(huì)的一個(gè)重要特征?;ヂ?lián)網(wǎng)作為當(dāng)代社會(huì)傳播信息資源的工具已經(jīng)越來越重要。網(wǎng)絡(luò)已經(jīng)成為當(dāng)今社會(huì)人們生活中必不可少的一部分。而隨著計(jì)算機(jī)網(wǎng)絡(luò)越來越復(fù)雜,網(wǎng)絡(luò)安全己變得日益重要,要求網(wǎng)絡(luò)安全對(duì)網(wǎng)絡(luò)變化做出快速反應(yīng),以及大型網(wǎng)絡(luò)安全提供必要的手段等等。網(wǎng)絡(luò)安全監(jiān)控分析系統(tǒng)作為網(wǎng)絡(luò)安全的一個(gè)重要的基礎(chǔ)系統(tǒng),對(duì)網(wǎng)絡(luò)的安全進(jìn)行實(shí)時(shí)的監(jiān)控,為網(wǎng)絡(luò)黑客攻擊防范工作起到了最重要的作用。我們所設(shè)計(jì)的網(wǎng)絡(luò)安全監(jiān)控分析系統(tǒng)是運(yùn)用winsock,多線程,MFC,Snort等技術(shù)并基于WINPCAP進(jìn)行開發(fā)的,采用VisualC+作為開發(fā)平臺(tái),MySQL作為后臺(tái)的數(shù)據(jù)庫管理系統(tǒng),提供良好的用戶管理界面,可以實(shí)現(xiàn)對(duì)本地網(wǎng)絡(luò)安全的實(shí)時(shí)監(jiān)控、統(tǒng)計(jì)分析。論文中闡述了在網(wǎng)絡(luò)安全監(jiān)控系統(tǒng)中漏洞分析模塊的設(shè)計(jì)與實(shí)現(xiàn),并通過實(shí)際測(cè)試對(duì)其性能進(jìn)行驗(yàn)證。關(guān)鍵詞 漏洞分析 多線程 WinsockAbstractSince the computer came into the human beings history,they change the peoplelife a lot,and play a more and more important role. The way to obtain and exchange information through the Internet has become an important feature of the modern information society. Internet as a resource tool for the dissemination of information in contemporary society has become increasingly important. The network has become an essential part of societys life.As computer networks become more complex, network security has become increasingly important for the network to react quickly to changes in the security of the network, as well as for the security of large networks with the necessary means, and so on. Network security system, as an important foundation system of the network security, conducts a real-time monitoring to the network security control, plays the most important role in the follow-up management of the network and network hackerscrime prevention.Based on the analysis of the network traffic monitoring system we designed is based on the technique of winsock,multithreading,MFC,Snort and WinPcap to develop, uses Visual C+ a development platform, MySQL as the background database management system. It can achieved on real-time monitoring and statistical analysis on Local network security. In the paper on network security monitoring system of loopholes in the design and implementation of the modules, and through practical test to verify its performance.Key words: Analysis of the loopholes, Denial of Service Attacks, Winsock目錄第一章緒論11.1課題背景11.2主要研究內(nèi)容21.3論文組織結(jié)構(gòu)2第二章基本概念和開發(fā)工具32.1 基本概念介紹32.1.1以太網(wǎng)簡介32.1.2 IP/TCP、UDP、ICMP、Winpcap協(xié)議32.1.3 端口、多線程、Winsock及其常用函數(shù)介紹62.1.4 snort簡介122.2 設(shè)計(jì)工具介紹132.2.1 Microsoft VS .net簡介132.2.2 Microsoft Visual C+簡介142.2.3 MySQL簡介152.2.4 MFC簡介16第三章系統(tǒng)詳細(xì)設(shè)計(jì)173.1系統(tǒng)開發(fā)目的和設(shè)計(jì)目標(biāo)173.2 系統(tǒng)整體設(shè)計(jì)思想173.3 三大模塊詳細(xì)設(shè)計(jì)方案183.3.1 漏洞掃描與端口探測(cè)183.3.2 流量監(jiān)控203.3.3 入侵檢測(cè)29第四章系統(tǒng)實(shí)現(xiàn)304.1 系統(tǒng)運(yùn)行主界面304.2 系統(tǒng)功能演示304.2.1 漏洞掃描與端口探測(cè)功能304.2.2 流量監(jiān)控與分析功能324.2.3 入侵檢測(cè)功能36第五章 總結(jié)37參 考 文 獻(xiàn)38致 謝39ContentsChapter1 Introduction11.1 Subject Background11.2 Main Content21.3 Papers Organizational Structure2Chapter2 Basic Concept and Design Tools32.1 Introducing of Basic Concept32.1.1 Ethernet32.1.2 IP/TCP、UDP、ICMP、Winpcap Protocols32.1.3 Port、Multithreading、Winsock and Usual Function62.1.4 Snort122.2 Introducing of Design Tools132.2.1 Microsoft VS .net132.2.2 Microsoft Visual C+142.2.3 MySQL152.2.4 MFC16Chapter3 Detail of System Design173.1Purpose and Aim173.2 Design Ideas173.3 Design Programme of The Three Main Part183.3.1 Network Vulnerability Scan and Port Scan183.3.2 Flow Analysis203.3.3 Intrusion Detection29Chapter4 System Implementation304.1 Main Interface of the System304.2 Function Show304.2.1 Network Vulnerability Scan and Port Scan304.2.2 Flow Analysis324.2.3 Intrusion Detection36Chapter5 Conclusions37References38Acknowledgement39第一章 緒論1.1課題背景由于互聯(lián)網(wǎng)的發(fā)展,信息安全的內(nèi)涵也就發(fā)生了根本的變化。它不僅從一般性的防衛(wèi)變成了一種非常普通的防范,而且還從一種專門的領(lǐng)域變成了無處不在。當(dāng)人類步入這一信息社會(huì)、網(wǎng)絡(luò)社會(huì)的時(shí)候,一套完整的網(wǎng)絡(luò)安全體系必不可少。當(dāng)今社會(huì)是一個(gè)信息化社會(huì),計(jì)算機(jī)通信網(wǎng)絡(luò)在政治、軍事、金融、商業(yè)、交通、電信、文教等方面的作用日益增加。社會(huì)對(duì)計(jì)算機(jī)網(wǎng)絡(luò)的依賴也日益增強(qiáng),尤其是計(jì)算機(jī)技術(shù)和通信技術(shù)相結(jié)合所形成的信息基礎(chǔ)設(shè)施已經(jīng)成為反映信息社會(huì)特征最重要的基礎(chǔ)設(shè)施。人們建立了各種各樣完備的信息系統(tǒng),使得人類社會(huì)的一些機(jī)密和財(cái)富高度集于計(jì)算機(jī)中。但是這些信息系統(tǒng)都是依靠計(jì)算機(jī)網(wǎng)絡(luò)接受和處理信息,實(shí)現(xiàn)其相互間的聯(lián)系和對(duì)目標(biāo)的管理、控制。隨著網(wǎng)絡(luò)上各種新業(yè)務(wù)的興起,比如電子商務(wù)、電子現(xiàn)金、數(shù)字貨幣、網(wǎng)上銀行等的興起,數(shù)據(jù)的保密問題顯得十分重要。由于互聯(lián)網(wǎng)早期設(shè)計(jì)的缺陷,在廣泛普及的同時(shí)越來越多的安全問題開始暴露出來。在人類進(jìn)入信息時(shí)代的今天,人們對(duì)重要信息,小到個(gè)人隱私,個(gè)人虛擬財(cái)產(chǎn),大到商業(yè)機(jī)密,國家安全機(jī)密的重視程度與日俱增。信息網(wǎng)絡(luò)已經(jīng)成為社會(huì)發(fā)展的重要保證。信息網(wǎng)絡(luò)涉及到國家的政府、軍事、文教等諸多領(lǐng)域。包括政府宏觀調(diào)控決策、商業(yè)經(jīng)濟(jì)信息、銀行資金轉(zhuǎn)帳、股票證券、能源資源數(shù)據(jù)、科研數(shù)據(jù)等重要信息。其中有很多是敏感信息,甚至是國家機(jī)密,難免會(huì)吸引來自世界各地的各種人為攻擊(例如信息泄漏、信息竊取、數(shù)據(jù)篡改、數(shù)據(jù)刪添、計(jì)算機(jī)病毒等)。同時(shí),網(wǎng)絡(luò)實(shí)體還要經(jīng)受諸如水災(zāi)、火災(zāi)、地震、電磁輻射等方面的考驗(yàn)。因此即使是一個(gè)非常普通的電腦應(yīng)用者,都應(yīng)該擁有一個(gè)可以保障自身信息安全的網(wǎng)絡(luò)安全檢測(cè)系統(tǒng),了解一點(diǎn)信息安全知識(shí)。1.2主要研究內(nèi)容互聯(lián)網(wǎng)絡(luò)中,無論是應(yīng)用業(yè)務(wù)種類還是流量規(guī)模都在飛速發(fā)展。不斷變化的網(wǎng)絡(luò)需要相應(yīng)靈活的監(jiān)控工具幫助網(wǎng)絡(luò)管理者及時(shí)了解網(wǎng)絡(luò)狀態(tài),以便于進(jìn)行網(wǎng)絡(luò)規(guī)劃及故障排除。目前,網(wǎng)絡(luò)安全問題正受到越來越多的關(guān)注,我們有必要認(rèn)真地去認(rèn)識(shí)它、了解它,并最終應(yīng)用它,讓它幫助我們解決各種各樣的網(wǎng)絡(luò)問題。本文設(shè)計(jì)完成的網(wǎng)絡(luò)安全監(jiān)控分析系統(tǒng)是以監(jiān)控用戶網(wǎng)絡(luò)流量情況、掃描安全漏洞、防范黑客攻擊進(jìn)行入侵檢測(cè)為主要目的而進(jìn)行開發(fā)的。基于Winpcap 協(xié)議來完成網(wǎng)絡(luò)數(shù)據(jù)包的捕獲,通過對(duì)所捕獲數(shù)據(jù)包的內(nèi)容進(jìn)行統(tǒng)計(jì)分析,完成對(duì)網(wǎng)絡(luò)流量的監(jiān)控分析和對(duì)可能發(fā)生的拒絕服務(wù)攻擊進(jìn)行檢測(cè)等功能,通過Snort來對(duì)網(wǎng)絡(luò)安全可能存在的危險(xiǎn)進(jìn)行監(jiān)測(cè)。其中將重點(diǎn)分析漏洞分析模塊的設(shè)計(jì)與實(shí)現(xiàn)。1.3論文組織結(jié)構(gòu)本論文結(jié)構(gòu)如下:第一章:緒論。介紹本論文的課題背景,主要研究內(nèi)容和和組織結(jié)構(gòu)。背景主要介紹了當(dāng)今網(wǎng)絡(luò)的重要性和安全狀況,主要研究內(nèi)容介紹了網(wǎng)絡(luò)安全問題的基本情況、漏洞的產(chǎn)生、流量統(tǒng)計(jì)情況,以及系統(tǒng)的實(shí)現(xiàn)意義。第二章:基本概念和設(shè)計(jì)工具。介紹本系統(tǒng)使用的技術(shù),如TCP/IP網(wǎng)絡(luò)協(xié)議的起源及分層結(jié)構(gòu),端口功能簡介,多線程技術(shù)和winsock技術(shù),snort技術(shù)介紹等。以及系統(tǒng)的開發(fā)環(huán)境:Microsoft Visual Studio .net,Microsoft Foundation Class,MySQL等。第三章:系統(tǒng)詳細(xì)設(shè)計(jì)。主要介紹系統(tǒng)的設(shè)計(jì)模式,類之間的關(guān)聯(lián)(類圖),系統(tǒng)運(yùn)行的整體流程和詳細(xì)的圖表說明。以及系統(tǒng)詳細(xì)設(shè)計(jì),主要包括端口探測(cè)子模塊、漏洞掃描子模塊、安全檢測(cè)、流量統(tǒng)計(jì)幾個(gè)模塊。第四章:系統(tǒng)實(shí)現(xiàn)。簡要說明了系統(tǒng)的運(yùn)行界面,包括系統(tǒng)各個(gè)部分的功能和各個(gè)控件的作用。并演示了端口探測(cè)功能和漏洞掃描功能的執(zhí)行結(jié)果,流量統(tǒng)計(jì)情況,以及入侵檢測(cè)執(zhí)行結(jié)果。第五章:總結(jié)??偨Y(jié)了系統(tǒng)設(shè)計(jì)的經(jīng)驗(yàn)以及個(gè)人對(duì)系統(tǒng)的評(píng)價(jià)等。第二章 基本概念和開發(fā)工具系統(tǒng)的開發(fā)將會(huì)運(yùn)用到很多方面的技術(shù),我們需要對(duì)一些基本概念和設(shè)計(jì)工具進(jìn)行了解,這樣才能很好的理解各種概念和工具的應(yīng)用。下面就介紹一些基本概念和設(shè)計(jì)工具,以及它們的作用。2.1 基本概念介紹本系統(tǒng)以Visual Studio.Net作為開發(fā)平臺(tái),利用TCP/IP協(xié)議和winsock技術(shù)進(jìn)行端口探測(cè)和漏洞分析,基于Winpcap協(xié)議的網(wǎng)絡(luò)流量監(jiān)控系統(tǒng),實(shí)現(xiàn)針對(duì)不同網(wǎng)絡(luò)協(xié)議和不同網(wǎng)絡(luò)服務(wù)的相關(guān)數(shù)據(jù)包流量的實(shí)時(shí)分析,并將檢測(cè)數(shù)據(jù)保存到數(shù)據(jù)庫,采用snort技術(shù)對(duì)系統(tǒng)安全進(jìn)行監(jiān)測(cè)。整個(gè)系統(tǒng)開發(fā)采用C語言實(shí)現(xiàn)后臺(tái)數(shù)據(jù)包捕獲,VC+實(shí)現(xiàn)前臺(tái)界面顯示,利用MySQL實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)。所以在本章中主要對(duì)以太網(wǎng)、IP/TCP協(xié)議、UDP和ICMP協(xié)議、Winpcap協(xié)議、端口、多線程、Winsock、Snort、MySQL數(shù)據(jù)庫以及系統(tǒng)開發(fā)工具做詳細(xì)介紹。2.1.1以太網(wǎng)簡介以太網(wǎng)(Ethernet)是一種計(jì)算機(jī)局域網(wǎng)組網(wǎng)技術(shù)。IEEE制定的IEEE802.3標(biāo)準(zhǔn)給出了以太網(wǎng)的技術(shù)標(biāo)準(zhǔn)。它規(guī)定了包括物理層的連線、電信號(hào)和介質(zhì)訪問層協(xié)議的內(nèi)容。以太網(wǎng)是當(dāng)前應(yīng)用最普遍的局域網(wǎng)技術(shù)。它很大程度上取代了其他局域網(wǎng)標(biāo)準(zhǔn),如令牌環(huán)網(wǎng)、FDDI和ARCNET。以太網(wǎng)的標(biāo)準(zhǔn)拓?fù)浣Y(jié)構(gòu)為總線型拓?fù)?,但目前的快速以太網(wǎng)(100BASE-T、1000BASE-T標(biāo)準(zhǔn))為了最大程度的減少?zèng)_突,最大程度的提高網(wǎng)絡(luò)速度和使用效率,使用交換機(jī)(Switch)來進(jìn)行網(wǎng)絡(luò)連接和組織,這樣,以太網(wǎng)的拓?fù)浣Y(jié)構(gòu)就成了星型,但在邏輯上,以太網(wǎng)仍然使用總線型拓?fù)浜虲SMA/CD(CarrierSenseMultipleAccess/CollisionDetect即帶沖突檢測(cè)的載波監(jiān)聽多路訪問)的總線爭(zhēng)用技術(shù),并以10 Mbps的速率運(yùn)行在多種類型的電纜上。2.1.2 IP/TCP、UDP、ICMP、Winpcap協(xié)議TCP/IP 協(xié)議是在60 年代由麻省理工學(xué)院和一些商業(yè)組織為美國國防部開發(fā)的。TCP/IP協(xié)議是支持Internet/Intranet 的基本通信協(xié)議。傳輸控制協(xié)議TCP(Transmission Control Protocol),負(fù)責(zé)數(shù)據(jù)的流量控制,并保證傳輸?shù)恼_性;網(wǎng)際協(xié)議IP(Internet Protocol),負(fù)責(zé)將數(shù)據(jù)從一處傳往另一處。TCP/IP 協(xié)議具有廣泛的兼容性和可伸縮性,可連接不同的計(jì)算機(jī)網(wǎng)絡(luò)協(xié)議、不同的網(wǎng)絡(luò)設(shè)備。TCP/IP 已成為網(wǎng)絡(luò)互連事實(shí)上的標(biāo)準(zhǔn),并成為支持Internet/Intranet 的協(xié)議標(biāo)準(zhǔn)。TCP/IP協(xié)議并不完全符合OSI的七層參考模型。傳統(tǒng)的開放式系統(tǒng)互連參考模型,是一種通信協(xié)議的7層抽象的參考模型,其中每一層執(zhí)行某一特定任務(wù)。該模型的目的是使各種硬件在相同的層次上相互通信。這7層是:物理層、數(shù)據(jù)鏈路層、網(wǎng)路層、傳輸層、會(huì)話層、表示層和應(yīng)用層。而TCP/IP通訊協(xié)議采用了4層的層級(jí)結(jié)構(gòu),每一層都呼叫它的下一層所提供的網(wǎng)絡(luò)來完成自己的需求。這4層分別為: 應(yīng)用層:應(yīng)用程序間溝通的層,如簡單電子郵件傳輸(SMTP)、文件傳輸協(xié)議(FTP)、網(wǎng)絡(luò)遠(yuǎn)程訪問協(xié)議(Telnet)等。 傳輸層:在此層中,它提供了節(jié)點(diǎn)間的數(shù)據(jù)傳送服務(wù),如傳輸控制協(xié)議(TCP)、用戶數(shù)據(jù)報(bào)協(xié)議(UDP)等,TCP和UDP給數(shù)據(jù)包加入傳輸數(shù)據(jù)并把它傳輸?shù)较乱粚又校@一層負(fù)責(zé)傳送數(shù)據(jù),并且確定數(shù)據(jù)已被送達(dá)并接收。 互連網(wǎng)絡(luò)層:負(fù)責(zé)提供基本的數(shù)據(jù)封包傳送功能,讓每一塊數(shù)據(jù)包都能夠到達(dá)目的主機(jī)(但不檢查是否被正確接收),如網(wǎng)際協(xié)議(IP)。 網(wǎng)絡(luò)接口層:對(duì)實(shí)際的網(wǎng)絡(luò)媒體的管理,定義如何使用實(shí)際網(wǎng)絡(luò)(如Ethernet、Serial Line等)來傳送數(shù)據(jù)。用戶數(shù)據(jù)報(bào)協(xié)議UDP(User Datagram Protocol)是 ISO 參考模型中一種無連接的傳輸層協(xié)議,提供面向事務(wù)的簡單不可靠信息傳送服務(wù)。 UDP 協(xié)議基本上是 IP 協(xié)議與上層協(xié)議的接口。 UDP 協(xié)議適用端口分辨運(yùn)行在同一臺(tái)設(shè)備上的多個(gè)應(yīng)用程序。與 TCP 不同, UDP 并不提供對(duì) IP 協(xié)議的可靠機(jī)制、流控制以及錯(cuò)誤恢復(fù)功能等。由于 UDP 比較簡單, UDP 頭包含很少的字節(jié),比 TCP 負(fù)載消耗少。UDP 適用于不需要 TCP 可靠機(jī)制的情形,比如,當(dāng)高層協(xié)議或應(yīng)用程序提供錯(cuò)誤和流控制功能的時(shí)候。 UDP 是傳輸層協(xié)議,服務(wù)于很多知名應(yīng)用層協(xié)議,包括網(wǎng)絡(luò)文件系統(tǒng)(NFS)、簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)、域名系統(tǒng)(DNS)以及簡單文件傳輸系統(tǒng)(TFTP)Internet 控制信息協(xié)議ICMP(Internet Control Message Protocol)是 IP 組的一個(gè)整合部分。通過 IP 包傳送的 ICMP 信息主要用于涉及網(wǎng)絡(luò)操作或錯(cuò)誤操作的不可達(dá)信息。ICMP 包發(fā)送是不可靠的,所以主機(jī)不能依靠接收 ICMP 包解決任何網(wǎng)絡(luò)問題。ICMP 的主要功能有:通告網(wǎng)絡(luò)錯(cuò)誤、通告網(wǎng)絡(luò)擁塞、協(xié)助解決故障、通告超時(shí)。協(xié)議結(jié)構(gòu)如下:Winpcap是一個(gè)免費(fèi)公開的軟件系統(tǒng)。它用于windows系統(tǒng)下的直接的網(wǎng)絡(luò)編程。大多數(shù)網(wǎng)絡(luò)應(yīng)用程序訪問網(wǎng)絡(luò)是通過廣泛使用的套接字。這種方法很容易實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)傳輸,因?yàn)椴僮飨到y(tǒng)負(fù)責(zé)底層的細(xì)節(jié)(比如協(xié)議棧,數(shù)據(jù)流組裝等)以及提供了類似于文件讀寫的函數(shù)接口。圖21 Winpcap的內(nèi)部結(jié)構(gòu)Winpcap的主要組成及其功能:第一個(gè)模塊NPF(Netgroup Packet Filter),是一個(gè)虛擬設(shè)備驅(qū)動(dòng)程序文件。它的功能是過濾數(shù)據(jù)包,并把這些數(shù)據(jù)包原封不動(dòng)地傳給用戶態(tài)模塊,這個(gè)過程中包括了一些操作系統(tǒng)特有的代碼。第二個(gè)模塊packet.dll 為win32 平臺(tái)提供了一個(gè)公共的接口。不同版本的Windows 系統(tǒng)都有自己的內(nèi)核模塊和用戶層模塊。Packet.dll 用于解決這些不同。調(diào)用Packet.dll 的程序可以運(yùn)行在不同版本的Windows 平臺(tái)上,而無需重新編譯。第三個(gè)模塊Wpcap.dll 是不依賴于操作系統(tǒng)的。它提供了更加高層、抽象的函數(shù)。packet.dll直接映射了內(nèi)核的調(diào)用。Wpcap.dll 提供了更加友好、功能更加強(qiáng)大的函數(shù)調(diào)用。Winpcap 可以為Win32 應(yīng)用程序提供訪問網(wǎng)絡(luò)底層的能力。它提供了以下的各項(xiàng)功能:a. 捕獲原始數(shù)據(jù)包,包括在共享網(wǎng)絡(luò)上各主機(jī)發(fā)送/接收的以及相互之間交換的數(shù)據(jù)包;b. 在數(shù)據(jù)包發(fā)往應(yīng)用程序之前,按照自定義的規(guī)則將某些特殊的數(shù)據(jù)包過濾掉;c. 在網(wǎng)絡(luò)上發(fā)送原始的數(shù)據(jù)包;d. 收集網(wǎng)絡(luò)通信過程中的統(tǒng)計(jì)信息。Winpcap 的主要功能在于獨(dú)立于主機(jī)協(xié)議(如TCP-IP)而發(fā)送和接收原始數(shù)據(jù)報(bào)。也就是說,Winpcap 不能阻塞,過濾或控制其他應(yīng)用程序數(shù)據(jù)報(bào)的發(fā)收,它僅僅只是監(jiān)聽共享網(wǎng)絡(luò)上傳送的數(shù)據(jù)報(bào)。目前基于Winpcap 的應(yīng)用主要有:WinDump、Analyzer、Ethereal 以及snort,這些軟件能夠捕捉網(wǎng)絡(luò)通信、讀取并翻譯來自其他系統(tǒng)的tcpdump 類型二進(jìn)制數(shù)據(jù)包。另外還有Sniffer,Project URL Snooper,Hidownload 等有特定實(shí)際用途的網(wǎng)絡(luò)軟件。2.1.3 端口、多線程、Winsock及其常用函數(shù)介紹端口是計(jì)算機(jī)與外界通訊交流的出口。應(yīng)用程序通過系統(tǒng)調(diào)用與某端口建立連接(binding)后,傳輸層傳給該端口的數(shù)據(jù)都被相應(yīng)的進(jìn)程所接收,相應(yīng)進(jìn)程發(fā)給傳輸層的數(shù)據(jù)都從該端口輸出。在TCP/IP協(xié)議的實(shí)現(xiàn)中,端口操作類似于一般的I/O操作,進(jìn)程獲取一個(gè)端口,相當(dāng)于獲取本地唯一的I/O文件,可以用一般的讀寫方式訪問類似于文件描述符,每個(gè)端口都擁有一個(gè)叫端口號(hào)的整數(shù)描述符,用來區(qū)別不同的端口。按端口號(hào)可分為3大類:(1)公認(rèn)端口(WellKnownPorts):從0到1023,它們緊密綁定(binding)于一些服務(wù)。通常這些端口的通訊明確表明了某種服務(wù)的協(xié)議。例如:80端口實(shí)際上總是HTTP通訊。(2)注冊(cè)端口(RegisteredPorts):從1024到49151。它們松散地綁定于一些服務(wù)。也就是說有許多服務(wù)綁定于這些端口,這些端口同樣用于許多其它目的。例如:許多系統(tǒng)處理動(dòng)態(tài)端口從1024左右開始。(3)動(dòng)態(tài)和/或私有端口(Dynamicand/orPrivatePorts):從49152到65535。理論上,不應(yīng)為服務(wù)分配這些端口。實(shí)際上,機(jī)器通常從1024起分配動(dòng)態(tài)端口。但也有例外:SUN的RPC端口從32768開始。端口掃描用于判斷目標(biāo)主機(jī)的端口是否開放。從黑客的角度講,攻擊一臺(tái)聯(lián)網(wǎng)主機(jī)首先必定是尋找對(duì)方開放了哪些網(wǎng)絡(luò)服務(wù),即便該主機(jī)可能有防火墻保護(hù),只要它開放了一些網(wǎng)絡(luò)服務(wù),那么其安全性就會(huì)大大降低。而獲得目標(biāo)主機(jī)是否開放某些服務(wù),最好的辦法就是嘗試連接該服務(wù)所對(duì)應(yīng)的端口。其工作原理為向掃描對(duì)象的TCP/UDP端口發(fā)送連接請(qǐng)求,根據(jù)對(duì)方的回應(yīng)判斷端口是否開放。具體流程將在Winsock函數(shù)中進(jìn)行介紹。線程(Thread)是進(jìn)程(Process)中的一個(gè)實(shí)體,是被系統(tǒng)獨(dú)立調(diào)度和分派的基本單位。線程自己不擁有系統(tǒng)資源,只擁有一點(diǎn)在運(yùn)行中必不可少的資源,但它可與同屬一個(gè)進(jìn)程的其它線程共享進(jìn)程所擁有的全部資源。一個(gè)線程可以創(chuàng)建和撤消另一個(gè)線程,同一進(jìn)程中的多個(gè)線程之間可以并發(fā)執(zhí)行。由于線程之間的相互制約,致使線程在運(yùn)行中呈現(xiàn)出間斷性。線程也有就緒、阻塞和運(yùn)行三種基本狀態(tài)。 線程是程序中一個(gè)單一的順序控制流程, 它和進(jìn)程的區(qū)別在于,子進(jìn)程和父進(jìn)程有不同的代碼和數(shù)據(jù)空間,而多個(gè)線程則共享數(shù)據(jù)空間,每個(gè)線程有自己的執(zhí)行堆棧和程序計(jì)數(shù)器為其執(zhí)行上下文。線程的周期包括新建,就緒,運(yùn)行,阻塞,死亡5個(gè)階段。在MFC中,線程分為用戶界面線程和工作者線程2種。這2種之間的區(qū)別是UI線程有消息循環(huán),而工作者線程沒有。UI線程能夠創(chuàng)建窗口并處理發(fā)送給這些窗口的消息,而工作者線程執(zhí)行后臺(tái)任務(wù),并不需要處理窗口和消息循環(huán)。由于多線程的執(zhí)行在應(yīng)用程序中是異步的,適當(dāng)?shù)倪\(yùn)用多線程技術(shù)雖然增加了代碼的額外復(fù)雜度,卻可以極大的提高程序的響應(yīng)性能。工作者線程適合于執(zhí)行孤立的任務(wù),這些任務(wù)能夠與應(yīng)用程序的其他部分相互脫離,并且能夠在前臺(tái)進(jìn)行其他處理時(shí)在后臺(tái)執(zhí)行這些任務(wù),有效的降低了程序的等待時(shí)間,提高了運(yùn)行的效率。在MFC中,線程作為CWinThread類存在,其相關(guān)函數(shù)為:(1)AfxBeginThread()聲明:CWinThread* AfxBeginThread(AFX_THREADPROC pfnThreadProc, LPVOID pParam, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL);作用:根據(jù)輸入的線程類型創(chuàng)建一個(gè)新線程,并將LPVOID類型的指針作為參數(shù)傳遞給新創(chuàng)建的線程。參數(shù): pfnThreadProc:指向要?jiǎng)?chuàng)建線程類型的工作者線程指針(一般為UINT定義類型),不能為空。pParam:傳遞給要?jiǎng)?chuàng)建線程參數(shù)指針,類型由pfnThreadProc函數(shù)定義。nPriority:要?jiǎng)?chuàng)建線程的優(yōu)先級(jí),為0則優(yōu)先級(jí)于創(chuàng)建該線程的線程相同。nStackSize:指定要?jiǎng)?chuàng)建線程德堆棧大小,以字節(jié)為單位。dwCreateFlags:函數(shù)調(diào)用的執(zhí)行方式。lpSecurityAttrs:設(shè)定要?jiǎng)?chuàng)建線程的安全級(jí)別。返回值:若成功,則返回指向新創(chuàng)建線程的指針。(2)AfxEndThread()聲明:void AFXAPI AfxEndThread(UINT nExitCode, BOOL bDelete = TRUE);作用:終止正在執(zhí)行的某個(gè)線程參數(shù):nExitCode:指定線程的退出值bDelete:為true則將該線程從內(nèi)存中釋放返回值:無(3)WaitForSingleObject() 聲明:DWORD WaitForSingleObject(HANDLE hHandle, DWORD dwMilliseconds);作用:在等待時(shí)間內(nèi)判斷線程或?qū)ο笫欠褚呀?jīng)正常中止或有響應(yīng)。參數(shù):hHandle:線程或?qū)ο蟮木浔?dwMilliseconds:線程的等待時(shí)間,以毫秒為單位返回值:若函數(shù)成功,則返回線程結(jié)束的事件,可以為WAIT_ABANDONED(該線程作為互斥線程,在調(diào)用該線程的線程結(jié)束之前無法中止),WAIT_OBJECT_0(線程有響應(yīng),并且已經(jīng)正常中止),WAIT_TIMEOUT(超過規(guī)定的等待時(shí)間,強(qiáng)制退出)。WindowsSockets規(guī)范以U.C.Berkeley大學(xué)BSDU NIX中流行的Socket接口為范例定義了一套Micosoft Windows下網(wǎng)絡(luò)編程接口。它不僅包含了人們所熟悉的Berkeley Socket風(fēng)格的庫函數(shù);也包含了一組針對(duì)Windows的擴(kuò)展庫函數(shù),以使程序員能充分地利用Windows消息驅(qū)動(dòng)機(jī)制進(jìn)行編程。WindowsSockets規(guī)范本意在于提供給應(yīng)用程序開發(fā)者一套簡單的API,并讓各家網(wǎng)絡(luò)軟件供應(yīng)商共同遵守。此外,在一個(gè)特定版本W(wǎng)indows的基礎(chǔ)上,Windows Sockets也定義了一個(gè)二進(jìn)制接口(ABI ),以此來保證應(yīng)用WindowsSockets API的應(yīng)用程序能夠在任何網(wǎng)絡(luò)軟件供應(yīng)商的符合Windows Sockets協(xié)議的實(shí)現(xiàn)上工作。因此這份規(guī)范定義了應(yīng)用程序開發(fā)者能夠使用,并且網(wǎng)絡(luò)軟件供應(yīng)商能夠?qū)崿F(xiàn)的一套庫函數(shù)調(diào)用和相關(guān)語義。遵守這套WindowsSockets規(guī)范的網(wǎng)絡(luò)軟件,我們稱之WindowsSockets兼容的,而WindowsSockets兼容實(shí)現(xiàn)的提供者,我們稱之為Windows Sockets提供者。一個(gè)網(wǎng)絡(luò)軟件供應(yīng)商必須百分之百地實(shí)現(xiàn)Windows Sockets規(guī)范才能做到現(xiàn)Windows Sockets兼容。任何能夠與WindowsSockets兼容實(shí)現(xiàn)協(xié)同工作的應(yīng)用程序就被認(rèn)為是具有WindowsSockets接口。我們稱這種應(yīng)用程序?yàn)閃indowsSockets應(yīng)用程序。WindowsSockets規(guī)范定義并記錄了如何使用API與Internet協(xié)議族(IPS,通常我們指的是TCP/IP)連接,尤其要指出的是所有WindowsSockets實(shí)現(xiàn)都支持流套接口和數(shù)據(jù)報(bào)套接口應(yīng)用程序調(diào)用WindowsSockets的API實(shí)現(xiàn)相互之間的通訊。WindowsSockets又利用下層的網(wǎng)絡(luò)通訊協(xié)議功能和操作系統(tǒng)調(diào)用實(shí)現(xiàn)實(shí)際的通訊工作。常用Winsock函數(shù)介紹(1)htons()聲明:u_short htons(u_short hostshort);作用:將主機(jī)的無符號(hào)短整形數(shù)轉(zhuǎn)換成網(wǎng)絡(luò)字節(jié)順序。參數(shù):hostshort:主機(jī)字節(jié)順序表達(dá)的16位數(shù)返回值:返回一個(gè)網(wǎng)絡(luò)字節(jié)順序的值(2)inet_addr()聲明:unsigned long inet_addr(const char* cp);作用:將一個(gè)點(diǎn)間隔地址轉(zhuǎn)換成為一個(gè)in_addr。參數(shù):cp:一個(gè)以Internet標(biāo)準(zhǔn).間隔的字符串返回值:若無錯(cuò)誤發(fā)生,返回一個(gè)無符號(hào)長整形數(shù),其中以適當(dāng)字節(jié)順序存放Internet地址。如果傳入的字符串不是一個(gè)合法的Internet地址,那么inet_addr()返回INADDR_NONE。(3)socket()聲明:SOCKET socket(int af, int type, int protocol);作用:創(chuàng)建一個(gè)對(duì)應(yīng)于特定服務(wù)的套接口參數(shù):af:一個(gè)地址描述,目前僅支持PF_INET格式,就是ARPA Internet地址格式type:新套接口的類型描述。目前包含2種協(xié)議類型:SOCK_STREAM提供一個(gè)可靠的,雙向的,面向連接的流協(xié)議,主要用于TCP協(xié)議通訊。SOCK_DGRAM提供不可靠,無連接的協(xié)議,主要用于UDP協(xié)議通訊。protocol:套接口所用的協(xié)議。通常設(shè)置為0。 返回值:若無錯(cuò)誤發(fā)生,返回引用新套接口的描述字。否則返回SOCKET_ERROR錯(cuò)誤,可以用WSAGetLastError()獲取相應(yīng)錯(cuò)誤代碼。(4)connect()聲明:int connect(SOCKET s, const struct sockaddr* name, int namelen);作用:建立一個(gè)面向某套接口的連接參數(shù):s:標(biāo)識(shí)一個(gè)未連接套接口的描述字name:欲進(jìn)行連接的端口名namelan:端口名的長度返回值:若無錯(cuò)誤發(fā)生,返回0。否則,返回一個(gè)SOCKET_ERROR錯(cuò)誤,可以用WSAGetLastError()獲取相應(yīng)錯(cuò)誤代碼。(5)send()聲明:int send(SOCKET s, const char* buf, int len, int flags);作用:向一個(gè)已連接的套接口發(fā)送數(shù)據(jù)參數(shù): s:一個(gè)用于標(biāo)識(shí)已連接套接口的描述字buf:包含待發(fā)送數(shù)據(jù)的緩沖區(qū)len:緩沖區(qū)中的數(shù)據(jù)長度flags:調(diào)用執(zhí)行方式返回值:若無錯(cuò)誤發(fā)生,返回所發(fā)送數(shù)據(jù)的總數(shù)(可能小于len規(guī)定的大?。7駝t返回一個(gè)SOCKET_ERROR錯(cuò)誤,可以用WSAGetLastError()獲取相應(yīng)錯(cuò)誤代碼。(6)recv()聲明:int recv(SOCKET s, char* buf, int len, int flags);作用:從一個(gè)套接口接收數(shù)據(jù)參數(shù):s:一個(gè)標(biāo)識(shí)已連接套接口的描述字buf:用于接收數(shù)據(jù)的緩沖區(qū)len:緩沖區(qū)的長度flags:指定調(diào)用方式返回值:若無錯(cuò)誤發(fā)生,返回讀入的字節(jié)數(shù)。如果連接中斷,返回0。否則返回一個(gè)SOCKET_ERROR錯(cuò)誤,可以用WSAGetLastError()獲取相應(yīng)錯(cuò)誤代碼。(7)closesocket()聲明:int closesocket(SOCKET s);作用:關(guān)閉一個(gè)套接口參數(shù):s:一個(gè)套接口的描述字返回值:若無錯(cuò)誤發(fā)生,返回0。否則,返回一個(gè)SOCKET_ERROR錯(cuò)誤,可以用WSAGetLastError()獲取相應(yīng)錯(cuò)誤代碼。2.1.4 snort簡介早在1998年,Martin Roesch先生開發(fā)了開放源代碼(Open Source)的入侵檢測(cè)系統(tǒng)Snort.直至今天,Snort已發(fā)展成為一個(gè)多平臺(tái)(Multi-Platform),實(shí)時(shí)(Real-Time)流量分析,網(wǎng)絡(luò)IP數(shù)據(jù)包(Pocket)記錄等特性的強(qiáng)大的入侵檢測(cè)/防御系統(tǒng)(Network Intrusion/Prevention System),即NIDS/NIPS.Snort基于GNU通用公共許可證(GPL)發(fā)布。您可以通過免費(fèi)下載獲得Snort,并且只需要幾分鐘就可以安裝并開始使用它。Snort有三種工作模式:嗅探器、數(shù)據(jù)包記錄器、網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)。嗅探器模式僅僅是從網(wǎng)絡(luò)上讀取數(shù)據(jù)包并作為連續(xù)不斷的流顯示在終端上。數(shù)據(jù)包記錄器模式把數(shù)據(jù)包記錄到硬盤上。網(wǎng)路入侵檢測(cè)模式是最復(fù)雜的,而且是可配置的。我們可以讓snort分析網(wǎng)絡(luò)數(shù)據(jù)流以匹配用戶定義的一些規(guī)則,并根據(jù)檢測(cè)結(jié)果采取一定的動(dòng)作。2.2 設(shè)計(jì)工具介紹設(shè)計(jì)工具主要應(yīng)用到Microsoft VS.net、Microsoft Visual C、MYSQL、MFC等工具,為了對(duì)他們有具體的了解,我們將對(duì)其一一進(jìn)行介紹。2.2.1 Microsoft VS .net簡介Visual Studio.NET是.NET平臺(tái)下最為強(qiáng)大的開發(fā)工具,無論是軟件服務(wù)商,還是企業(yè)應(yīng)用程序的部署與發(fā)布,Visual Studio.NET都可以提供近乎完美的解決方案。Visual Studio.NET提供了包括設(shè)計(jì)、編碼、編譯調(diào)試、數(shù)據(jù)庫聯(lián)接操作等基本功能和基于開放架構(gòu)的服務(wù)器組件開發(fā)平臺(tái)、企業(yè)開發(fā)工具和應(yīng)用程序重新發(fā)布工具以及性能評(píng)測(cè)報(bào)告等高級(jí)功能。Web 應(yīng)用程序(以因特網(wǎng)為基礎(chǔ)的應(yīng)用程序)的優(yōu)點(diǎn)在于可以讓企業(yè)間的商業(yè)數(shù)據(jù)及交易等行為,透過因特網(wǎng)的通訊來彼此交換訊息。這樣不但可以節(jié)省數(shù)據(jù)交換的時(shí)間,而且可以簡化流程。但是在新一代的.NET 開發(fā)平臺(tái)還沒有出現(xiàn)之前,要讓因特網(wǎng)應(yīng)用程序達(dá)到上述的功能是一項(xiàng)浩大的工程。牽涉到的技術(shù)及程序開發(fā)語言,可能包括了HTML、ASP、VBScript、JavaScript、C+、ADO、SQL、COM、MTS 等。這樣的環(huán)境對(duì)于開發(fā)人員來說,想要快速的開發(fā)一個(gè)功能強(qiáng)大且穩(wěn)定可靠的Web 應(yīng)用程序,不是一項(xiàng)輕松的工作。之前的Microsoft Visual StudioTM(微軟的解決方案開發(fā)平臺(tái))及Windows 上的一些架構(gòu)及服務(wù),已經(jīng)幫助程序設(shè)計(jì)師由單機(jī)平臺(tái)的程序開發(fā)轉(zhuǎn)為主從式(Client/Server)的架構(gòu)來開發(fā)應(yīng)用程序。但是對(duì)于現(xiàn)在的環(huán)境而言,因?yàn)槠髽I(yè)的客戶或供貨商等所使用的系統(tǒng)或軟件可能不盡相同, 開發(fā)人員所要面對(duì)的挑戰(zhàn)是要如何整合所有的異質(zhì)性資源,所以必須把焦點(diǎn)轉(zhuǎn)到如何發(fā)展分布式的因特網(wǎng)應(yīng)用程序架構(gòu),好整合這些存在于不同平臺(tái)或不同軟件的異質(zhì)資源。目前全世界有超過六百萬的專業(yè)程序設(shè)計(jì)師,而百分之70 以上的人使用微軟的Visual Studio 開發(fā)平臺(tái);現(xiàn)今最受歡迎的架構(gòu)則為主/從式的架構(gòu),而發(fā)展最快速的架構(gòu)則是以Web 為基礎(chǔ)的架構(gòu)。在這種架構(gòu)下程序邏輯及數(shù)據(jù)的處理都是在伺服端,使用者是透過網(wǎng)絡(luò)以瀏覽器來存取伺服端的數(shù)據(jù)。這種架構(gòu)的開發(fā)工具,微軟早在前兩版的Visual Studio 中透過Active Server Pages(ASP)以及IIS 3.0 就已經(jīng)提供了。為了因應(yīng)Web 架構(gòu)的快速發(fā)展及廣大程序開發(fā)人員的需求,微軟亦舉辦了不下百場(chǎng)的研討會(huì)和開發(fā)人員溝通、交換意見;就是為了提供給開發(fā)人員更好的解決方案開發(fā)平臺(tái)。而這個(gè)新一代開發(fā)平臺(tái)目前已經(jīng)推出了,即為Visual Studio.NET。VisualStudio.NET 開發(fā)平臺(tái)里面包含Visual Basic.NET、C#、Visual C+、ASP.NET 以及VisualFoxPro。為了讓這套開發(fā)平臺(tái)更容易開發(fā)以因特網(wǎng)為基礎(chǔ)的應(yīng)用程序,這個(gè)開發(fā)平臺(tái)做了許多和以往不同的改革,這個(gè)改革就是.NET Framework。.NET 架構(gòu)(就是.NET Framework,.NET念作dot Net)就是為了讓開發(fā)分布式因特網(wǎng)應(yīng)用程序架構(gòu)變得更簡單容易而發(fā)展出來的。2.2.2 Microsoft Visual C+簡介Visual C+是一個(gè)功能強(qiáng)大的可視化軟件開發(fā)工具,是Visual Studio .net重要的一員。自1993年Microsoft公司推出Visual C+1.0后,隨著其新版本的不斷問世,Visual C+已成為專業(yè)程序員進(jìn)行軟件開發(fā)的首選工具。Visual C+不僅是一個(gè)C+編譯器,而且是一個(gè)基于Windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境(integrated development environment,IDE)。Visual C+由許多組件組成,包括編輯器、調(diào)試器以及程序向?qū)ppWizard、類向?qū)lass Wizard等開發(fā)工具。 這些組件通過一個(gè)名為Developer Studio的組件集成為和諧的開發(fā)環(huán)境。Visual C+大概可以分成三個(gè)主要的部分:(1)Developer Studio,這是一個(gè)集成開發(fā)環(huán)境,日常工作的99%都是在其上完成的。雖然Developer Studio提供了一個(gè)很好的編輯器和很多Wizard,但實(shí)際上它沒有任何編譯和鏈接程序的功能。Developer Studio并不是專門用于VC的,它也同樣用于VB,VJ,VID等Visual Studio系列的其他產(chǎn)品。Developer Studio并不等于Visual C+, 它只是Visual C+的一個(gè)殼子。(2)MFC。從理論上來講,MFC不是專用于Visual C+。 Borland C+,C+Builder和Symantec C+同樣可以處理MFC。同時(shí),用Visual C+編寫代碼也并不意味著一定要用MFC,只要愿意,用Visual C+來編寫SDK程序,或者使用STL,ATL,一樣沒有限制。然而,Visual C+本來就是為MFC打造的,Visual C+中的許多特征和語言擴(kuò)展也是為MFC而設(shè)計(jì)的,所以用Visual C+而不用MFC就等于拋棄了Visual C+中很大的一部分功能。(3)Platform SDK。這是Visual C+和整個(gè)Visual Studio的精華和靈魂。大致說來,Platform SDK是以Microsoft C/C+編譯器為核心,配合MASM,并輔以其他一些工具和文檔資料。編譯程序的功能是由CL,NMAKE,和其他許多命令行程序?qū)崿F(xiàn)的。這些看不到的程序是Visual Studio的基石。2.2.3 MySQL簡介MySQL,出自瑞典小公司MySQL 公司的開放源碼的數(shù)據(jù)庫軟件,目前對(duì)數(shù)據(jù)庫老牌廠商Oracle, IBM, Microsoft 以及Sybase 等公司產(chǎn)生威脅。它同樣具有良好的可靠性、安全性和易用性,是大規(guī)模聯(lián)機(jī)事務(wù)處理、數(shù)據(jù)倉庫和電子商務(wù)應(yīng)用程序的優(yōu)秀數(shù)據(jù)庫平臺(tái)。MySQL提供了其它數(shù)據(jù)庫少有的編程工具,而且MySQL 對(duì)于商業(yè)和個(gè)人用戶是免費(fèi)的。MySQL 是大規(guī)模聯(lián)機(jī)事務(wù)處理、數(shù)據(jù)倉庫和電子商務(wù)應(yīng)用程序的優(yōu)秀數(shù)據(jù)庫平臺(tái)。MySQL 數(shù)據(jù)庫最主要的兩大特點(diǎn)就是開源和免費(fèi),此外,它還具有以下主要特點(diǎn):1. 同時(shí)訪問數(shù)據(jù)庫的用戶數(shù)量不受限制;2. 可以保存超過50,000,000 條記錄;3. 是目前市場(chǎng)上現(xiàn)有產(chǎn)品中運(yùn)行速度最快的數(shù)據(jù)庫系統(tǒng);4. 用戶權(quán)限設(shè)置簡單、有效。由于MySQL 本身并不像MS SQL Server 那樣提供圖形化顯示界面,所以為了在開發(fā)過程中顯示方便,我們還可以裝上一些MySQL 的插件,比如MySQL Front,這是一款小巧的管理Mysql 的應(yīng)用程序。主要特性包括多文檔界面,語法突出,拖拽方式的數(shù)據(jù)庫和表格,可編輯/可增加/刪除的域??删庉?可插入/刪除的記錄,可顯示的成員,可執(zhí)行的SQL 腳本,提供與外程序接口,保存數(shù)據(jù)到CSV 文件等。2.2.4 MFC簡介MFC,即微軟基礎(chǔ)類(Microsoft Foundation Classes),是微軟提供用于在C+環(huán)境下編寫應(yīng)用程序的一個(gè)框架和引擎,是掛在Visual C+之上的一個(gè)輔助軟件開發(fā)包。MFC同Borland C+集成的VCL一樣是一個(gè)非外掛式的軟件包,類庫,然而MFC類是微軟為Visual C+專配的。MFC是Win API與C+的結(jié)合。(API,即微軟提供的Windows操作系統(tǒng)下應(yīng)用程序的編程語言接口,是一種軟件編程的規(guī)范,但不是一種程序開發(fā)語言本身??梢栽试S用戶使用各種各樣的第三方編程語言來進(jìn)行對(duì)Windows下應(yīng)用程序的開發(fā),使這些被開發(fā)出來的應(yīng)用程序能在Windows下運(yùn)行。)MFC不只是一個(gè)功能單純的界面開發(fā)系統(tǒng),它提供的類絕大部分用來進(jìn)行界面開發(fā),關(guān)聯(lián)一個(gè)窗口的動(dòng)作。但它提供的類中有許多類不與一個(gè)窗口關(guān)聯(lián),即類的作用不是一個(gè)界面類,不實(shí)現(xiàn)對(duì)一個(gè)窗口對(duì)象的控制(如創(chuàng)建,銷毀),而是一些在Windows中實(shí)現(xiàn)內(nèi)部處理的類,如數(shù)據(jù)庫的管理類等。MFC中的各種類結(jié)合起來構(gòu)成了一個(gè)應(yīng)用程序框架,它的目的就是讓程序員在此基礎(chǔ)上來建立Windows下的應(yīng)用程序,這是一種相對(duì)SDK來說更為簡單的方法。因?yàn)榭傮w上,MFC框架定義了應(yīng)用程序的輪廓,并提供了用戶接口的標(biāo)準(zhǔn)實(shí)現(xiàn)方法,程序員所要做的就是通過預(yù)定義的接口把具體應(yīng)用程序特有的東西填入這個(gè)輪廓。Microsoft Visual C+提供了相應(yīng)的工具來完成這個(gè)工作:AppWizard可以用來生成初步的框架文件(代碼和資源等);資源編輯器用于幫助直觀地設(shè)計(jì)用戶接口;ClassWizard用來協(xié)助添加代碼到框架文件;最后,編譯,則通過類庫實(shí)現(xiàn)了應(yīng)用程序特定的邏輯。第三章 系統(tǒng)詳細(xì)設(shè)計(jì)前面我們對(duì)系統(tǒng)進(jìn)行了詳細(xì)的分析,對(duì)所要運(yùn)用到的技術(shù)進(jìn)行了詳細(xì)的介紹,下面我們將詳細(xì)的討論我們這個(gè)系統(tǒng)的開發(fā)目的、設(shè)計(jì)目標(biāo)以及設(shè)計(jì)方案。3.1系統(tǒng)開發(fā)目的和設(shè)計(jì)目標(biāo)該系統(tǒng)主要是設(shè)計(jì)一個(gè)可以監(jiān)控和分析本機(jī)網(wǎng)絡(luò)安全的系統(tǒng),對(duì)主機(jī)進(jìn)行漏洞掃描、端口探測(cè)、流量監(jiān)控以及安全檢測(cè)。系統(tǒng)通過UI接口來接受用戶輸入的信息參數(shù),來對(duì)主機(jī)進(jìn)行漏洞分析、端口探測(cè),系統(tǒng)給出主機(jī)漏洞結(jié)果以及端口開放情況。流量監(jiān)控模塊提供圖形化分析工具,把分析所得的結(jié)果通過如折線圖、柱狀圖、餅狀圖等圖形化的界面顯示出來,并將檢測(cè)數(shù)據(jù)保存到數(shù)據(jù)庫,用戶可以查詢歷史流量記錄。安全檢測(cè)模塊主要是顯示出主機(jī)是否存在潛在的安全威脅。如果存在異常情況,系統(tǒng)對(duì)用戶發(fā)出警報(bào)提示,使用戶能及時(shí)的采取相應(yīng)的預(yù)防或補(bǔ)救的措施。3.2 系統(tǒng)整體設(shè)計(jì)思想根據(jù)流網(wǎng)絡(luò)安全監(jiān)控分析系統(tǒng)的開發(fā)目的及設(shè)計(jì)目標(biāo),將系統(tǒng)定位于一個(gè)包含漏洞掃描和端口探測(cè)、流量監(jiān)測(cè)、Snort安全檢測(cè)三個(gè)模塊。漏洞掃描和端口探測(cè)模塊主要包含5大類:UI接口類,端口探測(cè)線程,漏洞掃描線程,端口探測(cè)子線程,漏洞掃描子線程。其中UI接口類是整個(gè)程序的主類,負(fù)責(zé)調(diào)用和創(chuàng)建端口探測(cè)線程和漏洞掃描線程,以及更新各個(gè)控件的當(dāng)前狀態(tài),輸出要表達(dá)的計(jì)算結(jié)果等。端口探測(cè)線程和漏洞掃描線程用來控制端口掃描子線程和漏洞掃描子線程的多線程運(yùn)算,提高系統(tǒng)的整體效率和響應(yīng)能力。端口探測(cè)子模塊和漏洞掃描子模塊是系統(tǒng)的關(guān)鍵部分,程序的主要功能都在這里實(shí)現(xiàn)。流量監(jiān)測(cè)模塊中,捕獲分析模塊是系統(tǒng)的后臺(tái)運(yùn)行程序,主要負(fù)責(zé)的是,通過使用Winpcap 協(xié)議,對(duì)通過所監(jiān)聽的網(wǎng)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論