一种网络中主机的操作系统的自动发现与识别的方法

文档序号:7774893阅读:819来源:国知局
一种网络中主机的操作系统的自动发现与识别的方法
【专利摘要】本发明公开的一种网络中操作系统的自动发现与识别的方法,其包括以下步骤:步骤1、探测网络中在线的设备;步骤2、向在线的设备发送探测包;步骤3、确定主机的操作系统;所述网络中操作系统的自动发现与识别的方法采用多种方式扫描网络中的设备,进而,可以自动地发现网络中大多数主机及其操作系统,解决了管理员手工录入工作量大且容易出错的问题,以及通过单一协议扫描网络主机不准及信息不全的问题。
【专利说明】—种网络中主机的操作系统的自动发现与识别的方法
【技术领域】
[0001]本发明属于网络管理【技术领域】,特别涉及一种网络中主机的操作系统的自动发现与识别的方法。
【背景技术】
[0002]操作系统在主计算机系统上运行,并使用各种协议和通讯标准中的任何一个与主机进行通讯。操作系统实现了允许它向连接的主机发送数据或从这些主机中接收数据的驱动程序。在IT运维工作中,应运维监控的工作要求,需要将主机的操作系统(如Windows、Linux等等)纳入到运维管理系统中监控起来,目前,在此领域采用的方案为:管理员人工根据已知存在主机手工将这些主机及其操作系统添加到运维管理系统中,抑或通过单一协议(如ICMP、SNMP)扫描来获得主机,然后将主机的操作系统添加进入运维管理系统中。
[0003]然而,采用人工添加,管理员的工作量大且添加过程中容易出错;而通过单一协议扫描后添加也会面临一些问题:单一的协议不能准确识别出网络中的所有主机,特别是不能识别防火墙后面的主机,因而,无法获得准确而全面的主机的操作系统信息。

【发明内容】

