一种网络中服务器软件的自动发现与识别的方法与流程

文档序号:12278879阅读:1362来源:国知局

本发明属于网络管理技术领域,特别涉及一种网络中服务器软件的自动发现与识别的方法。



背景技术:

服务器(Server)指一个管理资源并为用户提供服务的计算机软件,通常分为文件服务器、数据库服务器和应用程序服务器。运行以上软件的计算机或计算机系统也被称为服务器。相对于普通PC来说,服务器在稳定性、安全性、性能等方面都要求更高,因为CPU、芯片组、内存、磁盘系统、网络等硬件和普通PC有所不同。服务器[1],也称伺服器。服务器是网络环境中的高性能计算机,它侦听网络上的其他计算机(客户机)提交的服务请求,并提供相应的服务,为此,服务器必须具有承担服务并且保障服务的能力。有时,这两种定义会引起混淆,如域名注册查询的Web服务器。它的高性能主要体现在高速度的运算能力、长时间的可靠运行、强大的外部数据吞吐能力等方面。服务器的构成与微机基本相似,有处理器、硬盘、内存、系统总线等,它们是针对具体的网络应用特别制定的,因而服务器与微机在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面存在差异很大。一个管理资源并为用户提供服务的计算机软件,通常分为文件服务器(能使用户在其它计算机访问文件),数据库服务器和应用程序服务器。服务器是网站的灵魂,是打开网站的必要载体,没有服务器的网站用户无法浏览。服务器就像一块敲门砖,就算网站在搜索引擎里的排名再好,网站打不开,用户无法浏览,网站就没有用户体验可言,网站能被打开是第一个重点。

在IT运维工作中,应运维监控的工作要求,需要将服务器软件纳入到运维管理系统中监控起来,目前,在此领域采用的方案为:管理员人工根据已知存在的服务器手工将这些服务器及其软件添加到运维管理系统中,然而,采用人工添加,管理员的工作量大且添加过程中容易出错。



技术实现要素:

针对现有技术存在的问题,本发明旨在提供一种网络中服务器软件的自动发现与识别的方法,它采用多不同的方式扫描网络中的所有设备,以自动地发现网络中大多数设备,然后向已发现的设备发生探测包,根据探测包的返回信息与指纹库进行比对,以自动发现和识别网络中服务器软件及其版本号,进而,将发现的服务器软件及其版本号自动添加到运维管理系统中,整个过程自动进行而快捷方便且信息可靠。

本发明提供的一种网络中服务器软件的自动发现与识别的方法,其包括以下步骤:

步骤1、探测网络中在线的设备:首先使用ICMP协议探测设备是否在线,如ICMP无法探测得到结果,则用TCP扫描设备的常用端口是否开启,以进一步探测网络中在线的设备;

步骤2、向在线的设备发送探测包,其中,探测包根据软件的类型而不同:对基于普通Socket协议的软件,发送一条空的TCP包;对基于HTTP协议的软件,发送一条HTTP请求包“GET/HTTP/1.0\r\n\r\n”;对Db2数据库,发送一条特殊的TCP包;对FTP类软件,发送一条TCP包“HELP\r\n”;

步骤3、确定服务器软件及其版本号:通过以上探测获取到响应结果,将响应结果和已建立的服务器软件指纹库进行比对,分别对服务器软件及其版本号进行匹配,以确定服务器软件及其版本号,并将服务器软件及其版本号添加到运维管理系统。

基于以上提供的技术方案,本发明提供的一种网络中服务器软件的自动发现与识别的方法具有以下有益效果:

(1)、通用性好:只要网络可达即可使用,无需更改网络配置;

(2)、自动进行且操作简单:用户无需进行配置即扫描出系统中存在的服务器软件及其版本号,大大减少了工作量,且将出错的可能性大大降低。

具体实施方式

针对现有技术存在的问题,本发明旨在提供一种网络中服务器软件的自动发现与识别的方法,它采用多不同的方式扫描网络中的所有设备,以自动地发现网络中大多数设备,然后向已发现的设备发生探测包,根据探测包的返回信息与指纹库进行比对,以自动发现和识别网络中服务器软件及其版本号,进而,将发现的服务器软件及其版本号自动添加到运维管理系统中,整个过程自动进行而快捷方便且信息可靠。

本发明提供的一种网络中服务器软件的自动发现与识别的方法,其包括以下步骤:

步骤1、探测网络中在线的设备:首先使用ICMP协议探测设备是否在线,如ICMP无法探测得到结果,则用TCP扫描设备的常用端口是否开启,以进一步探测网络中在线的设备;

