欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    主机存活性探测系统设计报告汇总.doc

    • 资源ID:3987228       资源大小:311KB        全文页数:12页
    • 资源格式: DOC        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    主机存活性探测系统设计报告汇总.doc

    网络主机的存活性探测系统设计与实现一、概要11.1 课设目的11.2 设计要求21.3 设计题目2二、需求分析3三、系统分析与设计43.1 基本思想43.2 系统总体设计43.3 系统详细设计5四、系统实现54.1 实现环境54.2 实现结果64.3 测试实验结果对比分析7五、心得体会7六、参考文献7七、附录8一、概要1.1 课设目的TCP/IP 原理与应用是一门实践性较强的网络基础课程,为了学好这门课程,必须在掌握相关基本协议的同时,加强上机实践。本课程设计的目的就是要达到理论与实际应用相结合,使同学们能够根据熟悉TCP/IP的相关基本协议,学会基本的C-S编程方法,能够用网络编程解决实际的网络通信问题,并培养良好的程序设计技能。1.2 设计要求1、通过这次设计,要求了解TCP/IP的基本协议的工作原理和基本的网络编程知识,利用单(多)线程技术、API函数等编写服务和客户端应用程序,利用MFC提供的类编写较为复杂网络应用程序。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。2、学生必须仔细研读TCP/IP 原理与应用课程设计(实习)要求,以学生自学为主、指导教师指导为辅,认真、独立地完成课程设计的任务,有问题及时主动与指导教师沟通。3、本次课程设计按照教学要求需要在两周时间内独立完成,学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课程设计过程中不断检测自己的计划完成情况,及时地向指导教师汇报。4、每个题目最多四个人。5、编程语言自定。1.3 设计题目网络主机的存活性探测系统设计与实现1)任务(ping,arp test)设计并实现能够探测局域网、广域网内主机存活情况的应用系统。2)要求n 要能够实现单IP(或域名)和IP段(连续或不连续)的网络主机存活性探测。n 探测结果只显示存活主机情况,要有一定的图形显示。n 局域网内的主机存活性探测速度要快。n 最好具备一定穿越防火墙的能力(特别是探测局域网内主机的存活性时)n 除发送ICMP数据包实现网络主机存活性探测外,建议使用SYN Ping、ACK Ping、Fin Ping、Null Ping方式实现,参考设计流程如下:二、需求分析在网络安全形势日益严峻的情况下,针对网络入侵手段日益复杂、操作系统漏洞不断涌现等问题,预先评估网络信息系统的安全问题已成为网络管理员的重要需求。基于网络的安全扫描主要扫描设定网络内的服务器、路由器、网桥、交换机、访问服务器、防火墙等设备的安全漏洞,并可设定模拟攻击,以测试系统的防御能力,这种技术可模拟入侵者的攻击行为,从系统外部进行扫描,以探测是否存在可被入侵者利用的系统安全薄弱之处。主机存活性探测的核心功能是防火墙穿越,即在对方已安装防火墙的情况下探测主机的存活性。传统探测远程主机存活性的方法是通过ICMP协议中的回显应答报文来实现。基于ICMP协议的主机存活性探测技术主要利用了ICMP回应请求和回显应答报文来实现。但是随着对安全越来越多了解和重视,很多主机为了避免被扫描器探测,通过防火墙将ICMP包屏蔽,从而达到在网络中隐藏的目的。因此采用基于ICMP协议无法准确探测远程主机的存活性。依据目标主机受到ARP请求后一定返回自身物理地址的工作原理,设计并实现了一种新的主机存活性探测系统。测试结果表明该系统能穿越防火墙探测主机的存活性,局域网内探测结果的准确率100%,为网络安全扫描工具的设计提供了一种新方法。三、系统分析与设计3.1 基本思想ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写,主要完成那个IP地址到MAC地址的动态映射,以实现信息送往目的主机。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址(硬件地址),任何时候当主机或者路由器需要找出另一个主机或者路由器在此网络上的物理地址时,就发送一个ARP查询分组。因为发送站不知道接收站的物理地址,查询就在网络上广播,每一个在网络上的主机或者路由器都接受和处理这个ARP查询分组,但只有意图中的接受者才是别其IP地址,并发回ARP响应分组。这个分组直接用单播发送给查询者,并使用接收到的查询分组中所用的物理地址。据此,向局域网内的目标主机发送ARP请求时,无论对方是否安装防火墙,对方都会返回MAC地址。所以,局域网内通过ARP协议探测主机存活的准确率理论值是100%。3.2 系统总体设计基于ARP协议的主机存活性探测系统主要包括域名解析和IP地址的转换、ARP请求发送与处理两大模块,各模块的功能简述如下:域名解析及IP地址转换:调用inet_addr将输入的点分十进制数表示的IP地址转换为网络字节顺序的IP地址;获取主机名:调用gethostbyaddr获取存活主机的主机名;ARP请求发送与处理:调用sendARP函数向目标地址发送ARP请求;获取MAC地址,判断ARP返回的MAC地址转换成易读的形式,并将存活主机IP写入文档。3.3 系统详细设计依据上述原理分析,设计的基于ARP协议的主机存活性探测流程图如下所示:四、系统实现4.1 实现环境采用VC+6.0实现基于ARP的主机存活性探测系统,系统主要包括动态链接库ArdDLL的主程序。主要代码如下: DLL部分主要包挎DLL输出函数Arp ARPDLL_API DWORD ARP(char *ip,BYTE *mac);该函数的主要功能是通过向目标主机发送ARP请求返回目标主机MAC地址达到探测主机存活性的目的。SendARP()函数原型如下:DWORD SendArp(IPAddr DestIP,/目标地址IPAddr SrcIP,/源IP地址PULONG pMacAddr,/返回MAC地址指针PULONG PhyAddrLen /返回MAC地址长度);主程序是一个基于对话框的VC+工程。在对话框中通过两个IP地址控件输入起始探测地址和中指探测地址,在对网段中的每个IP地址调用DLL中得函数获得MAC:BYTE MAC6;LPTSTR pIP=strip.GetBuffer(16);HRESULT hr=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;4.2 实现结果基于ARP协议的主机存活性探测系统实现后的主界面如下:4.3 测试实验结果对比分析传统的主机存活性探测方法是Ping命令,而如果用ping命令测试目标主机结果如下:从图可以看出ping 命令无法探测目标主机125.219.181.178 和125.219.181.179的存活性。因为ping命令被目标主机的防火墙阻挡了。由此可见,传统的通过发送和监控ICMP Ping数据包探测目标主机的存活性时误报率极高。五、心得体会本次课程设计任务是做网络主机的存活性探测。做课程设计过程中遇到很多问题,通过老师的指导和上网查阅资料慢慢的得到了解决。六、参考文献1 中原工学院院报2 CSDN论坛七、附录Ex_Arp1Dlg.cpp中主要代码:=void CEx_Arp1Dlg:ScanHost(CString strIP)/调用DLL中的函数获得MACBYTE Mac6;LPTSTR pIP = strIP.GetBuffer(16);HRESULT hr = Arp(pIP,Mac);if(hr = 0)CString str;CString strMac("");int i;for(i=0;i<5;i+)str.Format("%02X:",Maci);strMac += str;str.Format("%02X",Maci);strMac += str;IPAddr ipAddr;char buf256;CString hn;ipAddr = inet_addr (pIP);/IP ->网络字节 WSADATA wsadata;if(WSAStartup(winsock_version,&wsadata)str.Format("can't initialize socket");ZeroMemory(buf,256); /将指定的内存块清零. hostent * remoteHostent = (hostent*)malloc( sizeof( hostent );remoteHostent = gethostbyaddr( (char*)&ipAddr,sizeof( in_addr ), AF_INET ); /返回对应于给定地址的主机信息if ( remoteHostent )hn = remoteHostent->h_name;/获取列表中当前的的数据个数int nNo = m_ctrlListData.GetItemCount();/将数据添加进列表str.Format("%d",nNo+1);m_ctrlListData.InsertItem(nNo, str);m_ctrlListData.SetItemText(nNo, 1, strIP);m_ctrlListData.SetItemText(nNo, 2, strMac);m_ctrlListData.SetItemText(nNo, 3, hn);strIP.ReleaseBuffer();void CEx_Arp1Dlg:OnButton1() / TODO: Add your control notification handler code here CString strStartIP,strEndIP;m_StartIP.GetWindowText(strStartIP);m_EndIP.GetWindowText(strEndIP);struct in_addr targetaddr; unsigned long ips=inet_addr(strStartIP); /计算起始IP地址的网络字节 unsigned long ipe=inet_addr(strEndIP); /计算结束IP地址的网络字节 ips=ntohl(ips); /计算起始IP地址的主机字节 ipe=ntohl(ipe); /计算结束IP地址的主机字节 for(int k=ips;k<=ipe;k+) targetaddr.S_un.S_addr=htonl(k); /探测指定主机是否存活 ScanHost(inet_ntoa(targetaddr); /inet_ntoa()返回点分十进制的字符串Sleep(10); /执行挂起一段时间 ArpDll.cpp的主要代码:=/ ArpDll.cpp : Defines the entry point for the DLL application.#include "StdAfx.h"#include "ArpDll.h"#include <windows.h>#include <stdio.h>#include <tchar.h>#include "iphlpapi.h"#include <winsock2.h>#pragma comment(lib,"Iphlpapi.lib")#pragma comment(lib,"Ws2_32.lib")BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) switch (ul_reason_for_call)case DLL_PROCESS_ATTACH:case DLL_THREAD_ATTACH:case DLL_THREAD_DETACH:case DLL_PROCESS_DETACH:break; return TRUE;/ This is an example of an exported function.ARPDLL_API DWORD arp(char *ip, BYTE *mac) char c = 'n' HRESULT hr; IPAddr ipAddr; ULONG pulMac2; ULONG ulLen;ipAddr = inet_addr (ip); memset (pulMac, 0xff, sizeof (pulMac); ulLen = 6; hr = SendARP (ipAddr, 0, pulMac, &ulLen); if (hr=NO_ERROR) FILE *stream;stream=fopen("host.txt","a"); fprintf(stream,"%s%c", ip, c); fclose( stream ); size_t i, j;PBYTE pbHexMac = (PBYTE) pulMac;/ Convert the binary MAC address into human-readable/for (i = 0, j = 0; i < ulLen; +i) maci = pbHexMaci;return 0;elsereturn hr;

    注意事项

    本文(主机存活性探测系统设计报告汇总.doc)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开