[0004]针对现有技术存在的问题,本发明旨在提供一种网络中操作系统的自动发现与识别的方法,它采用多种方式扫描网络中的设备,进而,可以自动地发现网络中大多数主机及其操作系统,解决了管理员手工录入工作量大且容易出错的问题,以及通过单一协议扫描网络主机不准及信息不全的问题。
[0005]本发明提供的一种网络中主机的操作系统的自动发现与识别的方法,其包括以下步骤:
[0006]步骤1、探测网络中在线的设备:首先使用ICMP协议探测设备是否在线,如ICMP无法探测得到结果,则用TCP扫描设备的常用端口是否开启,以进一步探测网络中在线的设备;
[0007]步骤2、向在线的设备发送探测包:向在线的设备发送以下几种类型的探测包:(I)发送六个TCP包的序列;(2)连续发送两个ICMP echo请求包;(3)探测目标TCP栈对显式拥塞通知(ECN)的支持;(4)发送一个空的无Flag设置的TCP数据包到一个开放的端口上;(5)发送一个TCP数据包(Flag=SYN,FIN,URG,PSH)到一个开放的端口上;(6)发送一个TCP ACK数据包到一个开放的端口上;(7)发送一个TCP SYN数据包到一个关闭的端口上;
[8]发送一个TCPACK数据包到一个关闭的端口上;(9)发送一个TCP数据包(Flag=FIN,PSH, URG)到一个关闭的端口上;(10)发送一个UDP数据包到一个关闭的端口上;
[0008]步骤3、确定主机的操作系统:通过以上探测的组合获取到响应结果,将响应结果和已建立的操作系统指纹库相比对,以确定设备中的主机及其操作系统,并将主机及其操作系统添加到运维管理系统。
[0009]基于以上提供的技术方案,本发明提供的网络中主机的操作系统的自动发现与识别的方法具有以下有益效果:
[0010](I)、能监测到大部分防火墙后的主机,避免了通过单一 ICMP协议扫描而无法发现防火墙后方主机的问题;
[0011](2)、自动识别主机的操作系统,避免了管理员手工选择的工作;
[0012](3 )、通用性强无需任何配置,避免了通过SNMP协议扫描时而必需网络主机支持的问题。
【具体实施方式】
[0013]针对现有技术存在的问题,本发明旨在提供一种网络中操作系统的自动发现与识别的方法,它采用多种方式扫描网络中的设备,进而,可以自动地发现网络中大多数主机及其操作系统,解决了管理员手工录入工作量大且容易出错的问题,以及通过单一协议扫描网络主机不准及信息不全的问题。
[0014]本发明提供的一种网络中主机的操作系统的自动发现与识别的方法,其包括以下步骤:
[0015]步骤1、探测网络中在线的设备:首先使用ICMP协议探测设备是否在线,如ICMP无法探测得到结果,则用TCP扫描设备的常用端口是否开启,以进一步探测网络中在线的设备,如:先对要探测的IP发送一个ICMP echo请求,如有响应,则认为设备在线,否则继续发送一个TCP SYN包给443端口,一个TCP ACK包给80端口和一个ICMP时间戳请求,当任何一个请求返回信息时,则认为此设备存在且在线;
[0016]步骤2、向在线的设备发送探测包:向在线的设备发送以下几种类型的探测包:
(I)发送六个TCP包的序列;(2)连续发送两个ICMP echo请求包;(3)探测目标TCP栈对显式拥塞通知(ECN)的支持;(4)发送一个空的无Flag设置的TCP数据包到一个开放的端口上;(5)发送一个TCP数据包(Flag=SYN,FIN,URG,PSH)到一个开放的端口上;(6)发送一个TCP ACK数据包到一个开放的端口上;(7)发送一个TCP SYN数据包到一个关闭的端口上;
(8)发送一个TCP ACK数据包到一个关闭的端口上;(9)发送一个TCP数据包(Flag=FIN,PSH, URG)到一个关闭的端口上;(10)发送一个UDP数据包到一个关闭的端口上;
[0017]步骤3、确定主机及其操作系统:通过以上探测的组合获取到响应结果,将响应结果和已建立的操作系统指纹库相比对,以确定设备中的主机及其操作系统,并将主机及其操作系统添加到运维管理系统。
[0018]需要说明的是:步骤I中扫描网络中所有在线的设备(此处所说的设备是具有IP的设备,包括主机、路由、交换机、普通设备等等),然后,步骤2中向在线的设备发送探测包(探测包的类型本发明只提供10种,当然视具体网络配置不同可以做适当的调整),步骤3才将主机与其他设备区别开来,根据探测包返回的信息与操作系统指纹库的指纹库比对,就知道哪些是主机并且可以知道主机中的操作系统。
[0019]基于以上提供的技术方案,本发明提供的网络中主机的操作系统的自动发现与识别的方法具有以下有益效果:
[0020](I)、能监测到大部分防火墙后的主机,避免了通过单一 ICMP协议扫描而无法发现防火墙后方主机的问题;
[0021](2)、自动识别主机的操作系统,避免了管理员手工选择的工作;[0022](3)、通用性强无需任何配置,避免了通过SNMP协议扫描时而必需网络主机支持的问题。
[0023]以上是对本发明进行了示例性的描述,显然本发明的实现并不受上述方式的限制,只要采用了本发明技术方案进行的各种改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围内。
【权利要求】
1.一种网络中操作系统的自动发现与识别的方法,其特征在于,其包括以下步骤: 步骤1、探测网络中在线的设备:首先使用ICMP协议探测设备是否在线,如ICMP无法探测得到结果,则用TCP扫描设备的常用端口是否开启,以进一步探测网络中在线的设备;步骤2、向在线的设备发送探测包:向在线的设备发送以下几种类型的探测包:(I)发送六个TCP包的序列;(2)连续发送两个ICMP echo请求包;(3)探测目标TCP栈对显式拥塞通知(ECN)的支持;(4)发送一个空的无Flag设置的TCP数据包到一个开放的端口上;(5)发送一个TCP数据包(Flag=SYN,FIN, URG, PSH)到一个开放的端口上;(6)发送一个TCP ACK数据包到一个开放的端口上;(7)发送一个TCP SYN数据包到一个关闭的端口上;(8)发送一个TCP ACK数据包到一个关闭的端口上;(9)发送一个TCP数据包(Flag=FIN,PSH, URG)到一个关闭的端口上;(10)发送一个UDP数据包到一个关闭的端口上; 步骤3、确定主机的操作系统:通过以上探测的组合获取到响应结果,将响应结果和已建立的操作系统指纹库相比对,以确定设备中的主机及其操作系统,并将主机及其操作系统添加到运维管理系统。
【文档编号】H04L12/26GK103746826SQ201310520492
【公开日】2014年4月23日 申请日期:2013年10月29日 优先权日:2013年10月29日
【发明者】张明, 马黎黎 申请人:湖南蚁坊软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1