項目概要設計報告樣本_第1頁
項目概要設計報告樣本_第2頁
項目概要設計報告樣本_第3頁
項目概要設計報告樣本_第4頁
項目概要設計報告樣本_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

哈爾濱工程大學信息安全研究中心項目概要設計報告編號:HEUISRC-RDT-014版本:1.1密級:編寫:呂敬輝-郝建波-賀婷日期:檢查:日期:審核:日期:批準:日期:版本日期作者修訂要點1.0-楊武文獻建立1.1-楊武內(nèi)容及文檔構造修訂目錄目錄 I一、引言 11.1編寫目 11.2項目背景 11.3術語 11.4參照資料 1二、任務概述 12.1系統(tǒng)描述 12.2開發(fā)與運營環(huán)境 12.2.1開發(fā)環(huán)境配備 12.2.2運營環(huán)境配備 1 22.3需求概述 22.4條件與限制 2三、總體設計 23.1系統(tǒng)設計原則 23.2系統(tǒng)網(wǎng)絡構造 23.3實現(xiàn)框架與解決流程 23.4構造模塊設計 33.5功能需求與程序模塊關系 43.6尚未解決問題 4四、接口設計 44.1外部接口 44.2內(nèi)部接口 4五、數(shù)據(jù)構造設計 55.1邏輯構造設計 55.2物理構造設計 65.3數(shù)據(jù)構造與程序代碼關系 6六、數(shù)據(jù)庫設計 6七、顧客界面設計 7八、出錯解決設計 78.1出錯輸出信息 78.2出錯解決對策 7九、安全保密設計 89.1數(shù)據(jù)傳播安全性設計 89.2應用系統(tǒng)安全性設計 89.3數(shù)據(jù)存儲安全性設計 8十、維護設計 8一、引言對網(wǎng)絡數(shù)據(jù)流異常檢測系統(tǒng)整體開發(fā)進行概要設計,為系統(tǒng)編程提供基本支持。項目名稱網(wǎng)絡數(shù)據(jù)流異常檢測,該項目重要對網(wǎng)絡數(shù)據(jù)浮現(xiàn)大流量變化,特別對syn、fin、ping、端口和主機不可達事件進行異常檢測并報警??s寫、術語解釋libPcap捕包庫函數(shù)MySQL數(shù)據(jù)庫C++builder界面編程ODBC數(shù)據(jù)庫訪問接口原則adsystem服務器端數(shù)據(jù)庫名Newadsystem本地綁定遠程數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)源變量二、任務概述后臺:1)本系統(tǒng)可以對網(wǎng)絡出入口數(shù)據(jù)包進行分析,記錄出TCP、UDP、ICMP等合同以及TCP-SYN事件、TCP-FIN事件、ICMP_PING事件、ICMP_3.1事件(主機不可達事件)、ICMP_3.3事件(端口不可達事件)包數(shù)量。2)通過異常檢測算法,對這些記錄數(shù)量進行異常檢測。依照記錄成果用自回歸模型對網(wǎng)絡數(shù)據(jù)流量進行預測,當某時刻數(shù)據(jù)流和預測成果不同步觸發(fā)報警事件。數(shù)據(jù)庫:將記錄量、異常信息存入數(shù)據(jù)庫中前臺:1)進行通訊:發(fā)送給后臺登錄、檢測、關閉標記;接受后臺數(shù)據(jù),涉及登錄標記、流量包記錄數(shù)及異常報警標記。2)對數(shù)據(jù)解析之后,對顧客不同類型檢測規(guī)定進行實時動態(tài)曲線描繪;3)對異常事件進行報警4)對歷史流量及異常信息進行數(shù)據(jù)庫查詢Linux操作系統(tǒng)平臺C++builder、MySQL數(shù)據(jù)庫提供各種端口掃描機器2.2.1開發(fā)環(huán)境配備類別原則配備最低配備計算機硬件計算機軟件Linux、Windows操作系統(tǒng)、mysql數(shù)據(jù)庫管理工具、c++builder前臺開發(fā)工具網(wǎng)絡通信ODBC其他2.2.2運營環(huán)境配備類別原則配備最低配備計算機硬件計算機軟件Linux、Windows操作系統(tǒng)、mysql數(shù)據(jù)庫管理工具網(wǎng)絡通信ODBC其他計算機軟件:Linux、Windows操作系統(tǒng)、mysql數(shù)據(jù)庫管理工具網(wǎng)絡通信:ODBC顧客登錄:顧客輸入服務器地址、顧客名、密碼訪問,驗證顧客權限與否對的顧客其她操作:顧客其她操作需要并行進行。涉及四個某些,簡介如下:1、動態(tài)實時曲線描繪:配備信息,顧客可自己配備流量記錄時間間隔,依照不同流量類型,設立曲線圖數(shù)據(jù)顯示高度,同步可設立曲線圖顯示寬度(輔助設計);對于各項值,需要提供默認值,特別數(shù)據(jù)顯示高度,需依照以往數(shù)據(jù)流量值給出一種不同類型合同或事件參照值;完畢信息配備,啟動檢測,則在設立時間間隔內(nèi)開始描點;曲線描繪:曲線為動態(tài)波動、有規(guī)律進行。2、異常檢測:當后臺檢測到異常時,及時發(fā)出警報提示。3、歷史流量數(shù)據(jù)查詢:顧客可依照合同/事件類型及檢測時間范疇完畢歷史流量查詢。4、異常流量信息查詢:顧客可依照合同/事件類型及檢測時間范疇完畢異常流量信息查詢。三、總體設計在linux環(huán)境下進行系統(tǒng)后臺編程,用libcap庫函數(shù)進行抓包,并對包進行分析,記錄出TCP、UDP、ICMP等合同以及TCP-SYN事件、TCP-FIN事件、ICMP_PING事件、ICMP_3.1事件(主機不可達事件)、ICMP_3.3事件(端口不可達事件)包數(shù)量。記錄完畢后將數(shù)據(jù)傳遞給異常檢測算法和數(shù)據(jù)庫,異常檢測算法依照初始記錄正常數(shù)據(jù)包數(shù)量對后來到達數(shù)據(jù)包進行預測分析,浮現(xiàn)異常時調(diào)用socket函數(shù)傳遞給前臺一種異常信號,c++building來進行異常報警。此外pcap記錄包數(shù)量也要傳遞給前臺來建立一種正常流量模型。其中向前臺傳遞正常數(shù)據(jù)和異常信息分別用一種分線程,尚有一種分線程用來接受前臺命令。系統(tǒng)網(wǎng)絡構造如圖3.1所示:圖3.1系統(tǒng)網(wǎng)絡構造圖1、系統(tǒng)總體設計流程如圖3.2所示:圖3.2系統(tǒng)總體設計流程圖2、前臺業(yè)務流程如圖3.3所示:圖3.3前臺業(yè)務流程圖構造模塊如圖3.4所示:圖3.4系統(tǒng)構造模塊模塊一覽表模塊名稱標記符模塊功能模塊性能規(guī)定登錄模塊Login與后臺進行連接通訊;判斷字符與否合法;判斷登錄,登錄成功,啟動主線程??梢约皶r返回顧客登錄信息,提供登錄或重登錄信息。顧客操作模塊Configuration對數(shù)據(jù)庫操作:保存配備信息,提供檢測啟動標記;查看歷史流量信息;查看異常流量信息。能迅速對數(shù)據(jù)庫進行操作,返回顧客查詢信息多線程模塊TCommunicationThread接受后臺數(shù)據(jù),判斷數(shù)據(jù)類型,解析數(shù)據(jù),啟動曲線描繪函數(shù)及異常警報線程。當顧客進行檢測時,應及時、有規(guī)律描繪出曲線數(shù)據(jù)包捕獲PCAP在網(wǎng)絡數(shù)據(jù)流里捕獲數(shù)據(jù)包并對數(shù)據(jù)包進行記錄,提取出有關數(shù)據(jù)信息進行分析并存儲于數(shù)據(jù)庫中。對TCP、UDP、ICMP等數(shù)據(jù)流量進行記錄,檢測出有關數(shù)據(jù)流量異常。異常檢測Anomalydetection檢測異常數(shù)據(jù)流對不符合捕獲數(shù)據(jù)包正常流量進行檢測并報警通訊communication進行先后臺通信將記錄得數(shù)據(jù)包數(shù)量直接輸送到前臺進行顯示以及異常檢測顯示。需求代碼捕包模塊異常檢測模塊通訊登錄模塊顧客操作模塊前臺多線程模塊獲取原始數(shù)據(jù)流√異常數(shù)據(jù)檢測√存儲數(shù)據(jù)√√√查詢數(shù)據(jù)庫√接受數(shù)據(jù)√√√√發(fā)送數(shù)據(jù)√√√√√顯示成果√√四、接口設計4.2.1MySQL數(shù)據(jù)庫和前臺c++builder連接1)連接環(huán)節(jié)第一步:使用ODBC數(shù)據(jù)庫訪問接口原則,綁定服務器adsystem數(shù)據(jù)庫建立一種數(shù)據(jù)源Newadsystem;第二步:使用Databasesource(一種能和遠端資料庫透過BDE進行連結元件),綁定數(shù)據(jù)源Newadsystem,可以儲存登入資料庫所需身分認證資料,涉及顧客名密碼,保證后來數(shù)據(jù)庫操作中,不在需要確認;第三步:使用Query數(shù)據(jù)庫存取元件,綁定Databasesource;第四步:使用Datasource傳遞元件,將Query獲得值傳遞給顯示元件;第五步:使用StringGrid元件,將獲取到數(shù)據(jù)顯示。2)數(shù)據(jù)庫連接及數(shù)據(jù)存取示意圖如圖4.1所示:圖4.1數(shù)據(jù)庫連接及數(shù)據(jù)存取示意圖4.2.2MySQL數(shù)據(jù)庫和后臺Linux連接重要是調(diào)用API函數(shù),先用mysql_init初始化一種sql描述符m_sql,再用mysql_real_connect去連接服務器上mysql,然后用mysql_query對數(shù)據(jù)庫進行讀寫操作,其中讀數(shù)據(jù)庫操作還要mysql_query和mysql_fetch_row來讀出和存儲數(shù)據(jù)庫中值。4.2.3后臺Linux與前臺界面socket連接套接字有兩套,分別為后臺作為socket服務器端前臺作為socket客戶端和后臺作為socket客戶端前臺作為socket服務器端。也是調(diào)用有關API函數(shù)來實現(xiàn)套接字連接與通信,其中服務器端先用socket函數(shù)初始化一種socket描述符sock_fd,對sockaddr_in構造體成員變量進行賦值,其中sin_family為AF_INET,sin_port=為4005,地址是本地地址,完了后來用bzero函數(shù)將構造體別的空間清零,然后用bind函數(shù)進行端口與本地地址綁定,用listen函數(shù)來監(jiān)聽與否用連接,用連接是用accept函數(shù)生成一種連接socket描述符new_fd,用recv函數(shù)來接受前臺傳來數(shù)據(jù)。五、數(shù)據(jù)構造設計1)后臺TCP…typedefstructtcp_node//存儲TCP流量循環(huán)鏈表,構造體初始化{intvalue;//TCP流量大小structtcp_node*next;//定義指針}tcp_node;tcp_node*head,*tail;//TCP循環(huán)鏈表頭尾指針typedefstructtcpsyn_node//存儲TCPSYN流量循環(huán)鏈表,構造體初始化{intvalue;//TCPSYN流量大小structtcpsyn_node*next;//定義指針}tcpsyn_node;tcpsyn_node*head,*tail;//TCPSYN循環(huán)鏈表頭尾指針typedefstructtcpfin_node//存儲TCPFIN流量循環(huán)鏈表,構造體初始化{intvalue;//TCPFIN流量大小structtcpfin_node*next;//定義指針}tcpfin_node;tcpfin_node*head,*tail;//TCPFIN循環(huán)鏈表頭尾指針typedefstructudp_node//存儲UDP流量循環(huán)鏈表,構造體初始化{intvalue;//UDP流量大小structudp_node*next;//定義指針}tcpudp_node;udp_node*head,*tail;//UDP循環(huán)鏈表頭尾指針typedefstructicmp_node//存儲ICMP流量循環(huán)鏈表,構造體初始化{ intvalue;//ICMP流量大小structicmp_node*next;//定義指針}icmp_node;icmp_node*head,*tail;//ICMP循環(huán)鏈表頭尾指針typedefstructicmpping_node//存儲ICMPPING流量循環(huán)鏈表,構造體初始化{intvalue;//ICMPPING流量大小structicmpping_node*next;//定義指針}icmpping_node;icmpping_node*head,*tail;//ICMPPING循環(huán)鏈表頭尾指針typedefstructicmp31_node//存儲ICMP31流量循環(huán)鏈表,構造體初始化{intvalue;//ICMP31流量大小structicmp31_node*next;//定義指針}icmp31_node;Icmp31_node*head,*tail;//ICMP31循環(huán)鏈表頭尾指針typedefstructicmp33_node//存儲ICMP33流量循環(huán)鏈表,構造體初始化{intvalue;//ICMP33流量大小structicmp33_node*next;//定義指針}icmp33_node;Icmp33_node*head,*tail;//ICMP33循環(huán)鏈表頭尾指針2)前臺實現(xiàn)登錄功能,創(chuàng)立類函數(shù),重要完畢顧客登錄及通訊。classTLoginForm:publicTForm{__published: ···系統(tǒng)自定義控件private: //Userdeclarationspublic: //Userdeclarations__fastcallTLoginForm(TComponent*Owner);//登錄表單構造函數(shù)AnsiStringJudgement(AnsiStringEditContent);//非法字符判斷函數(shù)AnsiStringGetLLtime;//保存獲取到系統(tǒng)時間變量AnsiStringServiesAddress;//保存服務器地址變量};實現(xiàn)流量檢測,涉及異常流量報警,正常流量曲線模型繪制;實現(xiàn)歷史流量及異常流量歷史數(shù)據(jù)查詢操作,對數(shù)據(jù)庫進行取操作。classTConfigurationForm:publicTForm{__published: ···//聲明系統(tǒng)控件及辦法函數(shù)private: //Userdeclarationspublic: //Userdeclarations__fastcallTConfigurationForm(TComponent*Owner);//配備窗口構造函數(shù)int__fastcallconnect_database1(AnsiStringIp);//Socket通訊函數(shù)AnsiStringPotocolType;//記錄時間間隔值intwWidth;//坐標寬度變量intWHight;//坐標高度變量voidDrawDot(intDotValue,intcount);//描繪曲線函數(shù)函數(shù)intTCtime; //保存配備信息時間差intSummitMessage;//保存配備完畢標記符voidCheckHistoryDatabass();//歷史流量數(shù)據(jù)庫查詢函數(shù)AnsiStringHistoryType;//所需查詢歷史流量類型intSumCount;//記錄從歷史流量表查詢到記錄數(shù)intAERecordCount;//記錄從異常流量數(shù)據(jù)庫中獲取到記錄數(shù)intsock_fd,numbytes; //通訊端口使用全局變量charrecvbuf[100]; //接受后臺數(shù)據(jù)charsendbuf[100]; //發(fā)送數(shù)據(jù)charcommand[20]; //發(fā)送關閉值};主線程類函數(shù),用于保持接受后臺數(shù)據(jù),并且進行數(shù)據(jù)解析,曲線繪制函數(shù)調(diào)用及異常報警線程調(diào)用。classTCommunication:publicTThread{private:protected:void__fastcallExecute(void);//線程執(zhí)行辦法函數(shù)//intCommunicationSelect;public:__fastcallTCommunication();//線程構造函數(shù)AnsiString__fastcallConnect();//連接函數(shù)};從線程類函數(shù),用于實現(xiàn)異常報警。classTWarningThread:publicTThread{private:protected:void__fastcallExecute(void);//報警線程執(zhí)行辦法函數(shù)public:__fastcallTWarningThread();//報警線程構造函數(shù)//AnsiStringTempMessage;};structether_headerstructin_addrstructarp_headerstructip_headerstructudp_headerstructtcp_headerstructicmp_headerstructLinklistclassTLoginFormclassTConfigurationFormclassTCommunicationclassTWarningThread六、數(shù)據(jù)庫設計a_yichang(對異常時間段內(nèi)異常包信息進行記錄)。其中Yprotocol表達包浮現(xiàn)異常合同類型,Yevent表達包浮現(xiàn)異常事件類型,Ytime表達記錄異常事件發(fā)生時間,Ynumber表達異常事件尚有此類型事件個數(shù)。表6.2異常信息表(a_yichang)字段含義字段名稱數(shù)據(jù)類型長度空備注IDIDInt11否主鍵,自增合同類型YprotocolVarchar10時間類型YeventVarchar10檢測時間YtimeDatatime異常包個數(shù)YnumberInt10a_liuliang(對包中tcp等合同流量以及tcp-syn等事件流量進行記錄)。其中Ltcp表達單位時間內(nèi)捕獲tcp合同包數(shù)量,Ludp表達單位時間內(nèi)捕獲udp合同包數(shù)量,Licmp表達單位時間內(nèi)捕獲icmp合同包數(shù)量,Lsyn表達單位時間內(nèi)捕獲具有syn事件包數(shù)量,Lfin表達單位時間內(nèi)捕獲具有fin事件包數(shù)量,Lping表達單位時間內(nèi)捕獲具有ping事件包數(shù)量,Lzhu表達單位時間內(nèi)捕獲具有主機不可達事件包數(shù)量,Lduan表達單位時間內(nèi)捕獲具有端口不可達事件包數(shù)量。表6.1流量表(a_liuliang)字段含義字段名稱數(shù)據(jù)類型長度空備注IDIDInt11否主鍵,自增Tcp包數(shù)量LtcpInt10Udp包數(shù)量LudpInt10Icmp包數(shù)量LicmpInt10Syn包數(shù)量LsynInt10Fin包數(shù)量LfinInt10Ping包數(shù)量LpingInt10Icmp_3.1包數(shù)量LzhuInt10Icmp_3.2包數(shù)量LduanInt10檢測時間LtimeDatatimea_con

溫馨提示

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

最新文檔

評論

0/150

提交評論