![主机存活性探测系统设计报告汇总_第1页](http://file4.renrendoc.com/view/4c7163cd86fd6de6ba49dd39752a611a/4c7163cd86fd6de6ba49dd39752a611a1.gif)
![主机存活性探测系统设计报告汇总_第2页](http://file4.renrendoc.com/view/4c7163cd86fd6de6ba49dd39752a611a/4c7163cd86fd6de6ba49dd39752a611a2.gif)
![主机存活性探测系统设计报告汇总_第3页](http://file4.renrendoc.com/view/4c7163cd86fd6de6ba49dd39752a611a/4c7163cd86fd6de6ba49dd39752a611a3.gif)
![主机存活性探测系统设计报告汇总_第4页](http://file4.renrendoc.com/view/4c7163cd86fd6de6ba49dd39752a611a/4c7163cd86fd6de6ba49dd39752a611a4.gif)
![主机存活性探测系统设计报告汇总_第5页](http://file4.renrendoc.com/view/4c7163cd86fd6de6ba49dd39752a611a/4c7163cd86fd6de6ba49dd39752a611a5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第 页网络主机的存活性探测系统设计与实现TOC o 1-5 h z HYPERLINK l bookmark0 一、概要2 HYPERLINK l bookmark2 课设目的2 HYPERLINK l bookmark4 设计要求2 HYPERLINK l bookmark6 设计题目2二、需求分析3 HYPERLINK l bookmark8 三、系统分析与设计4基本思想4系统总体设计5系统详细设计5 HYPERLINK l bookmark12 四、系统实现6 HYPERLINK l bookmark14 实现环境6 HYPERLINK l bookmark16 实现结果6测试实验结果
2、对比分析7 HYPERLINK l bookmark20 五、心得体会8 HYPERLINK l bookmark22 六、参考文献8 HYPERLINK l bookmark24 七、附录8一、概要课设目的TCP/IP原理与应用是一门实践性较强的网络基础课程,为了学好这门课程,必须在掌握相关基本协议的同时,加强上机实践。本课程设计的目的就是要达到理论与实际应用相结合,使同学们能够根据熟悉TCP/IP的相关基本协议,学会基本的C-S编程方法,能够用网络编程解决实际的网络通信问题,并培养良好的程序设计技能。设计要求1、通过这次设计,要求了解TCP/IP的基本协议的工作原理和基本的网络编程知识,利
3、用单(多)线程技术、API函数等编写服务和客户端应用程序,利用MFC提供的类编写较为复杂网络应用程序。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。2、学生必须仔细研读TCP/IP原理与应用课程设计(实习)要求,以学生自学为主、指导教师指导为辅,认真、独立地完成课程设计的任务,有问题及时主动与指导教师沟通。3、本次课程设计按照教学要求需要在两周时间内独立完成,学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课程设计过程中不断检测自己的计划完成情况,及时地向指导教师汇报。4、每个题目最多四个人。5、编程语言自定。设计题目网络主机的存活性探测系
4、统设计与实现1)任务(ping,arptest)设计并实现能够探测局域网、广域网内主机存活情况的应用系统。2)要求要能够实现单IP(或域名)和IP段(连续或不连续)的网络主机存活性探测。探测结果只显示存活主机情况,要有一定的图形显示。局域网内的主机存活性探测速度要快。最好具备一定穿越防火墙的能力(特别是探测局域网内主机的存活性时)除发送ICMP数据包实现网络主机存活性探测外,建议使用SYNPing、ACKPing、FinPing、NullPing方式实现,参考设计流程如下:开始输入的是目标主机的域名吗一:,e用G开始输入的是目标主机的域名吗一:,e用G获取目标主机IP地址thostbyname
5、().SYNPing方式探测.二NACKPing方式探测;”/FINPing方式探测,Jn1:NULLPing方式探测”一向目标主机的端口0发送定制向目标主机的端口0发送定制S.YN数据包向目标主机的端口0发送定制ACK数据包向目标主机的端口0发送定制FIN数据包向目标主机的端口0发送无标志位数据包收到目标主机ACK收到目标主机RSTN结束输出目标主机暂无开机或收到目标主机ACK收到目标主机RSTN结束输出目标主机暂无开机或IP错误输出目标主机存活信息二、需求分析在网络安全形势日益严峻的情况下,针对网络入侵手段日益复杂、操作系统漏洞不断涌现等问题,预先评估网络信息系统的安全问题已成为网络管理员
6、的重要需求。基于网络的安全扫描主要扫描设定网络内的服务器、路由器、网桥、交换机、访问服务器、防火墙等设备的安全漏洞,并可设定模拟攻击,以测试系统的防御能力,这种技术可模拟入侵者的攻击行为,从系统外部进行扫描,以探测是否存在可被入侵者利用的系统安全薄弱之处。主机存活性探测的核心功能是防火墙穿越,即在对方已安装防火墙的情况下探测主机的存活性。传统探测远程主机存活性的方法是通过ICMP协议中的回显应答报文来实现。基于ICMP协议的主机存活性探测技术主要利用了ICMP回应请求和回显应答报文来实现。但是随着对安全越来越多了解和重视,很多主机为了避免被扫描器探测,通过防火墙将ICMP包屏蔽,从而达到在网络
7、中隐藏的目的。因此采用基于ICMP协议无法准确探测远程主机的存活性。依据目标主机受到ARP请求后一定返回自身物理地址的工作原理,设计并实现了一种新的主机存活性探测系统。测试结果表明该系统能穿越防火墙探测主机的存活性,局域网内探测结果的准确率100%,为网络安全扫描工具的设计提供了一种新方法。三、系统分析与设计ARP协议是“AddressResolutionProtoco”(地址解析协议)的缩写,主要完成那个IP地址到MAC地址的动态映射,以实现信息送往目的主机。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址(硬件地址),任何时候当主机或者路由器需要找出另一个主机
8、或者路由器在此网络上的物理地址时,就发送一个ARP查询分组。因为发送站不知道接收站的物理地址,查询就在网络上广播,每一个在网络上的主机或者路由器都接受和处理这个ARP查询分组,但只有意图中的接受者才是别其IP地址,并发回ARP响应分组。这个分组直接用单播发送给查询者,并使用接收到的查询分组中所用的物理地址。据此,向局域网内的目标主机发送ARP请求时,无论对方是否安装防火墙,对方都会返回MAC地址。所以,局域网内通过ARP协议探测主机存活的准确率理论值是100%。系统总体设计基于ARP协议的主机存活性探测系统主要包括域名解析和IP地址的转换、ARP请求发送与处理两大模块,各模块的功能简述如下:域
9、名解析及IP地址转换:调用inet_addr将输入的点分十进制数表示的IP地址转换为网络字节顺序的IP地址;获取主机名:调用gethostbyaddr获取存活主机的主机名;ARP请求发送与处理:调用sendARP函数向目标地址发送ARP请求;获取MAC地址,判断ARP返回的MAC地址转换成易读的形式,并将存活主机IP写入文档。系统详细设计依据上述原理分析,设计的基于ARP协议的主机存活性探测流程图如下所示:四、系统实现实现环境采用VC+6.0实现基于ARP的主机存活性探测系统,系统主要包括动态链接库ArdDLL的主程序。主要代码如下:DLL部分主要包挎DLL输出函数ArpARPDLL_APID
10、WORDARP(char*ip,BYTE*mac);该函数的主要功能是通过向目标主机发送ARP请求返回目标主机MAC地址达到探测主机存活性的目的。SendARP()函数原型如下:DWORDSendArp(IPAddr口0$士讣,/目标地址IPAddrSrcIP,/源IP地址PULONGpMacAddr,/返回MAC地址指针PULONGPhyAddrLen/返回MAC地址长度);主程序是一个基于对话框的VC+工程。在对话框中通过两个IP地址控件输入起始探测地址和中指探测地址,在对网段中的每个IP地址调用DLL中得函数获得MAC:BYTEMAC6;LPTSTRpIP=strip.GetBuffer
11、(16);HRESULThr=Arp(pIP,Mac);调用gethostbyaddr()函数获取主机名:Hostent*remoteHostent=(hostent*)malloc(sizeof(hosten);remoteHostent=gethostbyaddr(char*)&ipAddr,sizeof(in_addr),AF_INET);if(remoteHosten)hn=remoteHosten-h_name;实现结果基于ARP协议的主机存活性探测系统实现后的主界面如下:Froiri12S.219.181.L74To125.219.1:?1.1=Lii探测jL25.210.181.
12、174L25.Z19.Froiri12S.219.181.L74To125.219.1:?1.1=Lii探测jL25.210.181.174L25.Z19.101.iraL25.219.101.1T9L25.210.181,181L25,E19.1B1.1B2L25.219.101.16L2E.21Q.181.186125.J19.181.19OD3:EO:-IC:IETD:B7:2&:ZZ:Sn:50:E314.BA:E9:3r;6E:0aOO:23:5i:AC:iD:LBAft:BA:DB:9B:I6:BBF0.H.A2:49.e5:L21C:75:D8:59:QF:LB1C:75:O8:
13、64:6A:962D1C0320-1530Z011-2DL103L3IVIB2011012-10i11!L-2C11013rErF活空列表确定I取消传统的主机存活性探测方法是Ping命令,而如果用ping命令测试目标主机结果如下:从图可以看出ping命令无法探测目标主机125.219.181.178和125.219.181.179的存活性。因为ping命令被目标主机的防火墙阻挡了。由此可见,传统的通过发送和监控ICMPPing数据包探测目标主机的存活性时误报率极高。五、心得体会本次课程设计任务是做网络主机的存活性探测。做课程设计过程中遇到很多问题,通过老师的指导和上网查阅资料慢慢的得到了解决。
14、六、参考文献1中原工学院院报2CSDN论坛七、附录Ex_ArplDlg.cpp中主要代码:voidCEx_ArplDlg:ScanHost(CStringstrIP)(调用DLL中的函数获得MACBYTEMac6;LPTSTRpIP=strIP.GetBuffer(16);HRESULThr=Arp(pIP,Mac);if(hr=0)(CStringstr;CStringstrMac();inti;for(i=0;i网络字节WSADATAwsadata;if(WSAStartup(winsock_version,&wsadata)str.Format(cantinitializesocket)
15、;ZeroMemory(buf,256);/将指定的内存块清零.hostent*remoteHostent=(hostent*)malloc(sizeof(hostent);remoteHostent=gethostbyaddr(char*)&ipAddr,sizeof(in_addr),AF_INET);/返回对应于给定地址的主机信息if(remoteHostent)hn=remoteHostent-h_name;/获取列表中当前的的数据个数intnNo=m_ctrlListData.GetItemCount();/将数据添加进列表str.Format(%d,nNo+1);m_ctrlLis
16、tData.InsertItem(nNo,str);m_ctrlListData.SetItemText(nNo,1,strIP);m_ctrlListData.SetItemText(nNo,2,strMac);m_ctrlListData.SetItemText(nNo,3,hn);strIP.ReleaseBuffer();voidCEx_Arp1Dlg:OnButton1()/TODO:AddyourcontrolnotificationhandlercodehereCStringstrStartIP,strEndIP;m_StartIP.GetWindowText(strStartI
17、P);m_EndIP.GetWindowText(strEndIP);structin_addrtargetaddr;unsignedlongips=inet_addr(strStartIP);/计算起始IP地址的网络字节unsignedlongipe=inet_addr(strEndIP);计算结束IP地址的网络字节ips=ntohl(ips);计算起始IP地址的主机字节ipe=ntohl(ipe);/计算结束IP地址的主机字节for(intk=ips;k=ipe;k+)targetaddr.S_un.S_addr=htonl(k);/探测指定主机是否存活ScanHost(inet_ntoa
18、(targetaddr);/inet_ntoa()返回点分十进制的字符串Sleep(10);/执行挂起一段时间ArpDll.cpp的主要代码:/ArpDll.cpp:DefinestheentrypointfortheDLLapplication.#includeStdAfx.h#includeArpDll.h#include#include#include#includeiphlpapi.h#include#pragmacomment(lib,Iphlpapi.lib)#pragmacomment(lib,Ws2_32.lib)BOOLAPIENTRYDllMain(HANDLEhModule,DWORDul_reason_for_call,LPVOIDlpR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 媒体行业内容创作授权合同
- 城市智能交通管理系统建设合同
- 建材购销合同简单范本
- 协议酒店年度合同
- 标准体育场地租赁合同范文
- 技术开发委托合同范本
- 进出口合同的履行
- 员工借调服务合同
- 道路交通事故纠纷法律知识一本全-记录
- 基于膜解剖的腹腔镜与机器人结直肠肿瘤手术学-随笔
- 国家电网招聘2025-企业文化复习试题含答案
- 医院物业服务组织机构及人员的配备、培训管理方案
- 外观判定标准
- 江西上饶市2025届数学高二上期末检测试题含解析
- 脑卒中后吞咽障碍患者进食护理团体标准
- 工行人工智能风控
- 2023风电机组预应力混凝土塔筒与基础结构设计标准
- 小学语文阅读教学落实学生核心素养方法的研究-结题报告
- 一年级的成长历程
- 2024年南京铁道职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 正月十五元宵节介绍课件
评论
0/150
提交评论