发现网络中的活动主机

发现网络中的活动主机

ID:21686008

大小:78.50 KB

页数:11页

时间:2018-10-23

发现网络中的活动主机_第1页
发现网络中的活动主机_第2页
发现网络中的活动主机_第3页
发现网络中的活动主机_第4页
发现网络中的活动主机_第5页
资源描述:

《发现网络中的活动主机》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、发现网络中的活动主机一.设计目标:现在一个机房的主机已经达到了一定数量,进行网络管理时,常常需要确定当前网络中处理活动状态的主机。本设计的目标就是编制程序,利用ICMP的回送请求和回送响应,来发现指定网段中的活动主机。二.设计功能:用命令行形式运行:scanhostStart_IPEnd_IP,来发现活动主机并显示。(注:scanhost为程序名,Start_IP为被搜索望断的起始IP,End_IP为其终止IP。)显示格式形式如下粗体部分:活动主机:192.168.0.2活动主机:192.168.

2、0.5活动主机:192.168.0.12活动主机:192.168.0.23环境要求:Windows95/98/2000/XP/dos下能运行,使用VC++编写程序三.设计原理:本设计的主体思想是使用ICMPECHO数据包来探测指定网段内的活动主机。具体方法是:通过简单的发送一个ICMPECHO(Type8)数据包到目标主机,如果ICMPECHOReply(ICMPtype0)数据包接受到,说明主机是存活状态。如果没有就可以初步判断主机没有在线或者使用了某些过滤设备过滤了ICMP的REPLY。  I

3、CMP全称InternetControlMessageProtocol,工作在OSI的网络层。它的中文名为因特网控制报文协议。ICMP报文要封装在IP数据报内部才能传输。其结构如(图一)所示。ICMP报文的格式如(图二)所示。所有的ICMP报文的前4个字节都是一样的,但是其他字节互不相同。其中0-7位是类型字段,8-15位是代码字段,16-31位是校验和字段。校验和字段为2个字节,校验的范围是整个ICMP报文。本设计仅用到类型为0和8的ICMP报文,关于这两种类型报文的具体描述详见(图三)。20B

4、图一:ICMP封装在IP内部IP数据报IP首部ICMP报文31(位)151678类型字段代码字段校验和字段0(不同类型和代码有不同内容)图二:ICMP报文类型代码描述00回应应答(Ping应答,与类型8的Ping请求一起使用)80回应请求(Ping请求,与类型8的Ping应答一起使用)图三:本设计使用的ICMP报文类型四.设计方法:本设计使用原始套接字生成ICMP报文来进行活动主机的探测。设计的大体思想是把包类型设置为回送请求,将它发送给网络上的一个IP地址,如果这个IP地址已被占用,那么使用这个

5、IP地址的主机上的TCP/IP软件就能够接收到这个ICMP回送请求,并返回一个ICMP回送响应信息。由于接收到的回送响应ICMP包是封装在IP包内,就需要解析该IP包,从中找到ICMP数据信息。相反,如果这个IP地址没有人使用,那么发送的ICMP回送请求在设定的时延内就不可能得到响应。在初始化原始套接字后,程序就要开始在一个IP网段内寻找活动主机。由于在某网段内需要发现的主机很多,为提高效率,采用了多线程编程。主程序和子线程的流程图分别如(图四)和(图五)所示。一.程序流程图:NYNNYStart

6、_IP≤End_IP?线程数目太多?创建一个进程并执行Start_IP++构造原始套接字,并初始化建立并初始化目的主机的Sockaddr_in数据结构dest起始IP→Start_IP终止IP→End_IP_将Start_IP填入dest中开始结束还有线程在执行?44等待一定时间Y等待一定时间图四:主程序流程图NNNYYY开始结束填充ICMP数据报发送数据报接收数据报去掉IP头获取ICMP信息数据包太短?不是回送响应?ID不符合?输出数据报中的IP地址图五:子线程流程图一.程序清单:#pragma

7、pack(4)#pragmacomment(lib,"WS2_32.LIB")#defineWIN32_LEAN_AND_MEAN#include#include#include#include#include#include#include//头文件typedefstructiphdr{//IP头unsignedintheadlen:4;//IP

8、头长度unsignedintversion:4;//IP版本号unsignedchartos;//服务类型unsignedshortid;//ID号unsignedshortflag;//标记unsignedcharttl;//生存时间unsignedcharprot;//协议unsignedshortchecksum;//效验和unsignedintsourceIP;//源IPunsignedintdestIP;//目的IP}IpHeader;//IP头部typedefstruc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。