版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单位代码10学号分类号 TP393密级0劣的砂久#腿1IIUANGIIE S&T COLLEGE 1毕业设计说明书LAN管理器的设计与实现主机信息探测与查询子系统的设计与实现院(系)名称专业名称学生姓名指导教师QQ 9972376192012年5月14日黄河科技学院毕业设计说明书第I页LAN管理器的设计与实现主机信息探测与查询子系统的设计与实现摘 要目前,局域网已广泛应用于机关、学校、企事业单位等。围绕LAN管理器课程局域网建设任务,基于TCP/IP协议栈,在Windows下用VC编程语言,设计、实现了 LAN 管理器的主机信息探测与查询子系统。概述了课题的选题背景、课题来源、毕业设计任 务及
2、毕业设计说明书的组织结构,说明了主机信息探测与查询子系统的功能需求、性能 需求和用户需求,重点介绍了 LAN管理器的总体设计及主机信息探测与查询子系统的 具体实现环境和主要实现代码。测试结果表明该子系统能够正常工作,实现了预期目的, 为LAN管理器的设计和实现打下了基础。关键词:LAN管理器,主机信息,探测与查询,VC黄河科技学院毕业设计说明书第II页Desig n and Impleme ntati on of LAN Man agerHost Detectio n and Query Subsystem Desig n and AchieveAuthor:Xi ng Mi ng Tutor
3、:S un Feixia nAbstractLocal area networks (LAN) have been widely applied in offices, schools, enterprises, in stituti ons, and etc. Rounding the graduati on desig ning tasks, a host in formatio n detect ion and query sub-systemis desig ned and impleme nted. The prese ntedsub-system is based on Windo
4、ws operating system, and it is implemented by VC programming Ianguage. With the research backgro und and sources of the subject in troduced, the graduate desig n tasks and orga ni zati onal structure are give n. Follow ing that, the fun cti onal requireme nts, performa nee requireme nts and user req
5、uireme nts of the sub-systemare illustrated. And the n, the overall and detailed desig n methods of the host in formati on detecti on and query sub-system are also give n. Fi nally, the impleme ntatio n en vir onment and the ma in codes of the sub-system are described. Testi ng results show that the
6、 sub-system can work properly. Thus, it lays the foun datio n for the desig n and impleme ntati on of LAN man ageme nt system.Keywords: LAN Man ageme nt, Host In formati on, Detect ion and query, VC黄河科技学院毕业设计说明书第III页目 录 TOC o 1-5 h z HYPERLINK l bookmark8 o Current Document 绪论11.1选题背景11.2 课题来源11.3毕设
7、任务及本人贡献11.4毕业设计说明书的组织结构 2 HYPERLINK l bookmark10 o Current Document 需求分析3功能需求32.2性能需求32.3用户需求3 HYPERLINK l bookmark12 o Current Document 3系统设计4设计思想4总体设计4 HYPERLINK l bookmark14 o Current Document 详细设计5 HYPERLINK l bookmark20 o Current Document 系统实现6 HYPERLINK l bookmark22 o Current Document 4.1系统实现环
8、境说明6 HYPERLINK l bookmark30 o Current Document 4.2主要模块的实现6 HYPERLINK l bookmark68 o Current Document 系统测试174.1 测试目的174.2测试方法174.3测试用例与测试结果17测试结论22 HYPERLINK l bookmark70 o Current Document 结论23 HYPERLINK l bookmark72 o Current Document 致谢24 HYPERLINK l bookmark74 o Current Document 参考文献25 HYPERLINK
9、l bookmark90 o Current Document 附录26 HYPERLINK l bookmark92 o Current Document 源代码26黄河科技学院毕业设计说明书第 页1 绪论1.1选题背景自从计算机问世以来,安全问题就一直存在。特别是随着In ternet的迅速扩张和电子商务的兴起,人们发现保护资源和数据的安全,让他免受来自恶意入侵者的威胁是件 相当困难的事。提到网络安全,很多人首先想到的是防火墙,防火墙作为一种静态的访 问控制类安全产品通常使用包过滤的技术来实现网络的隔离。适当配置的防火墙虽然可以将非预期的访问请求屏蔽在外,但不能检查出经过他的合法流量中是否
10、包含着恶意的 入侵代码。随着入侵手段的日益复杂和通用系统不时出现的安全缺陷,预先评估分析网络系统中存在的安全问题,已经成为网络管理员们的重要需求。基于网络的安全扫描主要扫描 设定网络内的服务器、路由器、网桥、交换机、访问服务器、防火墙等设备的安全漏洞, 并可设定模拟攻击,以测试系统的防御能力。这种技术模拟入侵者可能的攻击行为,从 系统外部进行扫描,以探测是否存在可以被入侵者利用的系统安全薄弱之处。针对网络 入侵手段日益复杂、操作系统漏洞不断涌现等问题,预先评估网络信息系统存在的安全 问题已成为网络管理员的重要需求。如何保障自身网络的安全,其中一个主要的方法就 是自查自纠,而在这个过程中,对自己
11、的网络进行扫描成为一种较为快捷、直观、简单 的方法。扫描技术基于TCP/IP协议,对各种网络服务,无论是主机或者防火墙、路由 器都适用。同时,扫描可以确认各种配置的正确性,避免遭受不必要的攻击。为了提高扫描的效率和精确度,主机的信息探测就是必不可少的。1.2课题来源本课题来自河南省教育厅自然科学研究计划项目(编号2010A520048)。1.3毕设任务及本人贡献围绕LAN管理器研究,采用ARP、Ping技术,设计主机信息的探测与查询方法, 并用VC编程实现,同时连接数据库。要求:探测速度尽可能快;既能探测单个目标主 机的信息,也能探测某一 IP地址区间内主机的信息;具备一定穿透防火墙的能力。具
12、体毕业设计任务如下:根据任务书要求,收集材料,对比分析,完成译文和文献综述;完成开题报告;学习局域网程序设计知识,设计并实现主机信息探测与查询子系统;撰写毕业设计说明书。本人的主要贡献主要有以下几点:完成译文和文献综述;完成了开题报告;实现了 LAN管理器的总体设计和数据库设计;测试了主机信息探测与查询子系统;撰写了毕业设计说明书。1.4毕业设计说明书的组织结构本学位论文包括中英文摘要、目录、绪论、正文、总结、参考文献、致谢、源代码, 共八个部分。其中,论文的绪论、正文和总结三部分的组织安排如下:绪论:首先介绍了课题的研究背景和课题来源,然后介绍了本文的研究内容与主要贡献,最后列出了论文的组织
13、结构。需求分析:主要介绍了该系统的用户需求、功能需求和性能需求。系统设计:详细介绍了 LAN管理器主机信息探测与查询子系统的基本思想、 整体设计和详细设计。系统实现:给出系统实现的标准测试环境和实现系统的主要代码。系统测试:在标准测试环境下的测试结果进行分析。总结:对论文的主要工作进行了总结2需求分析2.1功能需求探测与查询功能可利用多种技术对主机信息进行探测与查询。防火墙穿越功能防火墙穿越,即在对方已安装防火墙并且正常运行的情况下探测主机信息,这是主 机信息探测与查询系统的核心功能,也是主机信息探测与查询系统必不可少的功能。2.2性能需求尽可能快的探测到主机信息,既能探测单个目标主机的信息,
14、也能探测某一IP地址区间内主机的信息,具备一定穿透防火墙的能力,同时准确率不低于90%。2.3用户需求用户需求主要有以下几个方面:通过简单的操作就能够探测到主机信息,并且有必要的返回信息并记录结果;在对方打开防火墙禁止Ping的时候,我们Ping不通的时候应该通过一种有效 的方式来探测到对方主机信息;可以同时探测多个主机的信息;在某一主机的信息发生变更时可以更新出所变更后的信息;具有数据存储功能。3系统设计3.1设计思想通过arp协议,调用arp功能函数,实现主机信息的探测,通过函数的返回值来判 断主机的是否存活,并且获取存活主机的mac。然后通过IP层协议获取主机的详细信息(gethostb
15、yadd),例如:主机名字,地址类型,主机网络地址等;当获取信息之后 存入数据库(sql server 2005,于是要用到数据库的存取知识。由于探测主机的范围比 较大,所以需要用到多线程的思想。3.2总体设计基于ARP协议的主机信息探测与查询系统主要包括域名解析和IP地址的转换、ARP请求发送与处理两大模块,各模块的功能简述如下:域名解析及IP地址转换:调用inet_addr将输入的点分十进制数表示的IP地址转换 为网络字节顺序的IP地址;获取主机名:调用gethostbyaddr获取存活主机的主机名;ARP请求发送与处理:调用sendARP函数向目标地址发送 ARP请求;获取MAC 地址,
16、判断ARP返回的MAC地址转换成易读的形式,并将主机信息写入数据库。依据上述理论,具体的功能模块如图 3.1所示。图3.1功能模块3.3 详细设计依据毕业设计任务书要求,自己负责设计的LAN管理器的主机信息与探测流程图1r输岀目标主机域名r开始标主机的域 名吗用SendARPO向目标主机境送ARF请求主机总回目、1F输出目标主机存活信 息1Ft探测信息保存到SQL. 埶堀库1F查询IP、MAC 主 机容)7用 GeiliasfoyiiatiieO 取 目标主机IF地址1r输岀目标主机不在位或 IP错误显于查询结果如图3.2所示。巾出的结束图3.2程序探测流程图4系统实现系统实现环境说明操作系统
17、:Windows xp开发工具:Visual studio 6.0数据库:sql server 2005主要模块的实现圭寸装CDataClass类首先封装了一个基于CObject类的CDataClass类来操作数据库,有连接数据库,打 开数据库记录,添加信息,删除信息,更新信息等功能,代码如下:class CDataClass:CObjectpublic:CDataClass。;bool Delete(CStri ng sql);bool In sert(CStri ng sql);bool Update(CStri ng sql);_RecordsetPtr & Select(CStri n
18、g sql);bool Close();bool Ope n();_RecordsetPtr pRst;CDataClass();private:_ConnectionPtr pConn;/ 建立 Connection_Comma ndPtr pCmd;/ 建立 Comma nd;CDataClass:CDataClass()WaitForSi ngleObject(hMutex,INFINITE);CoI nitialize(NULL);pRst.CreateInstance(_uuidof(Recordset);pConn.CreateInstance(_uuidof(C onnectio
19、n);pCmd.CreateInstance(_uuidof(Comma nd);bool CDataClass:Ope n()HRESULT res=O;trypCo nn-Co nn ectio nStri ng =Provider=SQLOLEDB.1;In tegrated Security=SSPI;Persist Security In fo=False;In itial Catalog=La nMana;Data Source=.;/LT-PCSQLEXPRESSres=pCo nn-Ope n(,adMode Unknown); pCmd-ActiveC onn ectio n
20、=pC onn;catch (_com_error e)AfxMessageBox(e.Descriptio n();return false;return true;_RecordsetPtr & CDataClass:Select(CStri ng sql)trypCmd-Comma ndText=(LPCTSTR)sql; pRst=pCmd-Execute(NULL,NULL,adCmdText);catch (_com_error e)AfxMessageBox(e.Descriptio n();return pRst;bool CDataClass:I nsert(CStri ng
21、 sql)trypCmd-Comma ndText=(LPCTSTR)sql; pCmd-Execute(NULL,NULL,adCmdText);catch (_com_error e)AfxMessageBox(e.Descriptio n();return false;return true;bool CDataClass:Delete(CStri ng sql)trypCmd-Comma ndText=(LPCTSTR)sql; pCmd-Execute(NULL,NULL,adCmdText);catch (_com_error e)AfxMessageBox(e.Descripti
22、o n();return false;return true;bool CDataClass:Update(CStri ng sql)trypCmd-Comma ndText=(LPCTSTR)sql; pCmd-Execute(NULL,NULL,adCmdText);catch (_com_error e)AfxMessageBox(e.Descriptio n();return false;return true;bool CDataClass:Close()trypConn-Close();catch (_com_error e) AfxMessageBox(e.Descriptio
23、n();ReleaseMutex(hMutex);return false;return true;CDataClass:CDataClass()CoUnin itialize();ReleaseMutex(hMutex);所用的主要成员变量如图4.1所示IDC BUTTON INDEXCButlonm IndexAIDC BUTTON QUARYCButtonmQuaryIDCBUTTONREFRESHCButtonmRefreshIDC BUTTON SELECTCButtonm SelectIDC_BUTTON_SORHCButtonmlSORHIDCEDIT BEGINinim Beg
24、iniDC-EDrr-ENDintm_EndIDC飞DIT PRECStringm_PreIDC EDIT TEXTCStringm TextidclistInfoCListCtrlIDC RADIO EXACTV图4.1主要成员变量初始化函数代码通过初始化函数探测该主机所在IP地址的地址段信息,并初始化列表函数的头标 题,代码如下:WSADATA wsadata;CStri ng str;if(WSAStartup(MAKEWORD(2,2),&wsadata)str.Format(”不能初始化 sock!);MessageBox(LPCTSTR)str);exit(0);char host
25、 name256;gethost name(host name,sizeof(host name);hoste nt *host=gethostb yn ame(host name);char* IP=i net_ ntoa(*(in_addr*)host-h_addr_list0);mPAddress.Format(%s,IP);int a,b,c;ssca nf(IP,%d.%d.%d.%d, &a, &b,&c,&m _Begi n);m_I PAddressPre.Format(%d.%d.%d.,a,b,c);m_Pre.Format(%s,(LPCTSTR)mi_I PAddres
26、sPre);m_Begi n=1;UpdateData(false);隐藏侧边栏On Butt on Sorh();/初始化互斥量hMutex=CreateMutex(NULL,false,NULL);LVCOLUMN IvColu mn;char HeaderTxt510= 序号,”IP 地址,电脑名,”MAC 地址,”操作系统;int n Width 5=50,100,100,120,100;for(i nt i=0;i5;i+)lvColum n. mask = LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH|LVCF_FMT; lvColu mn .fmt = LV
27、CFMT_CENTER;lvColu mn .iSubltem = i;lvCol umn. pszText = HeaderTxti;lvColu mn .ex = n Widthi;mnfo.ln sertColu mn (i,&lvColu mn);探测该局域网内存活的主机的代码检测函数:void CLa nMan aDlg:O nButt onln dex()/ TODO: Add your con trol no tificati on han dler code here/向数据库增加数据if(m_ls On=true)UpdateData(true);CDataClass ado
28、;CStri ng sql;if(!ado.Ope n()return;for (int i=m_Begi n;i=m_E nd;i+)if(i=m_Begi n)sql.Format(delete from IPI nfo);if(!ado.Delete(sql)return;sql.Format(i nsert into IPI nfo values(%s%d,0,),(LPCTSTR)mPAddressPre,i); if(!ado.I nsert(sql)return;if(!ado.Close()return;mndex.SetWindowText(” 中止);SetTimer(1,
29、2000,NULL);int * spa n=new in t2;spa n0=m_Begi n;spa n1=m_E nd;m_HThread=AfxBegi nThread(ExploreHost,spa n); if(m_HThread=NULL)exit(1);m_Is On=false;elsemndex.SetWindowText(” 检测);Termi nateThread(m_HThread,-1);KillTimer(1);m_Is On=true;线程函数以及探测函数UINT CLa nMan aDlg:ExploreHost(LPVOID param)int *spa n
30、=(i nt *)param;int begi n=spa n 0,e nd=spa n 1;delete spa n;while(true)for (int i=beg in ;i=e nd;i+=SPAN)int *p=new in t2;p0=i;if(i+SPANe nd)p1=i+SPAN;elsep1=e nd;HANDLE HThread=AfxBegi nThread(GetHostl nfo,p); if(HThread=NULL)exit(1);Sleep(50000);return 0;UINT CLa nMan aDlg:GetHost In fo(LPVOID par
31、am)int *p=(i nt *)param;int begi n=pO,e nd=p1;delete p;BYTE Mac6;CStri ng IP;for (i nt i=beg in ;ie nd)break;IP.Format(%s%d,(LPCTSTR)mPAddressPre,i);char pIP16;strcpy(plP,IP.GetBuffer(16);HRESULT hr = Arp(pIP,Mac);if(hr = 0)CStri ng str;CStri ng strMac(”);CStri ng strHost name();int i;for(i=0;ih _n
32、ame;/操作数据库CStri ng sql;CDataClass dao;int res=dao.Ope n();if(res=-1)return -1;sql.Format(update IPI nfo set host name=%s,MAC=%s,iso nlin e=1 where IP=%s,(LPCTSTR)strHost name,(LPCTSTR)strMac,(LPCTSTR)IP);if(!dao.Update(sql)return -1;if(!dao.Close()return -1;elseCStri ng sql;CDataClass dao;if(!dao.Op
33、e n()return -1;sql.Format(update IPI nfo set iso nlin e=0 where IP=%s,(LPCTSTR)IP); if(!dao.Update(sql)return -1;if(!dao.Close()return -1;return 0;精确查询、模糊查询的代码void CLa nMan aDlg:O nButto nQuary()/ TODO: Add your con trol no tificati on han dler code hereUpdateData(true);if (m_lsAuto=true)KillTimer(1
34、);m_Refresh.SetWindowText(” 继续);m_IsAuto=false;int ID1,ID2;CStri ng str1,str2;ID 仁GetCheckedRadioButto n(IDC_RADIO_EXACT,IDC_RADIO_DIM);ID2=GetCheckedRadioButt on (IDC_RADIO_HOSTNAME,IDC_RADIO_MAC);(CButt on *)GetDlgltem(ID1)-GetWi ndowText(str1);(CButt on *)GetDlgltem(ID2)-GetWi ndowText(str2);if(!
35、str1.Compare(精确)if (!str2.Compare(主机名)CStri ng sql;sql.Format(select * from IPI nfo where host name=%s and iso nlin e=1,(LPCTSTR)m_Text); GetData(sql);else if (!str2.Compare(IP 地址)CStri ng sql;sql.Format(select * from IPI nfo where IP=%s and iso nlin e=1,(LPCTSTR)m_Text); GetData(sql);elseCStri ng s
36、ql;sql.Format(select * from IPI nfo where MAC=%s and iso nlin e=1,(LPCTSTR)m_Text); GetData(sql);elseif (!str2.Compare(主机名)CStri ng sql;sql.Format(select * from IPI nfo where host name like %s% and iso nlin e=1,(LPCTSTR)m_Text);GetData(sql);else if (!str2.Compare(IP 地址)CStri ng sql;sql.Format(select
37、 * from IPInfo where IP like %s% andiso nlin e=1,(LPCTSTR)m_Text);GetData(sql);elseCStri ng sql;sql.Format(select * from IPInfo where MAC like %s% andiso nlin e=1,(LPCTSTR)m_Text);GetData(sql);数据显示函数void CLa nMan aDlg:GetData(CStri ng sql)/操作数据库_RecordsetPtr pRst(_uuidof(Recordset);CDataClass dao;da
38、o.Ope n();pRst=dao.Select(sql);if(pRst=NULL)return;mn fo.DeleteAllltems();int ID=0;trywhile (!pRst-adoEOF)CStri ng num;n um.Format(%d,ID+1);CStri ngIP=(LPCTSTR)(_bstr_t)pRst-GetCollect(IP),Host name=(LPCTSTR)(_bstr_t)pRst-GetCollect(host na me),MAC=(LPCTSTR)(_bstr_t)pRst-GetCollect(MAC);int IsO nlin
39、 e=(lo ng)pRst-GetCollect(iso nli ne);CStri ng OS=(LPCTSTR)(_bstr_t)pRst-GetCollect(OS);mn fo.I nsertltem(ID,(LPCTSTR) nu m);m_ln fo.SetltemText(ID,1,(LPCTSTR)IP);mn fo.SetltemText(ID,2,(LPCTSTR)Host name);mn fo.SetltemText(ID,3,(LPCTSTR)MAC);m_ln fo.SetltemText(ID,4,(LPCTSTR)OS);ID+;pRst-MoveNext()
40、;pRst-Close();dao.Close();catch (_com_error e)MessageBox(e.Descripti on();(8)定时刷新void CLa nMan aDlg:O nTimer(UINT nIDEve nt)CStri ng sql(select * from IPI nfo where ison li ne=1);switch( nIDEve nt) case 1:GetData(sql);break;case 2:break;default:JCDialog:O nTimer( nIDEve nt);(9)搜索区域的显示与隐藏void CLa nMa
41、n aDlg:O nButto nSorh()static CRect RectLarge(0,0,0,0),RectSmall(0,0,0,0);if(RectLarge.lsRectNull()GetWi ndowRect(RectLarge);RectSmall=RectLarge;RectSmall.right-=200;if(msShow)SetWi ndowPos(NULL,RectLarge.left,RectLarge.right,RectLarge.Width(),RectLarge.Height(),SWP_NOZORDER|SWP_NOMOVE);m_IsShow=fal
42、se;elseSetWi ndowPos(NULL,RectSmall.left,RectSmall.right,RectSmall.Width(),RectSmall.Height(),SWP_NOZORDER|SWP_NOMOVE);m_IsShow=true;5系统测试5.1 测试目的测试所做程序能否按照按照要求完成探测任务,是否能够快而准确的得到结果,能 否满足用户的需求。5.2测试方法在局域网信息探测与查询系统的开发环境下进行模拟测试,并组建一个小型的局域网来验证。5.3测试用例与测试结果主界面如图5.1所示图5.1程序界面点击检测之后的结果如图5.2所示图5.2程序界面点击”检测”
43、按钮后,该按钮会改变为“中止”按钮,在检测过程中如点击“中止” 按钮,则会中止该次检测。缩小探测范围所探测到的结果如图 5.3所示。图5.3程序界面若IP网段有所变化,可以点击“刷新”按钮,可以探测出新的网段。刷新之前的界面如图5.4所示。图5.4程序界面刷新之后的界面如图5.5所示。图5.5程序界面如果在探测过程中有新的主机打开,同样可以点击“刷新”按钮,便可以将新的主 机信息显示出来。刷新之前的界面如图5.6所示。图5.6程序界面刷新之后的界面如图5.7所示。图5.7程序界面精确、模糊查询界面如图5.8所示图5.8程序界面在该界面,可以通过主机名、IP地址、MAC地址分别进行精确和模糊的查
44、询精确、模糊查询的事例如图 5.9、5.10所示。图5.9程序界面图5.10程序界面5.4测试结论LAN管理器主机信息探测与查询子系统能够较好的实现主机信息的探测与查询任 务,并且在其他主机防火墙开启的情况下依然可以探测到有效地信息,所显示的信息也 比较准确,并且精确和模糊查询功能也能运行正常,能够在较短的时间内完成任务。所 探测到的主机相关信息,可以同时更新到 sql server数据库中,做到了对探测结果的有 效保存。LAN管理器主机信息探测与查询子系统在功能方面,完成了探测与查询功能 和防火墙穿越功能,在性能方面,能够在较短的时间内完成对单个或多个主机的信息探 测,准确率也不低于90%,
45、在用户方面,做到了操作简单、界面简洁、及时更新、数据 存储等功能。LAN管理器主机信息探测与查询子系统基本完成了预期的目标。结论通过这次的局域网信息探测与查询系统的设计, 让我受益良多。这是一次综合网络、 数据库和VC编程的设计过程。我了解和掌握了网络的一些特性,并且能够进行数据库 的设计和使用VC进行相关软件的编程,同时培养了正确的设计思想和分析问题解决问 题的能力,特别是整体设计和各功能模块的详细设计能力,以及解决实际碰到困难解决 困难的能力,学到了很多知识。这位我们将来的发展提供了更多的机会。经过这次毕业 设计,我深深地体会到严谨、认真、仔细、有耐心是一个网络工程设计人员必须具备的 素质
46、。主机信息探测与查询系统的工作分为四个步骤:获取网段、确定范围、开始查询、 得出结果。随着入侵手段的日益复杂和通用系统不时出现的安全缺陷,预先评估分析网 络系统中存在的安全问题,已经成为网络管理员们的重要需求。基于网络的安全扫描主 要扫描设定网络内的服务器、路由器、网桥、交换机、访问服务器、防火墙等设备的安 全漏洞,并可设定模拟攻击,以测试系统的防御能力。这种技术模拟入侵者可能的攻击 行为,从系统外部进行扫描,以探测是否存在可以被入侵者利用的系统安全薄弱之处。 主机信息探测与查询系统也就可以来作为一个借鉴,用来研究和模拟入侵者的行为,对 我们以后的网路安全也能够提供和一些保障。由于水平有限及所
47、需要学校的知识无限,在设计中难免有不少错误和不足之处,还 请老师们批评指正致谢在此向尊敬的导师孙飞显老师致以真诚的谢意和敬意,感谢导师对我学习上孜孜不倦的教诲和生活上无微不至的关怀。导师渊博的知识、创新的思维、严于律己宽以待人 的品质影响着我,教育着我,不仅开阔了我的思路,增长了我的学识,也使我在今后的 学习、工作、生活中受益匪浅。衷心祝愿导师身体健康,万事如意。感谢师兄对我工作的帮助,在我论文工作最无助的时候,支持我并和我一起调试程 序,使我在比较短的时间内解决了面临的困难,能够认识你们是我人生的一笔财富。感谢我的家人在我求学期间对我无私的帮助和支持。感谢抽空参与评审我论文的老师。参考文献肖
48、书成.Ad hoc网络及其路由性能研究重庆:重庆邮电学院学报,2004.Basava.无线网络中的IP北京:人民邮电出版社,2004.Samir RD.Charles EE. Elizabeth M R Performa nee comparis on of two on-dema nd rout ing protocols for Ad Hoc networks 2001,5: 2124.蔡涛等.无线通信原理与应用M.北京:电子工业出版社,2006. C K Toh Ad Hoc Mobile Wireless Networks:Protocols and Systems2002.于斌,孙斌
49、,温暖等.NS2与网络模拟.北京:人民邮电出版社.2008.徐雷鸣,庞博,赵耀.NS与网络模拟.北京:人民邮电出版社.2008.郑少仁,王海涛,赵志峰.Ad Hoc网络技术2005 , 1: 1215.(美)斯托林斯,无线通信与网络.北京:清华人学出版社,2005.林军,谢维波.一种基于 AODV协议的改进协议EAODV.贵州大学学报(自然科学版).2008.施荣华.崔奕芳.江玲.Ad Hoc网络中QoS的路由协议算法研究.计算机科学.2008.王宁 Ad Hoc 技术在未来无线通信中的应用 HYPERLINK /164/a258067.html /164/a258067.html.附录源代码
50、/La nMan aDIg.h : header file/#if !defi ned(AFX_LANMANADLG_H_47CCEDF7_93D3_4C23_944F_EC0DCFC6077A_INCLUDED_)#defi ne AFX_LANMANADLG_H_47CCEDF7_93D3_4C23_944F_EC0DCFC6077A_INCLUDED_#if _MSC_VER 1000#pragma once#e ndif / _MSC_VER 1000/ CLa nMan aDlg dialogclass CLanMan aDlg : public CDialog/ Con struc
51、t ionpublic:static UINT GetHostI nfo(LPVOID param);static UINT ExploreHost(LPVOID param);CLa nMan aDlg(CWnd* pPare nt = NULL);/ sta ndard con structorstatic CStri ng mPAddressPre;/ Dialog DataAFX_DATA(CLa nMan aDlg)enum IDD = IDD_LANMANA_DIALOG ;CListCtrl m_I nfo;CButt on m_SORH;CButton m_Select;CBu
52、tton m_Refresh;CButton m_Quary;CButton mndex;CStri ng m_Text;intm_End;intm_Begi n;CStri ng m_Pre;/AFX_DATA/ ClassWizard gen erated virtual fun cti on overrides/AFX_VIRTUAL(CLa nMan aDlg)protected:virtual void DoDataExcha nge(CDataExcha nge* pDX);/ DDX/DDV supportAFX_VIRTUAL/ Impleme ntati onprotecte
53、d:HICON m_hlco n;/ Gen erated message map functionsAFX_MSG(CLa nMan aDIg)virtual BOOL Onln itDialog();afx_msg void On SysComma nd(UINT nID, LPARAM lParam);afx_msg void On Pai nt();afx_msg HCURSOR On QueryDragIco n();afx_msg void On Butt onln dex();afx_msg void On Butt on Refresh();afx_msg void On Bu
54、tt on Select();afx_msg void On Butt on Quary();afx_msg void On Timer(UINT nIDEve nt);afx_msg void On Butt on Sorh();AFX_MSGDECLARE_MESSAGE_MAP()private:bool m_IsAuto;static _RecordsetPtr OperateDB(CStri ng sql);void Prin tFigure();bool m_lsShow;HANDLE m_HThread;bool m_Is On;void GetData(CStri ng sql
55、);void ShowFigure();void ShowList();bool m_IsIist;CStri ng mPAddress;AFX_INSERT_LOCA TION/ Microsoft Visual C+ will in sert additi onal declarati ons immediately before the previous line.#en dif/ !defi ned(AFX_LANMANADLG_H_47CCEDF7_93D3_4C23_944F_EC0DCFC6077A_INCLUDED_)/ LanMan aDlg.cpp : impleme nt
56、ati on file/#i nclude stdafx.h#in clude La nMan a.h#in clude La nMan aDlg.h#in clude DataClass.h#in clude #i nclude #i nclude ArpDll.h#i nclude Iphlp api.h#pragma comme nt(lib,lphlpapi.lib)#pragma comme nt(lib,Ws2_32.lib)#pragma comme nt(lib,ArpDll.lib)#defi ne SPAN 5#ifdef _DEBUG#defi ne new DEBUG_
57、NEW#un def THIS_FILEstatic char THIS_FILE = _FILE_;#en difHANDLE hMutex =NULL;/ CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialogpublic:CAboutDlg();/ Dialog DataAFX_DATA(CAboutDlg)enum IDD = IDD_ABOUTBOX ;AFX_DATA/ ClassWizard gen erated virtual fun cti on overridesAFX_VIRTUAL(CAbo
58、utDlg)protected:/ DDX/DDV supportvirtual void DoDataExcha nge(CDataExcha nge* pDX);/AFX_VIRTUAL/ Impleme ntati onprotected:/AFX_MSG(CAboutDlg)/AFX_MSGDECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg) /AFX_DATA_INITvoid CAboutDlg:DoDataExcha nge(CDataExcha
59、nge* pDX) CDialog:DoDataExcha nge(pDX);/AFX_DATA_MAP(CAboutDlg) /AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)/AFX_MSG_MAP(CAboutDlg)/ No message han dlersAFX_MSG_MAPEND_MESSAGE_MAP()/ CLa nMan aDlg dialogCStri ng CLa nMan aDlg:mPAddressPre=;CLa nMan aDlg:CLa nMan aDlg(CWnd* pPare nt /*=NULL*/):
60、CDialog(CLa nMan aDlg:IDD, pPare nt)AFX_DATA_INIT(CLa nMan aDlg)m_Text = _T();m_End = 254;m_Begin = 0;msIist=TRUE;msOn=true;msShow=false;m_lsAuto=true;m_Pre = _T();/AFX_DATA_INIT/ Note that LoadIc on does not require a subseque nt DestroyIc on in Win32 m_hIc on = AfxGetApp()-Loadlco n(IDR_MAINFRAME)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年湖南省武冈市高三数学下册期末考试模拟考试卷及完整答案(有一套)
- 2026届阿里地区日土县四年级数学下学期期末质量跟踪监视试题含答案
- 2026年浙江省东阳市高三数学下册期末考试模拟检测卷【考试直接用】附答案
- 2026年福建省武夷山市高三数学下册期末考试模拟试卷附参考答案(预热题)
- 2026年陕西省韩城市高三数学下册期末考试模拟检测卷及答案【真题汇编】
- 2026年高三数学下册期末考试模拟卷及答案【新】
- 2026年云南省芒市高三数学下册期末考试模拟检测卷(含答案)
- 2026年湖南省洪江市高三数学下册期末考试模拟试卷含答案(能力提升)
- 湖北省直辖县级行政单位潜江市13校联考2026-2027学年七年级上学期10月阶段检测生物试卷(含解析)
- 电商卖家物流配送服务标准预案
- 2024年1月自考07484社会保障学试题及答案含解析
- 医疗废弃物无害化处理与资源化利用
- 《运动技能学习与控制》考试复习题库(含答案)
- 露天采矿技术管理
- 内部控制评价与审计案例研究-11-24
- (最准确)工程勘察设计收费标准快速计算表(EXCEL)
- 第2章 CR400AF动车组司机室设备操作《复兴号动车组司机操作及整备》教学课件
- 金融实习证明
- GB/T 11137-1989深色石油产品运动粘度测定法(逆流法)和动力粘度计算法
- 第11讲 接触网平面布置
- GA/T 2000.156-2016公安信息代码第156部分:常用证件代码
评论
0/150
提交评论