步骤2、向在线的设备发送探测包,其中,探测包根据软件的类型而不同:对基于普通Socket协议的软件,发送一条空的TCP包;对基于HTTP协议的软件,发送一条HTTP请求包“GET/HTTP/1.0\r\n\r\n”;对Db2数据库,发送一条特殊的TCP包;对FTP类软件,发送一条TCP包“HELP\r\n”,其中,特殊的TCP包的内容如下:

“\x01\xc2\0\0\0\x04\0\0\xb6\x01\0\0\x53\x51\x4c\x44\x42\x32\x52\x41\0\x01\0\0\x04\x01\x01\0\x05\0\x1d\0\x88\0\0\0\x01\0\0\x80\0\0\0\x01\x09\0\0\0\x01\0\0\x40\0\0\0\x01\x09\0\0\0\x01\0\0\x40\0\0\0\x01\x08\0\0\0\x04\0\0\x40\0\0\0\x01\x04\0\0\0\x01\0\0\x40\0\0\0\x40\x04\0\0\0\x04\0\0\x40\0\0\0\x01\x04\0\0\0\x04\0\0\x40\0\0\0\x01\x04\0\0\0\x04\0\0\x40\0\0\0\x01\x04\0\0\0\x02\0\0\x40\0\0\0\x01\x04\0\0\0\x04\0\0\x40\0\0\0\x01\0\0\0\0\x01\0\0\x40\0\0\0\0\x04\0\0\0\x04\0\0\x80\0\0\0\x01\x04\0\0\0\x04\0\0\x80\0\0\0\x01\x04\0\0\0\x03\0\0\x80\0\0\0\x01\x04\0\0\0\x04\0\0\x80\0\0\0\x01\x08\0\0\0\x01\0\0\x40\0\0\0\x01\x04\0\0\0\x04\0\0\x40\0\0\0\x01\x10\0\0\0\x01\0\0\x80\0\0\0\x01\x10\0\0\0\x01\0\0\x80\0\0\0\x01\x04\0\0\0\x04\0\0\x40\0\0\0\x01\x09\0\0\0\x01\0\0\x40\0\0\0\x01\x09\0\0\0\x01\0\0\x80\0\0\0\x01\x04\0\0\0\x03\0\0\x80\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x04\0\0\x01\0\0\x80\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\x40\0\0\0\x01\0\0\0\0\x01\0\0\x40\0\0\0\0\x20\x20\x20\x20\x20\x20\x20\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe4\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7f”

步骤3、确定服务器软件及其版本号:通过以上探测获取到响应结果,将响应结果和已建立的服务器软件指纹库进行比对,分别对服务器软件及其版本号进行匹配,以确定服务器软件及其版本号,并将服务器软件及其版本号添加到到运维管理系统;以Nginx为例,要匹配的正则表达式为:

^HTTP/1\.[01]\d\d\d[^\r\n]*\r\n.*Server:nginx\r\n

^HTTP/1\.[01]\d\d\d[^\r\n]*\r\n.*Server:nginx/([\d.]+)\r\n

^HTTP/1\.[01]\d\d\d[^\r\n]*\r\n.*Server:nginx/([\d.]+)\+([^\r\n]*)\r\n

当返回的信息匹配三条中的任意一条正则表达式时,则认为此端口对应的软件服务为Nginx,当匹配的是第二、第三条正则表达式时,会抽取正则表达式中匹配的$1作为Nginx的具体的版本号。

需要说明的是:步骤1中扫描网络中所有在线的设备(此处所说的设备是具有IP的设备,包括主机、路由、交换机、普通设备等等),然后,步骤2中向在线的设备发送探测包,探测包可以做适当改变,步骤3才将服务器主机与其他设备区别开来,根据探测包返回的信息与服务器软件指纹库比对,就知道哪些是服务器,并且可以知道服务器软件及其版本号,其中,服务器软件指纹库是一个开放的数据库,可以向其中加入一些新的服务器软件,并且里面存储的服务器软件区分版本号。

基于以上提供的技术方案,本发明提供的一种网络中服务器软件的自动发现与识别的方法具有以下有益效果:

(1)、通用性好:只要网络可达即可使用,无需更改网络配置;

(2)、自动进行且操作简单:用户无需进行配置即扫描出系统中存在的服务器软件及其版本号,大大减少了工作量,且将出错的可能性大大降低。

以上是对本发明进行了示例性的描述,显然本发明的实现并不受上述方式的限制,只要采用了本发明技术方案进行的各种改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1