LAN管理器的設(shè)計(jì)與實(shí)現(xiàn)主機(jī)信息探測(cè)與查詢子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)說明書
《LAN管理器的設(shè)計(jì)與實(shí)現(xiàn)主機(jī)信息探測(cè)與查詢子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)說明書》由會(huì)員分享,可在線閱讀,更多相關(guān)《LAN管理器的設(shè)計(jì)與實(shí)現(xiàn)主機(jī)信息探測(cè)與查詢子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)說明書(47頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單位代碼 10 學(xué) 號(hào) 分 類 號(hào) TP393 密 級(jí) 畢業(yè)設(shè)計(jì)說明書LAN管理器的設(shè)計(jì)與實(shí)現(xiàn)主機(jī)信息探測(cè)與查詢子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 院(系)名稱 專業(yè)名稱 學(xué)生姓名 指導(dǎo)教師 2012年5月14日 LAN管理器的設(shè)計(jì)與實(shí)現(xiàn)主機(jī)信息探測(cè)與查詢子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘 要目前,局域網(wǎng)已廣泛應(yīng)用于機(jī)關(guān)、學(xué)校、企事業(yè)單位等。圍繞LAN管理器課程局域網(wǎng)建設(shè)任務(wù),基于TCP/IP協(xié)議棧,在Windows下用VC編程語(yǔ)言,設(shè)計(jì)、實(shí)現(xiàn)了LAN管理器的主機(jī)信息探測(cè)與查詢子系統(tǒng)。概述了課題的選題背景、課題來源、畢業(yè)設(shè)計(jì)任務(wù)及畢業(yè)設(shè)計(jì)說明書的組織結(jié)構(gòu),說明了主機(jī)信息探測(cè)與查詢子系統(tǒng)的功能需求、性能需求和用戶需求,重點(diǎn)介
2、紹了LAN管理器的總體設(shè)計(jì)及主機(jī)信息探測(cè)與查詢子系統(tǒng)的具體實(shí)現(xiàn)環(huán)境和主要實(shí)現(xiàn)代碼。測(cè)試結(jié)果表明該子系統(tǒng)能夠正常工作,實(shí)現(xiàn)了預(yù)期目的,為L(zhǎng)AN管理器的設(shè)計(jì)和實(shí)現(xiàn)打下了基礎(chǔ)。關(guān)鍵詞:LAN管理器,主機(jī)信息,探測(cè)與查詢,VC黃河科技學(xué)院畢業(yè)設(shè)計(jì)說明書 第 II 頁(yè)Design and Implementation of LAN Manager Host Detection and Query Subsystem Design and Achieve Author:Xing MingTutor:Sun FeixianAbstractLocal area networks (LAN) have been
3、 widely applied in offices, schools, enterprises, institutions, and etc. Rounding the graduation designing tasks, a host information detection and query sub-system is designed and implemented. The presented sub-system is based on Windows operating system, and it is implemented by VC programming lang
4、uage. With the research background and sources of the subject introduced, the graduate design tasks and organizational structure are given. Following that, the functional requirements, performance requirements and user requirements of the sub-system are illustrated. And then, the overall and detaile
5、d design methods of the host information detection and query sub-system are also given. Finally, the implementation environment and the main codes of the sub-system are described. Testing results show that the sub-system can work properly. Thus, it lays the foundation for the design and implementati
6、on of LAN management system.Keywords: LAN Management, Host Information, Detection and query, VC黃河科技學(xué)院畢業(yè)設(shè)計(jì)說明書 第 43 頁(yè)目 錄1 緒論11.1 選題背景11.2 課題來源11.3 畢設(shè)任務(wù)及本人貢獻(xiàn)11.4 畢業(yè)設(shè)計(jì)說明書的組織結(jié)構(gòu)22 需求分析32.1 功能需求32.2 性能需求32.3 用戶需求33 系統(tǒng)設(shè)計(jì)43.1 設(shè)計(jì)思想43.2 總體設(shè)計(jì)43.3 詳細(xì)設(shè)計(jì)54 系統(tǒng)實(shí)現(xiàn)64.1 系統(tǒng)實(shí)現(xiàn)環(huán)境說明64.2 主要模塊的實(shí)現(xiàn)65 系統(tǒng)測(cè)試174.1 測(cè)試目的174.2 測(cè)試方法17
7、4.3 測(cè)試用例與測(cè)試結(jié)果174.4 測(cè)試結(jié)論22結(jié)論23致謝24參考文獻(xiàn)25附錄26源代碼261 緒論1.1 選題背景自從計(jì)算機(jī)問世以來,安全問題就一直存在。特別是隨著Internet的迅速擴(kuò)張和電子商務(wù)的興起,人們發(fā)現(xiàn)保護(hù)資源和數(shù)據(jù)的安全,讓他免受來自惡意入侵者的威脅是件相當(dāng)困難的事。提到網(wǎng)絡(luò)安全,很多人首先想到的是防火墻,防火墻作為一種靜態(tài)的訪問控制類安全產(chǎn)品通常使用包過濾的技術(shù)來實(shí)現(xiàn)網(wǎng)絡(luò)的隔離。適當(dāng)配置的防火墻雖然可以將非預(yù)期的訪問請(qǐng)求屏蔽在外,但不能檢查出經(jīng)過他的合法流量中是否包含著惡意的入侵代碼。隨著入侵手段的日益復(fù)雜和通用系統(tǒng)不時(shí)出現(xiàn)的安全缺陷,預(yù)先評(píng)估分析網(wǎng)絡(luò)系統(tǒng)中存在的安全問
8、題,已經(jīng)成為網(wǎng)絡(luò)管理員們的重要需求?;诰W(wǎng)絡(luò)的安全掃描主要掃描設(shè)定網(wǎng)絡(luò)內(nèi)的服務(wù)器、路由器、網(wǎng)橋、交換機(jī)、訪問服務(wù)器、防火墻等設(shè)備的安全漏洞,并可設(shè)定模擬攻擊,以測(cè)試系統(tǒng)的防御能力。這種技術(shù)模擬入侵者可能的攻擊行為,從系統(tǒng)外部進(jìn)行掃描,以探測(cè)是否存在可以被入侵者利用的系統(tǒng)安全薄弱之處。針對(duì)網(wǎng)絡(luò)入侵手段日益復(fù)雜、操作系統(tǒng)漏洞不斷涌現(xiàn)等問題,預(yù)先評(píng)估網(wǎng)絡(luò)信息系統(tǒng)存在的安全問題已成為網(wǎng)絡(luò)管理員的重要需求。如何保障自身網(wǎng)絡(luò)的安全,其中一個(gè)主要的方法就是自查自糾,而在這個(gè)過程中,對(duì)自己的網(wǎng)絡(luò)進(jìn)行掃描成為一種較為快捷、直觀、簡(jiǎn)單的方法。掃描技術(shù)基于TCP/IP協(xié)議,對(duì)各種網(wǎng)絡(luò)服務(wù),無(wú)論是主機(jī)或者防火墻、路由
9、器都適用。同時(shí), 掃描可以確認(rèn)各種配置的正確性,避免遭受不必要的攻擊。為了提高掃描的效率和精確度,主機(jī)的信息探測(cè)就是必不可少的。1.2 課題來源本課題來自河南省教育廳自然科學(xué)研究計(jì)劃項(xiàng)目(編號(hào)2010A520048)。1.3 畢設(shè)任務(wù)及本人貢獻(xiàn)圍繞LAN管理器研究,采用ARP、Ping技術(shù),設(shè)計(jì)主機(jī)信息的探測(cè)與查詢方法,并用VC編程實(shí)現(xiàn),同時(shí)連接數(shù)據(jù)庫(kù)。要求:探測(cè)速度盡可能快;既能探測(cè)單個(gè)目標(biāo)主機(jī)的信息,也能探測(cè)某一IP地址區(qū)間內(nèi)主機(jī)的信息;具備一定穿透防火墻的能力。具體畢業(yè)設(shè)計(jì)任務(wù)如下:(1)根據(jù)任務(wù)書要求,收集材料,對(duì)比分析,完成譯文和文獻(xiàn)綜述;(2)完成開題報(bào)告;(3)學(xué)習(xí)局域網(wǎng)程序設(shè)計(jì)
10、知識(shí),設(shè)計(jì)并實(shí)現(xiàn)主機(jī)信息探測(cè)與查詢子系統(tǒng);(4)撰寫畢業(yè)設(shè)計(jì)說明書。本人的主要貢獻(xiàn)主要有以下幾點(diǎn):(1)完成譯文和文獻(xiàn)綜述;(2)完成了開題報(bào)告;(3)實(shí)現(xiàn)了LAN管理器的總體設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì);(4)測(cè)試了主機(jī)信息探測(cè)與查詢子系統(tǒng); (5)撰寫了畢業(yè)設(shè)計(jì)說明書。1.4 畢業(yè)設(shè)計(jì)說明書的組織結(jié)構(gòu)本學(xué)位論文包括中英文摘要、目錄、緒論、正文、總結(jié)、參考文獻(xiàn)、致謝、源代碼,共八個(gè)部分。其中,論文的緒論、正文和總結(jié)三部分的組織安排如下:(1) 緒論:首先介紹了課題的研究背景和課題來源,然后介紹了本文的研究?jī)?nèi)容與主要貢獻(xiàn),最后列出了論文的組織結(jié)構(gòu)。(2) 需求分析:主要介紹了該系統(tǒng)的用戶需求、功能需求和性
11、能需求。(3) 系統(tǒng)設(shè)計(jì):詳細(xì)介紹了LAN管理器主機(jī)信息探測(cè)與查詢子系統(tǒng)的基本思想、整體設(shè)計(jì)和詳細(xì)設(shè)計(jì)。(4) 系統(tǒng)實(shí)現(xiàn):給出系統(tǒng)實(shí)現(xiàn)的標(biāo)準(zhǔn)測(cè)試環(huán)境和實(shí)現(xiàn)系統(tǒng)的主要代碼。(5) 系統(tǒng)測(cè)試:在標(biāo)準(zhǔn)測(cè)試環(huán)境下的測(cè)試結(jié)果進(jìn)行分析。(6) 總結(jié):對(duì)論文的主要工作進(jìn)行了總結(jié)。2 需求分析2.1 功能需求(1) 探測(cè)與查詢功能可利用多種技術(shù)對(duì)主機(jī)信息進(jìn)行探測(cè)與查詢。(2) 防火墻穿越功能防火墻穿越,即在對(duì)方已安裝防火墻并且正常運(yùn)行的情況下探測(cè)主機(jī)信息,這是主機(jī)信息探測(cè)與查詢系統(tǒng)的核心功能,也是主機(jī)信息探測(cè)與查詢系統(tǒng)必不可少的功能。2.2 性能需求盡可能快的探測(cè)到主機(jī)信息,既能探測(cè)單個(gè)目標(biāo)主機(jī)的信息,也能探
12、測(cè)某一IP地址區(qū)間內(nèi)主機(jī)的信息,具備一定穿透防火墻的能力,同時(shí)準(zhǔn)確率不低于90%。2.3 用戶需求用戶需求主要有以下幾個(gè)方面:(1) 通過簡(jiǎn)單的操作就能夠探測(cè)到主機(jī)信息,并且有必要的返回信息并記錄結(jié)果;(2) 在對(duì)方打開防火墻禁止Ping的時(shí)候,我們Ping不通的時(shí)候應(yīng)該通過一種有效的方式來探測(cè)到對(duì)方主機(jī)信息;(3) 可以同時(shí)探測(cè)多個(gè)主機(jī)的信息;(4) 在某一主機(jī)的信息發(fā)生變更時(shí)可以更新出所變更后的信息;(5) 具有數(shù)據(jù)存儲(chǔ)功能。3 系統(tǒng)設(shè)計(jì)3.1 設(shè)計(jì)思想通過arp協(xié)議,調(diào)用arp功能函數(shù),實(shí)現(xiàn)主機(jī)信息的探測(cè),通過函數(shù)的返回值來判斷主機(jī)的是否存活,并且獲取存活主機(jī)的mac。然后通過IP層協(xié)議
13、獲取主機(jī)的詳細(xì)信息(gethostbyaddr),例如:主機(jī)名字,地址類型,主機(jī)網(wǎng)絡(luò)地址等;當(dāng)獲取信息之后存入數(shù)據(jù)庫(kù)(sql server 2005),于是要用到數(shù)據(jù)庫(kù)的存取知識(shí)。由于探測(cè)主機(jī)的范圍比較大,所以需要用到多線程的思想。3.2 總體設(shè)計(jì)基于ARP協(xié)議的主機(jī)信息探測(cè)與查詢系統(tǒng)主要包括域名解析和IP地址的轉(zhuǎn)換、ARP請(qǐng)求發(fā)送與處理兩大模塊,各模塊的功能簡(jiǎn)述如下:域名解析及IP地址轉(zhuǎn)換:調(diào)用inet_addr將輸入的點(diǎn)分十進(jìn)制數(shù)表示的IP地址轉(zhuǎn)換為網(wǎng)絡(luò)字節(jié)順序的IP地址;獲取主機(jī)名:調(diào)用gethostbyaddr獲取存活主機(jī)的主機(jī)名;ARP請(qǐng)求發(fā)送與處理:調(diào)用sendARP函數(shù)向目標(biāo)地址
14、發(fā)送ARP請(qǐng)求;獲取MAC地址,判斷ARP返回的MAC地址轉(zhuǎn)換成易讀的形式,并將主機(jī)信息寫入數(shù)據(jù)庫(kù)。依據(jù)上述理論,具體的功能模塊如圖3.1所示。圖3.1 功能模塊3.3 詳細(xì)設(shè)計(jì)依據(jù)畢業(yè)設(shè)計(jì)任務(wù)書要求,自己負(fù)責(zé)設(shè)計(jì)的LAN管理器的主機(jī)信息與探測(cè)流程圖如圖3.2所示。圖3.2 程序探測(cè)流程圖4 系統(tǒng)實(shí)現(xiàn)4.1 系統(tǒng)實(shí)現(xiàn)環(huán)境說明操作系統(tǒng):Windows xp開發(fā)工具:Visual studio 6.0 數(shù)據(jù)庫(kù):sql server 20054.2 主要模塊的實(shí)現(xiàn)(1) 封裝CDataClass類首先封裝了一個(gè)基于CObject類的CDataClass類來操作數(shù)據(jù)庫(kù),有連接數(shù)據(jù)庫(kù),打開數(shù)據(jù)庫(kù)記錄,添
15、加信息,刪除信息,更新信息等功能,代碼如下:class CDataClass:CObjectpublic:CDataClass();bool Delete(CString sql);bool Insert(CString sql);bool Update(CString sql);_RecordsetPtr & Select(CString sql);bool Close();bool Open();_RecordsetPtr pRst;CDataClass();private:_ConnectionPtr pConn; / 建立Connection _CommandPtr pCmd; / 建
16、立Command;CDataClass:CDataClass()WaitForSingleObject(hMutex,INFINITE);CoInitialize(NULL);pRst.CreateInstance(_uuidof(Recordset);pConn.CreateInstance(_uuidof(Connection);pCmd.CreateInstance(_uuidof(Command);bool CDataClass:Open()HRESULT res=0;trypConn-ConnectionString =Provider=SQLOLEDB.1;Integrated S
17、ecurity=SSPI;Persist Security Info=False;Initial Catalog=LanMana;Data Source=.;/LT-PCSQLEXPRESSres=pConn-Open(,adModeUnknown);pCmd-ActiveConnection=pConn;catch (_com_error e) AfxMessageBox(e.Description();return false;return true;_RecordsetPtr & CDataClass:Select(CString sql)trypCmd-CommandText=(LPC
18、TSTR)sql;pRst=pCmd-Execute(NULL,NULL,adCmdText);catch (_com_error e) AfxMessageBox(e.Description();return pRst;bool CDataClass:Insert(CString sql)trypCmd-CommandText=(LPCTSTR)sql;pCmd-Execute(NULL,NULL,adCmdText);catch (_com_error e) AfxMessageBox(e.Description();return false;return true;bool CDataC
19、lass:Delete(CString sql)trypCmd-CommandText=(LPCTSTR)sql;pCmd-Execute(NULL,NULL,adCmdText);catch (_com_error e) AfxMessageBox(e.Description();return false;return true;bool CDataClass:Update(CString sql)trypCmd-CommandText=(LPCTSTR)sql;pCmd-Execute(NULL,NULL,adCmdText);catch (_com_error e) AfxMessage
20、Box(e.Description();return false;return true;bool CDataClass:Close()trypConn-Close();catch (_com_error e) AfxMessageBox(e.Description();ReleaseMutex(hMutex);return false;return true;CDataClass:CDataClass()CoUninitialize();ReleaseMutex(hMutex);(2) 所用的主要成員變量如圖4.1所示。圖4.1 主要成員變量(3) 初始化函數(shù)代碼通過初始化函數(shù)探測(cè)該主機(jī)所在
21、IP地址的地址段信息,并初始化列表函數(shù)的頭標(biāo)題,代碼如下:WSADATA wsadata;CString str;if(WSAStartup(MAKEWORD(2,2),&wsadata)str.Format(不能初始化sock!);MessageBox(LPCTSTR)str);exit(0);char hostname256;gethostname(hostname,sizeof(hostname);hostent *host=gethostbyname(hostname);char* IP=inet_ntoa(*(in_addr*)host-h_addr_list0);m_IPAddre
22、ss.Format(%s,IP);int a,b,c;sscanf(IP,%d.%d.%d.%d,&a,&b,&c,&m_Begin);m_IPAddressPre.Format(%d.%d.%d.,a,b,c);m_Pre.Format(%s,(LPCTSTR)m_IPAddressPre);m_Begin=1;UpdateData(false);/隱藏側(cè)邊欄OnButtonSorh();/初始化互斥量hMutex=CreateMutex(NULL,false,NULL);LVCOLUMN lvColumn;char HeaderTxt510= 序號(hào),IP地址,電腦名,MAC地址,操作系統(tǒng);
23、int nWidth5=50,100,100,120,100;for(int i=0;i5;i+)lvColumn.mask = LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH|LVCF_FMT;lvColumn.fmt = LVCFMT_CENTER;lvColumn.iSubItem = i;lvColumn.pszText = HeaderTxti;lvColumn.cx = nWidthi;m_Info.InsertColumn(i,&lvColumn);(4) 探測(cè)該局域網(wǎng)內(nèi)存活的主機(jī)的代碼檢測(cè)函數(shù):void CLanManaDlg:OnButtonIndex()
24、 / TODO: Add your control notification handler code here/向數(shù)據(jù)庫(kù)增加數(shù)據(jù)if(m_IsOn=true)UpdateData(true);CDataClass ado;CString sql;if(!ado.Open()return;for (int i=m_Begin;i=m_End;i+)if(i=m_Begin)sql.Format(delete from IPInfo);if(!ado.Delete(sql)return; sql.Format(insert into IPInfo values(%s%d,0,),(LPCTSTR
25、)m_IPAddressPre,i);if(!ado.Insert(sql)return;if(!ado.Close()return;m_Index.SetWindowText(中止);SetTimer(1,2000,NULL);int * span=new int2;span0=m_Begin;span1=m_End;m_HThread=AfxBeginThread(ExploreHost,span);if(m_HThread=NULL)exit(1);m_IsOn=false;elsem_Index.SetWindowText(檢測(cè));TerminateThread(m_HThread,-
26、1);KillTimer(1);m_IsOn=true;(5) 線程函數(shù)以及探測(cè)函數(shù)UINT CLanManaDlg:ExploreHost(LPVOID param)int *span=(int *)param;int begin=span0,end=span1;delete span;while(true)for (int i=begin;i=end;i+=SPAN)int *p=new int2;p0=i;if(i+SPANend)p1=i+SPAN;elsep1=end;HANDLE HThread=AfxBeginThread(GetHostInfo,p);if(HThread=NU
27、LL)exit(1);Sleep(50000);return 0;UINT CLanManaDlg:GetHostInfo(LPVOID param)int *p=(int *)param;int begin=p0,end=p1;delete p;BYTE Mac6;CString IP;for (int i=begin;iend)break;IP.Format(%s%d,(LPCTSTR)m_IPAddressPre,i);char pIP16;strcpy(pIP,IP.GetBuffer(16);HRESULT hr = Arp(pIP,Mac);if(hr = 0)CString st
28、r;CString strMac();CString strHostname();int i;for(i=0;ih_name;/操作數(shù)據(jù)庫(kù)CString sql;CDataClass dao;int res=dao.Open();if(res=-1)return -1;sql.Format(update IPInfo set hostname=%s,MAC=%s,isonline=1 where IP=%s,(LPCTSTR)strHostname,(LPCTSTR)strMac,(LPCTSTR)IP);if(!dao.Update(sql)return -1;if(!dao.Close()
29、return -1;elseCString sql;CDataClass dao;if(!dao.Open()return -1;sql.Format(update IPInfo set isonline=0 where IP=%s,(LPCTSTR)IP);if(!dao.Update(sql)return -1;if(!dao.Close()return -1;return 0;(6) 精確查詢、模糊查詢的代碼void CLanManaDlg:OnButtonQuary() / TODO: Add your control notification handler code hereUpd
30、ateData(true);if (m_IsAuto=true)KillTimer(1);m_Refresh.SetWindowText(繼續(xù));m_IsAuto=false;int ID1,ID2;CString str1,str2;ID1=GetCheckedRadioButton(IDC_RADIO_EXACT,IDC_RADIO_DIM);ID2=GetCheckedRadioButton(IDC_RADIO_HOSTNAME,IDC_RADIO_MAC);(CButton*)GetDlgItem(ID1)-GetWindowText(str1);(CButton*)GetDlgIte
31、m(ID2)-GetWindowText(str2);if(!str1.Compare(精確)if (!str2.Compare(主機(jī)名)CString sql;sql.Format(select * from IPInfo where hostname=%s and isonline=1,(LPCTSTR)m_Text);GetData(sql);else if (!str2.Compare(IP地址)CString sql;sql.Format(select * from IPInfo where IP=%s and isonline=1,(LPCTSTR)m_Text);GetData(
32、sql);elseCString sql;sql.Format(select * from IPInfo where MAC=%s and isonline=1,(LPCTSTR)m_Text);GetData(sql);elseif (!str2.Compare(主機(jī)名)CString sql;sql.Format(select * from IPInfo where hostname like %s% and isonline=1,(LPCTSTR)m_Text);GetData(sql);else if (!str2.Compare(IP地址)CString sql;sql.Format
33、(select * from IPInfo where IP like %s% and isonline=1,(LPCTSTR)m_Text);GetData(sql);elseCString sql;sql.Format(select * from IPInfo where MAC like %s% and isonline=1,(LPCTSTR)m_Text);GetData(sql);(7) 數(shù)據(jù)顯示函數(shù)void CLanManaDlg:GetData(CString sql)/操作數(shù)據(jù)庫(kù)_RecordsetPtr pRst(_uuidof(Recordset);CDataClass d
34、ao;dao.Open();pRst=dao.Select(sql);if(pRst=NULL)return;m_Info.DeleteAllItems();int ID=0;trywhile (!pRst-adoEOF)CString num;num.Format(%d,ID+1);CString IP=(LPCTSTR)(_bstr_t)pRst-GetCollect(IP),Hostname=(LPCTSTR)(_bstr_t)pRst-GetCollect(hostname),MAC=(LPCTSTR)(_bstr_t)pRst-GetCollect(MAC);int IsOnline
35、=(long)pRst-GetCollect(isonline);CString OS=(LPCTSTR)(_bstr_t)pRst-GetCollect(OS);m_Info.InsertItem(ID,(LPCTSTR)num);m_Info.SetItemText(ID,1,(LPCTSTR)IP);m_Info.SetItemText(ID,2,(LPCTSTR)Hostname);m_Info.SetItemText(ID,3,(LPCTSTR)MAC);m_Info.SetItemText(ID,4,(LPCTSTR)OS);ID+;pRst-MoveNext();pRst-Clo
36、se();dao.Close();catch (_com_error e)MessageBox(e.Description();(8) 定時(shí)刷新void CLanManaDlg:OnTimer(UINT nIDEvent) CString sql(select * from IPInfo where isonline=1);switch(nIDEvent) case 1:GetData(sql);break;case 2:break;default:;CDialog:OnTimer(nIDEvent);(9) 搜索區(qū)域的顯示與隱藏void CLanManaDlg:OnButtonSorh()
37、static CRect RectLarge(0,0,0,0),RectSmall(0,0,0,0);if(RectLarge.IsRectNull()GetWindowRect(RectLarge);RectSmall=RectLarge;RectSmall.right-=200;if(m_IsShow)SetWindowPos(NULL,RectLarge.left,RectLarge.right,RectLarge.Width(),RectLarge.Height(),SWP_NOZORDER|SWP_NOMOVE);m_IsShow=false;elseSetWindowPos(NUL
38、L,RectSmall.left,RectSmall.right,RectSmall.Width(),RectSmall.Height(),SWP_NOZORDER|SWP_NOMOVE);m_IsShow=true;5 系統(tǒng)測(cè)試5.1 測(cè)試目的測(cè)試所做程序能否按照按照要求完成探測(cè)任務(wù),是否能夠快而準(zhǔn)確的得到結(jié)果,能否滿足用戶的需求。5.2 測(cè)試方法在局域網(wǎng)信息探測(cè)與查詢系統(tǒng)的開發(fā)環(huán)境下進(jìn)行模擬測(cè)試,并組建一個(gè)小型的局域網(wǎng)來驗(yàn)證。5.3 測(cè)試用例與測(cè)試結(jié)果主界面如圖5.1所示。圖5.1 程序界面點(diǎn)擊檢測(cè)之后的結(jié)果如圖5.2所示。圖5.2 程序界面點(diǎn)擊”檢測(cè)”按鈕后,該按鈕會(huì)改變?yōu)椤爸兄埂卑粹o,
39、在檢測(cè)過程中如點(diǎn)擊“中止”按鈕,則會(huì)中止該次檢測(cè)??s小探測(cè)范圍所探測(cè)到的結(jié)果如圖5.3所示。圖5.3 程序界面若IP網(wǎng)段有所變化,可以點(diǎn)擊“刷新”按鈕,可以探測(cè)出新的網(wǎng)段。刷新之前的界面如圖5.4所示。圖5.4 程序界面刷新之后的界面如圖5.5所示。圖5.5 程序界面如果在探測(cè)過程中有新的主機(jī)打開,同樣可以點(diǎn)擊“刷新”按鈕,便可以將新的主機(jī)信息顯示出來。刷新之前的界面如圖5.6所示。圖5.6 程序界面刷新之后的界面如圖5.7所示。圖5.7 程序界面精確、模糊查詢界面如圖5.8所示。圖5.8 程序界面在該界面,可以通過主機(jī)名、IP地址、MAC地址分別進(jìn)行精確和模糊的查詢。精確、模糊查詢的事例如圖
40、5.9、5.10所示。圖5.9 程序界面圖5.10 程序界面5.4 測(cè)試結(jié)論LAN管理器主機(jī)信息探測(cè)與查詢子系統(tǒng)能夠較好的實(shí)現(xiàn)主機(jī)信息的探測(cè)與查詢?nèi)蝿?wù),并且在其他主機(jī)防火墻開啟的情況下依然可以探測(cè)到有效地信息,所顯示的信息也比較準(zhǔn)確,并且精確和模糊查詢功能也能運(yùn)行正常,能夠在較短的時(shí)間內(nèi)完成任務(wù)。所探測(cè)到的主機(jī)相關(guān)信息,可以同時(shí)更新到sql server數(shù)據(jù)庫(kù)中,做到了對(duì)探測(cè)結(jié)果的有效保存。LAN管理器主機(jī)信息探測(cè)與查詢子系統(tǒng)在功能方面,完成了探測(cè)與查詢功能和防火墻穿越功能,在性能方面,能夠在較短的時(shí)間內(nèi)完成對(duì)單個(gè)或多個(gè)主機(jī)的信息探測(cè),準(zhǔn)確率也不低于90%,在用戶方面,做到了操作簡(jiǎn)單、界面簡(jiǎn)潔
41、、及時(shí)更新、數(shù)據(jù)存儲(chǔ)等功能。LAN管理器主機(jī)信息探測(cè)與查詢子系統(tǒng)基本完成了預(yù)期的目標(biāo)。結(jié)論通過這次的局域網(wǎng)信息探測(cè)與查詢系統(tǒng)的設(shè)計(jì),讓我受益良多。這是一次綜合網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)和VC編程的設(shè)計(jì)過程。我了解和掌握了網(wǎng)絡(luò)的一些特性,并且能夠進(jìn)行數(shù)據(jù)庫(kù)的設(shè)計(jì)和使用VC進(jìn)行相關(guān)軟件的編程,同時(shí)培養(yǎng)了正確的設(shè)計(jì)思想和分析問題解決問題的能力,特別是整體設(shè)計(jì)和各功能模塊的詳細(xì)設(shè)計(jì)能力,以及解決實(shí)際碰到困難解決困難的能力,學(xué)到了很多知識(shí)。這位我們將來的發(fā)展提供了更多的機(jī)會(huì)。經(jīng)過這次畢業(yè)設(shè)計(jì),我深深地體會(huì)到嚴(yán)謹(jǐn)、認(rèn)真、仔細(xì)、有耐心是一個(gè)網(wǎng)絡(luò)工程設(shè)計(jì)人員必須具備的素質(zhì)。主機(jī)信息探測(cè)與查詢系統(tǒng)的工作分為四個(gè)步驟:獲取網(wǎng)段
42、、確定范圍、開始查詢、得出結(jié)果。隨著入侵手段的日益復(fù)雜和通用系統(tǒng)不時(shí)出現(xiàn)的安全缺陷,預(yù)先評(píng)估分析網(wǎng)絡(luò)系統(tǒng)中存在的安全問題,已經(jīng)成為網(wǎng)絡(luò)管理員們的重要需求。基于網(wǎng)絡(luò)的安全掃描主要掃描設(shè)定網(wǎng)絡(luò)內(nèi)的服務(wù)器、路由器、網(wǎng)橋、交換機(jī)、訪問服務(wù)器、防火墻等設(shè)備的安全漏洞,并可設(shè)定模擬攻擊,以測(cè)試系統(tǒng)的防御能力。這種技術(shù)模擬入侵者可能的攻擊行為,從系統(tǒng)外部進(jìn)行掃描,以探測(cè)是否存在可以被入侵者利用的系統(tǒng)安全薄弱之處。主機(jī)信息探測(cè)與查詢系統(tǒng)也就可以來作為一個(gè)借鑒,用來研究和模擬入侵者的行為,對(duì)我們以后的網(wǎng)路安全也能夠提供和一些保障。由于水平有限及所需要學(xué)校的知識(shí)無(wú)限,在設(shè)計(jì)中難免有不少錯(cuò)誤和不足之處,還請(qǐng)老師們批
43、評(píng)指正。致謝在此向尊敬的導(dǎo)師孫飛顯老師致以真誠(chéng)的謝意和敬意,感謝導(dǎo)師對(duì)我學(xué)習(xí)上孜孜不倦的教誨和生活上無(wú)微不至的關(guān)懷。導(dǎo)師淵博的知識(shí)、創(chuàng)新的思維、嚴(yán)于律己寬以待人的品質(zhì)影響著我,教育著我,不僅開闊了我的思路,增長(zhǎng)了我的學(xué)識(shí),也使我在今后的學(xué)習(xí)、工作、生活中受益匪淺。衷心祝愿導(dǎo)師身體健康,萬(wàn)事如意。感謝師兄對(duì)我工作的幫助,在我論文工作最無(wú)助的時(shí)候,支持我并和我一起調(diào)試程序,使我在比較短的時(shí)間內(nèi)解決了面臨的困難,能夠認(rèn)識(shí)你們是我人生的一筆財(cái)富。感謝我的家人在我求學(xué)期間對(duì)我無(wú)私的幫助和支持。感謝抽空參與評(píng)審我論文的老師。參考文獻(xiàn)1 肖書成Ad hoc網(wǎng)絡(luò)及其路由性能研究重慶:重慶郵電學(xué)院學(xué)報(bào),2004
44、. 2 Basavaraj.無(wú)線網(wǎng)絡(luò)中的IP.北京:人民郵電出版社,2004. 3 Samir RD.Charles EEElizabeth M R Performance comparison of two on-demand routing protocols for Ad Hoc networks 2001,5:2124. 4 蔡濤等無(wú)線通信原理與應(yīng)用M.北京:電子工業(yè)出版社,2006. 5 C K Toh Ad Hoc Mobile Wireless Networks:Protocols and Systems2002.6 于斌,孫斌,溫暖等NS2與網(wǎng)絡(luò)模擬北京:人民郵電出版社2008
45、.7 徐雷鳴,龐博,趙耀NS與網(wǎng)絡(luò)模擬北京:人民郵電出版社2008.8 鄭少仁,王海濤,趙志峰Ad Hoc網(wǎng)絡(luò)技術(shù)2005 , 1:1215.9 (美)斯托林斯,無(wú)線通信與網(wǎng)絡(luò).北京:清華人學(xué)出版社,2005.10 林軍,謝維波一種基于AODV協(xié)議的改進(jìn)協(xié)議EAODV. 貴州大學(xué)學(xué)報(bào)(自然科學(xué)版)2008. 11 施榮華.崔奕芳.江玲. Ad Hoc網(wǎng)絡(luò)中QoS的路由協(xié)議算法研究計(jì)算機(jī)科學(xué)2008.12 王寧Ad Hoc技術(shù)在未來無(wú)線通信中的應(yīng)用 附錄源代碼/ LanManaDlg.h : header file/#if !defined(AFX_LANMANADLG_H_47CCEDF7_9
46、3D3_4C23_944F_EC0DCFC6077A_INCLUDED_)#define AFX_LANMANADLG_H_47CCEDF7_93D3_4C23_944F_EC0DCFC6077A_INCLUDED_#if _MSC_VER 1000#pragma once#endif / _MSC_VER 1000/ CLanManaDlg dialogclass CLanManaDlg : public CDialog/ Constructionpublic:static UINT GetHostInfo(LPVOID param); static UINT ExploreHost(LPV
47、OID param);CLanManaDlg(CWnd* pParent = NULL);/ standard constructorstatic CString m_IPAddressPre; / Dialog Data/AFX_DATA(CLanManaDlg)enum IDD = IDD_LANMANA_DIALOG ;CListCtrlm_Info;CButtonm_SORH;CButtonm_Select;CButtonm_Refresh;CButtonm_Quary;CButtonm_Index;CStringm_Text;intm_End;intm_Begin;CStringm_
48、Pre;/AFX_DATA/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CLanManaDlg)protected:virtual void DoDataExchange(CDataExchange* pDX);/ DDX/DDV support/AFX_VIRTUAL/ Implementationprotected:HICON m_hIcon;/ Generated message map functions/AFX_MSG(CLanManaDlg)virtual BOOL OnInitDialog();afx
49、_msg void OnSysCommand(UINT nID, LPARAM lParam);afx_msg void OnPaint();afx_msg HCURSOR OnQueryDragIcon();afx_msg void OnButtonIndex();afx_msg void OnButtonRefresh();afx_msg void OnButtonSelect();afx_msg void OnButtonQuary();afx_msg void OnTimer(UINT nIDEvent);afx_msg void OnButtonSorh();/AFX_MSGDECL
50、ARE_MESSAGE_MAP()private:bool m_IsAuto;static _RecordsetPtr OperateDB(CString sql);void PrintFigure();bool m_IsShow;HANDLE m_HThread;bool m_IsOn;void GetData(CString sql);void ShowFigure();void ShowList();bool m_IsIist;CString m_IPAddress; ;/AFX_INSERT_LOCATION/ Microsoft Visual C+ will insert addit
51、ional declarations immediately before the previous line.#endif / !defined(AFX_LANMANADLG_H_47CCEDF7_93D3_4C23_944F_EC0DCFC6077A_INCLUDED_)/ LanManaDlg.cpp : implementation file/#include stdafx.h#include LanMana.h#include LanManaDlg.h#include DataClass.h#include #include #include ArpDll.h#include Iph
52、lpapi.h#pragma comment(lib,Iphlpapi.lib)#pragma comment(lib,Ws2_32.lib)#pragma comment(lib,ArpDll.lib)#define SPAN 5#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endifHANDLE hMutex =NULL;/ CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialogpublic:C
53、AboutDlg();/ Dialog Data/AFX_DATA(CAboutDlg)enum IDD = IDD_ABOUTBOX ;/AFX_DATA/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CAboutDlg)protected:virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support/AFX_VIRTUAL/ Implementationprotected:/AFX_MSG(CAboutDlg)/AFX_MSGDECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg)/AFX_DATA_INITvoid CAboutDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CAboutDlg)/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)/AFX_MSG_MAP(CAboutDlg)/ No message handlers
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四年級(jí)上冊(cè)火燒云_PPT
- 冀教版小學(xué)科學(xué)六年級(jí)上冊(cè)《鳥類動(dòng)物的特征》課件
- 八年級(jí)生物上第三章-動(dòng)物在生物圈中的作用
- 九年級(jí)科學(xué)物質(zhì)分類和利用
- 工時(shí)定額管理的現(xiàn)狀及問題解決方案
- 結(jié)直腸癌診治進(jìn)展課件
- 《再塑生命的人》PPT課件
- 聚異戊二烯橡膠課件
- 橋梁結(jié)構(gòu)構(gòu)造圖剖析課件
- PCR的發(fā)明_原理及應(yīng)用1(精品)
- 八年級(jí)語(yǔ)文五柳先生傳1
- 方便面行業(yè)分析(1)
- 人教版五年級(jí)數(shù)學(xué)上冊(cè)練習(xí)二十一詳細(xì)答案課件(同名32)
- 車輛動(dòng)力學(xué)模型課件
- 油井流入動(dòng)態(tài)(IPR曲線)剖析課件