网络设备探测的方法、装置及***
技术领域
本发明涉及互联网技术领域,特别是涉及一种网络设备探测的方法、装置及***。
背景技术
为了能够统一管理局域网环境中的网络设备,服务器通常会向网络设备发送探测数据包,接收到该探测包的网络设备会向服务器返回网间协议(Internet Protocol,简称IP)数据包,服务器通过对IP数据包的解析,判断并获取局域网内网络设备的主机、操作***及主机提供的服务等信息,进而实现对网络设备的探测和管理。但在上述服务器进行探测网络设备的过程中,服务器需要向局域网内的各个网络设备分别发送探测数据包。当网络中的设备数量较多时,设备探测的耗时较长,对于较大规模的局域网而言,这种耗时通常是不能被接受的。
发明内容
有鉴于此,本发明实施例提供一种网络设备探测的方法、装置及***,主要目的在于解决网络设备探测耗时较长的问题。
依据本发明一个方面,提供了一种网络设备探测的方法,所述方法包括:
获取局域网内网络设备的属性信息;
根据属性信息从网络设备中选择代理设备;
向代理设备下发探测策略,以便代理设备基于探测策略对其他网络设备进行探测,并获得探测结果;
接收代理设备上报的探测结果。
根据本发明的另一个方面,提供了一种网络设备探测的方法,所述方法包括:
接收服务器下发的探测策略;
基于探测策略对网络设备进行探测,并获得探测结果;
向服务器上报探测结果。
根据本发明的另一个方面,提供了一种网络设备探测的装置,所述装置包括:
获取单元,用于获取局域网内网络设备的属性信息;
选择单元,用于根据获取单元获取的属性信息从网络设备中选择代理设备;
下发单元,用于向选择单元选择的代理设备下发探测策略,以便代理设备基于探测策略对其他网络设备进行探测,并获得探测结果;
接收单元,用于接收代理设备上报的根据下发单元下发的探测策略获得的探测结果。
根据本发明的另一个方面,提供了一种网络设备探测的装置,所述装置包括:
接收单元,用于接收服务器下发的探测策略;
探测单元,用于基于接收单元接收的探测策略对网络设备进行探测,并获得探测结果;
上报单元,用于向服务器上报探测单元探测的探测结果。
根据本发明的另一个方面,提供了一种网络设备探测的***,所述***包括:服务器和代理设备,其中,
服务器用于,获取局域网内网络设备的属性信息,根据属性信息从网络设备中选择代理设备,向代理设备下发探测策略;
代理设备用于,接收服务器下发的探测策略,基于探测策略对网络设备进行探测,并获得探测结果,向服务器上报探测结果;
服务器还用于,接收代理设备上报的探测结果。
借由上述技术方案,本发明提供的网络设备探测的方法、装置及***,服务器获取局域网内网络设备的属性信息,根据该属性信息从网络设备中选择代理设备,并向该代理设备下发探测策略,代理设备接收该探测策略,根据该探测策略对网络设备进行探测,将探测到的结果上报给服务器。与现有技术中由服务器向局域网内的各个网络设备分别进行探测相比,本发明在服务器端对探测策略进行配置,并将该探测策略下发给代理服务器,在探测网络设备过程中无需服务器的参与,而是通过代理设备对局域网内的其他网络设备进行探测,能够充分利用代理设备这一闲置资源实现各局域网的分布式并行探测,大大节省了对网络设备进行探测的消耗时间。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种网络设备探测的方法的流程图;
图2示出了本发明实施例提供的服务器对探测后的网络设备数量进行调整的方法的流程图;
图3示出了本发明实施例提供的服务器对预定设备类型过滤的示意图;
图4示出了本发明实施例提供的另一种网络设备探测的方法的流程图;
图5示出了本发明实施例提供的局域网内有多个代理设备的示意图;
图6示出了本发明实施例提供的代理设备对临网探测的示意图;
图7示出了本发明实施例提供的一种网络设备探测的装置的组成框图;
图8示出了本发明实施例提供的另一种网络设备探测的装置的组成框图;
图9示出了本发明实施例提供的另一种网络设备探测的装置的组成框图;
图10示出了本发明实施例提供的另一种网络设备探测的装置的组成框图;
图11示出了本发明实施例提供的一种网络设备探测的***的组成框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了解决网络设备探测耗时较长的问题,本发明实施例提供了一种网络设备探测的方法,该方法应用于服务器侧。如图1所示,所述方法包括:
101、获取局域网内网络设备的属性信息。
在获取局域网内网络设备的属性信息之前,服务器首先向局域网内网络设备下发获取属性信息的请求信息,并接收所述网络设备上报的属性信息。服务器根据获取到的属性信息能够判断出网络设备的性能状态以及网络设备的空闲状态。在实际的操作过程中,服务器在向局域网内所有网络设备或部分网络设备下发获取属性信息的请求信息时,服务器可以请求获取单一的属性信息,也可以请求获取多种属性信息的组合,本发明实施例对此不进行限制。
102、根据属性信息从网络设备中选择代理设备。
所述代理设备是服务器根据属性信息选择的网络设备,本质上,代理设备仍然是一个网络设备,除了能够作为代理设备外,还能够执行其他的网络设备执行的操作指令。服务器在选择代理设备时,可以在一个局域网中选择一个代理设备,也可以选择多个代理设备,本发明实施例对此不进行限制。需要说明的是,为了便于本发明实施例的展开,以下实施例将以服务器在每个局域网中选择一个代理设备为例进行说明。
本发明实施例中,当多个局域网共用同一服务器时,将代理设备所在的局域网作为本地局域网,并以服务器与本地局域网内的网络设备之间的通信交互为例进行说明,其中,除本地局域网之外的其他局域网为临局域网。示例性的,局域网A、局域网B、局域网C、局域网D共用一个服务器,若代理设备位于局域网B中,则局域网B为本地局域网,局域网A、局域网C、局域网D为临局域网;或者,若代理设备位于局域网D中,则局域网D为本地局域网,局域网A、局域网B、局域网C为临局域网。本发明实施例对具体哪个局域网作为本地局域网不作限定。
103、向代理设备下发探测策略。
所述探测策略并不是一成不变的,服务器可以根据探测网络设备的不同需求对该探测策略进行配置,例如,可以对探测网络设备的具体类型、探测网络设备的时间段、探测网络设备的具体参数、探测网络设备的探测范围等等进行配置。具体的探测策略指示代理设备进行探测的内容,根据探测网络设备的实际需求进行配置,本发明实施例对探测策略中包含的具体内容不进行限制。
104、接收代理设备上报的探测结果。
代理设备上报探测结果的内容应该基于探测策略中服务器的具体指示。当服务器接收到探测结果后,便完成了服务器对局域网内的网络设备进行探测的任务。本发明实施例提供的网络设备探测的方法,能够充分利用局域网内代理设备的处理资源,而不是消耗服务器有限的处理资源。
本发明实施例提供的网络设备探测的方法,服务器获取局域网内网络设备的属性信息,根据该属性信息从网络设备中选择代理设备,并向该代理设备下发探测策略,代理设备接收该探测策略,根据该探测策略对网络设备进行探测,将探测到的结果上报给服务器。与现有技术中由服务器向局域网内的各个网络设备分别进行探测相比,本发明实施例在服务器端对探测策略进行配置,并将该探测策略下发给代理服务器,在探测网络设备过程中无需服务器的参与,而是通过代理设备对局域网内的其他网络设备进行探测,能够充分利用代理设备这一闲置资源实现各局域网的分布式并列探测,大大节省了对网络设备进行探测的消耗时间。
进一步的,作为对上述步骤的细化和扩展,上述步骤101中属性信息包括客户端安装标识,其中,客户端安装标识用于标记网络设备是否安装有能够与服务器进行直接通信的特定客户端。其中,客户端安装标识可以采用但不局限于以下的方式实现,例如,将客户端安装标识携带在网络设备的用户名中,如设备1khd、设备3khd、设备9khd等等;或者,服务器与网络设备之间预先制定规则,当网络设备上报客户端安装标识时,服务器能够对该网络设备进行识别,如当服务器接收到客户端安装标识为客户端1时,则确定上报该客户端安装标识的网络设备为网络设备1,当服务器接收到客户端安装标识为客户端5时,则确定上报该客户端安装标识的网络设备为网络设备5。本发明实施例对客户端安装标识的具体实现方式不进行限定。
此外,一个网络设备中只能安装有一个特定客户端,因此,在服务器接收到客户端安装标识后,对安装特定客户端的网络设备的数量进行统计,并计算出该局域网内安装特定客户端的安装率,以便服务器对安装有特定客户端的网络设备进行管理。示例性的,假设,局域网内有100个网络设备,服务器接收到的客户端安装标识为18,即该局域网内安装有特定客户端的网络设备的数量为18个,那么该局域网内特定客户端的安装率为18%。在实际的应用中,所述特定客户端可以为安全应用类软件的客户端,具体的,本发明实施例对特定客户端不进行限定。
进一步的,上述步骤101中属性信息还包括:网络设备的性能参数。其中,网络设备的性能参数包括:中央处理器(Central Processing Unit,CPU)、内存、硬件、操作***、网间协议(Internet Protocol,IP)地址等等。基于属性信息中的客户端安装标识和网络设备的性能参数选择代理设备,具体为:服务器选择安装有特定客户端的网络设备,并从安装有特定客户端的网络设备中选择性能参数高于预设参数阈值的网络设备作为代理设备。其中,所述预设参数阈值是人为设定的,可以根据探测策略的不同需求,对该预设参数阈值进行重新配置。示例性的,可以设置CPU的资源占用率的预设参数阈值为30%,设置CPU主频的预设参数阈值为800MHz,设置内存的资源占用率的预设参数阈值为50%等等,本发明实施例对网络设备的性能参数、预设参数阈值不进行限定。
进一步的,在服务器选择代理设备之后,若服务器未向该代理设备下发探测策略,则该代理设备仍然为局域网中的网络设备;若服务器向该代理设备下发了探测策略,则该代理设备基于所述探测策略对其他网络设备进行探测。其中,探测策略包括下述至少一种策略信息:探测协议类型、探测端口号、网间协议IP网段、探测周期及探测时段。其中,探测协议类型包括本地局域网探测和临局域网探测所使用的探测协议类型;探测端口号包括探测时的物理端口号和逻辑端口号;IP网段包括区分不同局域网的网段及同一局域网内不同的IP网段,探测周期包括对服务器指示代理设备对局域网内的网络设备进行探测的周期,例如,可以设置探测周期为24小时,也可以设置探测周期为一周等等;探测时段包括服务器指示代理设备对局域网内的网络设备进行探测的具体时段,例如,可以设置探测时段为12:00-13:00,也可以设置探测时段为16:00-16:30。本发明实施例对探测策略的策略信息的内容及设置策略内容的方式不进行限制。
进一步的,作为代理设备在进行探测其他网络设备时,可能需要向局域网内的其他网络设备发送大量的地址解析协议(Address Resolution Protocol,ARP)数据包,由于代理设备中预先设置有发送ARP数据包的临界频率,若代理设备发送ARP数据包的频率高于临界频率,则代理设备与其他网络设备之间的通信会被强制断开。为了防止上述问题的发生,服务器在向其他网络设备发送ARP数据包之前,首先会获取代理设备的发送ARP数据包的临界频率,服务器根据代理设备发送ARP数据包的临界频率对所述配置参数进行设置,并向代理设备下发配置后的ARP数据包的发送频率的配置参数。将所述配置参数设置为小于或者等于代理设备发送ARP数据包的临界频率,确保代理设备与其他网络设备之间的正常通信。其中,由于不同代理设备可能存在不同的发送ARP数据包的临界频率,所述配置参数的设置视具体情况进行设置,例如,代理设备发送ARP数据包的临界频率为100/s,则所述配置参数可以设置为100/s,也可以设置为80/s,具体的本发明实施例对此不进行限制。
进一步的,在接收代理设备上报的探测结果之前,服务器会指示代理设备具体的探测范围,探测范围包括进行本网探测和/或进行临网探测,代理设备接收到服务器下发的指示时,根据指示选择对本网进行探测、对临网进行探测、对本网和临网同时进行探测。在本发明实施例中,若服务器没有向代理设备下发探测范围的指示,可以设置代理设备的默认探测范围为仅进行本网探测;或者也可以设置代理设备的默认探测范围为进行本网和临网探测,具体的,本发明实施例对设置代理设备的默认探测范围不进行限定。
进一步的,服务器在接收代理设备上报的探测结果后,接收到的探测结果进行解析,获取代理设备探测的网络设备数量。将网络设备数量与预设的数量阈值进行比较,若比较的结果存在差异,则服务器根据探测策略对网络设备数量进行相应调整。本发明实施例提供了一种服务器对探测后的网络设备数量进行调整的方法,如图2所示,该方法包括:
201、接收代理设备上报的网络设备数量。
对应于上述步骤104中服务器接收代理设备上报的探测结果,探测结果包括接收代理设备上报的网络设备数量,接收代理设备上报的网络设备数量的目的在于,查看代理设备探测到的网络设备数量与预设的数量阈值之间是否存在误差,基于该误差的大小,服务器会采用相应策略减小或者消除误差。其中,代理设备上报的探测结果,除了包括网络设备数量之外,还应该上报与代理设备基于探测策略中的指示内容相应探测结果,示例性的,探测策略中指示代理设备上报网络设备的设备标识、操作***类型、指示代理设备上报关于其他网络设备的内存占用等等,具体的,本发明实施例对代理设备上报探测结果的内容不进行限定。
202、将网络设备数量与预设的数量阈值进行比对。
若网络设备数量大于数量阈值,则执行步骤203;若网络设备数量小于数量阈值,则执行步骤204。
需要说明的是,本步骤的执行时在接收代理设备上报的探测结果之后执行的。
203、对探测后的网络设备进行过滤。
在对探测后的网络设备进行过滤时,服务器可以通过下述几种方式选择需要过滤的网络设备:
方式一:对预定设备类型的网络设备进行过滤。
代理设备可以探测到的局域网内的网络设备,包括个人电脑(PersonalComputer,PC)、打印机、交换机、虚拟机等等。当网络设备数量大于数量阈值时,服务器基于预定设备类型对探测后的网络设备进行过滤,示例性的,若预设设备类型为PC,则将对设备类型为PC的网络设备进行过滤;若预定设备类型为虚拟机,则将对设备类型为虚拟机的网络设备进行过滤,本发明实施例对服务器设备过滤的预定设备类型不进行限定。
承由上述步骤104中服务器接收代理设备上报的探测结果,探测结果包括网络设备的媒体访问控制地址(Media Access Control Address,MAC地址)。在服务器对预设设备类型的网络设备进行过滤之前,需要准确的判断出网络设备的具体的设备类型,在本发明实施例的一种实现方式中,由于每个网络位置会有一个专属于的MAC地址,通过解析所述MAC地址或者解析MAC地址的前缀,便能准确的判断网络设备的具体设备类型。本发明实施例中,关于通过解析所述MAC地址或者解析MAC地址的前缀的方式可以参考现有技术实现,本发明实施例对此不再进行赘述。
方式二:对预定局域网中的网络设备进行过滤。
在本实现方式中,服务器还可以通过对预定局域网中的网络设备进行过滤,其中,预定局域网中的网络设备包括,整个本地局域网或整个临局域网的网络设备、本地局域网中的部分网络设备、临局域网中的部分网络设备。示例性的,当服务器对本地局域网中的部分网络设备进行过滤时,所述本地局域网中的部分网络设备可能包含本地局域网中某个子网的网络设备,也可能包含本地局域网中某个特指的网络设备,因此,服务器可以根据网络设备的IP地址对网络设备进行过滤,例如,服务器通过对IP地址进行解析,并获取该IP地址的网络号和主机号,基于获取到的网络号可判断要过滤的网络设备是否属于某个子网的网络设备,若判断结果为是,则将该网络设备进行过滤,若判断结果为否,则将该网络设备进行保留;基于获取到的主机号可判断要过滤的网络设备是否属于某个特指的网络设备,若判断结果为是,则将该网络设备进行过滤,若判断结果为否,则将该网络设备进行保留。由此便实现了服务器对预定网络设备中的网络设备进行过滤。
方式三:对预定局域网中的预定设备类型进行过滤。
本实现方式是将上述方式一与方式二进行结合,实现服务器对预定局域网中的预定设备类型进行过滤。如图3所示,图3示出了本发明实施例提供了服务器对预定局域网中的预定设备类型过滤的示意图,首先,服务器根据代理设备上报的关于局域网A、局域网B、局域网C、局域网D内网络设备的探测结果,在确定网络设备数量大于数量阈值之后,服务器选择局域网A、局域网B、局域网C、局域网D中没有划分子网的局域网进行过滤,此时将局域网C、局域网D进行过滤;接着,服务器分别选择局域网A、局域网B的子网1中的预定设备类型为虚拟机的网络设备进行过滤,由此便实现服务器对局域网A、局域网B中的预定设备类型为虚拟机的网络设备进行过滤。其中,关于服务器判断如何判断预定设备类型为虚拟机的有关描述,请参考上述方式二中的有关描述,本发明实施例在此不再进行赘述。
204、指示未启动探测的局域网启动探测。
当网络设备数量小于数量阈值时,服务器通过查看探测日志,选择包含代理设备且未启动探测的局域网启动探测,同时向选择出的代理设备下发启动探测的通知,强制该代理设备启动探测,从而能够降低服务器探测网络设备的误差率。其中,探测日志用于记录局域网内的网络设备的属性信息、是否开启探测服务器、网络设备的设备标识等信息,本发明实施例对探测日志中的具体内容不进行限定。
需要说明的是,服务器接收代理设备上报的探测结果中包括MAC地址,本发明实施例中,所述MAC地址除了具有能够准确判断网络设备的具体设备类型外,MAC地址还作为网络设备的设备标识。
现有技术中,将IP地址作为网络设备的设备标识,但是,由于局域网内可能开启动态主机设置协议(Dynamic Host Configuration Protocol,DHCP)服务,而DHCP服务下的IP地址容易发生改变,因此,IP地址不能作为网络设备唯一的设备标识,可能造成服务器对网络设备进行探测的结果不准确。为了保证服务器对网络设备进行探测的准确性,本发明实施例将MAC地址作为网络设备的唯一设备标识,在服务器对网络设备进行探测时,避免了由于设备标识不确定而造成的误差,由此保证了服务器对网络设备进行探测的准确性。可选的,将网络设备的MAC地址与IP地址的对应关系进行捆绑处理,由于MAC地址能够唯一标识网络设备,则捆绑处理后的MAC地址与IP地址也能作为网络设备的设备标识。
进一步的,本发明实施例提供另一种网络设备探测的方法,该方法应用于网络设备侧,如图4所示,该方法包括:
401、接收服务器下发的探测策略。
代理设备在未接收到服务器下发的探测策略之前,可以接收其他的操作指令,例如,用户使用文字编辑工具进行编辑文字,使用绘图工具进行画图等等;在代理设备接收到服务器下发的探测策略之后,代理设备执行其他网络设备执行的操作指令的同时,还能够基于探测策略执行策略信息中的相关内容。在实际应用中,可以理解为代理设备基于探测策略执行策略信息中的相关内容是在后台模式下执行的,并不会影响代理设备执行其他的网络设备执行的操作指令。
402、基于探测策略对网络设备进行探测,并获得探测结果。
本步骤对应于上述步骤103中服务器向代理设备下发探测策略,探测策略包括下述至少一种策略信息:探测协议类型、探测端口号、网间协议IP网段、探测周期及探测时段。其中,关于策略信息的相关描述,请参考如上的任意一种策略信息的相关描述,本发明实施例此处不再赘述。
403、向服务器上报探测结果。
其中,于本步骤中有关探测结果的描述,请参考服务器侧有关探测结果的详细描述,本发明实施例此处不再进行赘述。
本发明实施例提供的网络设备探测的方法,服务器获取局域网内网络设备的属性信息,根据该属性信息从网络设备中选择代理设备,并向该代理设备下发探测策略,代理设备接收该探测策略,根据该探测策略对网络设备进行探测,将探测到的结果上报给服务器。与现有技术中由服务器向局域网内的各个网络设备分别进行探测相比,本发明实施例在服务器端对探测策略进行配置,并将该探测策略下发给代理服务器,在探测网络设备过程中无需服务器的参与,而是通过代理设备对局域网内的其他网络设备进行探测,能够充分利用代理设备这一闲置资源实现各局域网的分布式并列探测,大大节省了对网络设备进行探测的消耗时间。
为了解决现有技术中服务器向网络设备发送探测数据包的数量过多的问题,本发明实施例中,服务器将探测网络设备的任务下放到代理设备中,代理设备基于探测策略向网络设备发送探测数据包进行网络设备探测,从而解决了现有技术中服务器向网络设备发送探测数据包数量过多的问题。
作为对步骤402中基于探测策略对网络设备进行探测的细化和扩展,本发明实施例可以采用但不局限于以下的方式实现:
首先,代理设备基于探测策略向网络设备发送探测数据包。
代理设备基于探测策略中的探测协议类型向网络设备发送探测数据包,不同的探测策略中往往存在不同的探测协议类型,代理设备要结合不同的探测策略选择不同的探测协议类型。当代理设备执行对本地局域网进行网络探测时,可以采用但不局限于使用下述协议,例如,使用网络基本输入/输出***(NetBios Services Protocols,NetBios)协议、地址解析(Address Resolution Protocol,ARP)协议;或者,使用传输控制(TransmissionControl Protocol,TCP)协议、用户数据包(User Datagram Protocol,UDP)协议等。当代理设备执行对临局域网进行网络探测时,可以采用但不局限于使用下述协议,例如,使用NetBios协议;或者,使用Internet控制报文(Internet Control Message Protocol,ICMP)协议、TCP协议等。具体的,本发明实施例在代理设备在进行网络探测时所使用的协议类型不进行限定。
代理设备向网络设备发送探测数据包之后,接收局域网内各个网络设备返回的回显数据包,回显数据包中包含网络设备自身的MAC地址。本发明实施例中,回显数据包中除了包含有网络设备自身的MAC地址之外,还包括网络设备自身的IP地址、网络设备的用户名、组名等,本发明实施例对回显数据包中包含的内容不进行限定。需要说明的是,所述MAC地址为网络设备的设备标识,有关MAC地址为设备标识的详细描述请参考服务器侧中有关MAC地址的相关描述,本发明实施例此处不再进行赘述。
当代理设备基于NetBios协议对本地局域网进行网络探测时,向网络设备发送探测数据包,所述网络设备对该探测数据包进行响应,并向代理设备发送NetBios协议报文,代理设备接收并解析该NetBios协议报文。其中,所述NetBios协议报文中包含源IP地址、目的IP地址,源MAC地址、网关的MAC地址、数据字段等等;代理设备可以从所述NetBios协议报文的数据字段中获取网络设备的MAC地址、网络设备的用户名、组名等信息。此时,代理设备获取的网络设备的MAC地址,是网络设备中正确的网络设备的MAC地址。但是,基于NetBios协议向网络设备发送探测数据包时,该局域网中的一些网络设备并不会向代理设备返回回显数据包,因此,可能会造成代理设备探测到的网络设备的数量小于局域网内的实际的网络设备的数量。
为解决基于NetBios协议向网络设备发送探测数据包时,该局域网中的一些网络设备不会向代理设备返回回显数据包的问题,在本发明实施例的另一种实现方式中,代理设备基于ARP协议对本地局域网中的网络设备进行探测,能够保证局域网内的各个网络设备都会向代理设备返回回显数据包。但是代理设备基于ARP协议向网络设备发送探测数据时,不仅各个网络设备向代理设备返回回显数据包,而且局域网网关也会向代理设备返回回显数据包,局域网网关返回的回显数据包中携带有本地局域网内网络设备的IP地址和局域网网关其自身的MAC地址,构成网关欺骗。
代理设备中会存储有一个ARP缓存表,关于ARP缓存表,如表1所述:
表1
IP地址 |
MAC地址 |
192.168.1.1 |
00-aa-00-62-c6-09 |
192.168.1.2 |
00-aa-00-62-c5-03 |
192.168.1.3 |
00-aa-01-75-c3-06 |
…… |
…… |
从上表中可以看出,该ARP缓存表中记录的IP地址与MAC地址是一一对应的,且该缓存表示动态存储的。当局域网网关向代理设备发送回显数据包时,代理设备查看接收到局域网网关的回显数据包,并将局域网网关的回显数据包中的IP地址—MAC地址的对应关系与ARP缓存表中存储的IP地址—MAC地址的对应关系进行比对,若比对结果不一致,则先前的IP地址—MAC地址的对应关系更新为新接收到的局域网网关的回显数据包中的IP地址—MAC地址的对应关系。如此以来,代理设备根据局域网网关提供的其自身的MAC地址,造成代理设备无法成功将探测数据包发送给其他网络设备上。其中,ARP缓存表仅为示例性的举例,本发明实施例对ARP缓存表中的内容不进行限定。
基于网关其自身具有的网关欺骗功能,在本发明实施例的改进方案中,为便于代理设备能够判断出真实的回显数据包和局域网网关欺骗的回显数据包,代理设备在接收到局域网网关返回的回显数据包之后,将局域网网关的MAC地址删除。如表2所示,表2中记录了局域网网关上报的IP地址—MAC地址的对应关系,其中,表2中记录的IP地址为整个局域网内网络设备的IP地址,IP地址对应的MAC地址均为局域网网关的MAC地址。
表2
IP地址 |
MAC地址 |
192.168.1.1 |
00-aa-01-75-a5-08 |
192.168.1.2 |
00-aa-01-75-a5-08 |
192.168.1.3 |
00-aa-01-75-a5-08 |
…… |
00-aa-01-75-a5-08 |
在本发明实施例的一种实现方式中,代理设备在接收到局域网网关发送的回显数据包之后,解析该回显数据包,获取局域网网关发送的IP地址—MAC地址的对应关系,将表1中记录的IP地址—MAC地址的对应关系与表2中记录IP地址—MAC地址的对应关系进行比较,并将表2中IP地址不同,且MAC地址相同的IP地址—MAC地址的对应关系删除,如此便能解决代理设备进行本网网络设备探测时存在的网关欺骗的问题。在本发明实施例的另一种实现方式中,为了防止局域网网关欺骗的发生,还可以在代理设备进行探测之前,将局域网内网络设备的IP地址与MAC地址进行绑定,避免代理设备进行探测时出现的网关欺骗的问题。本发明实施例对代理设备如何防止网关欺骗的具体实施方式不进行限定。
进一步的,代理设备基于探测策略向其他网络设备发送ARP数据包,局域网中的网络设备越多,发送ARP数据包的数量越多,频率越快,但是由于代理设备其自身具有防攻击能力,当代理设备发送ARP数据包发送频率超过临界频率时,便会切断代理设备与其他网络设备的连接,因此,就会导致该代理设备不能基于探测策略完成探测网络设备的任务。为了解决上述问题,代理设备在基于探测策略对其他网络设备进行探测之前,接收服务器下发的ARP数据包的发送频率的配置参数,该ARP数据包的发送频率的配置参数要小于或者等于代理设备的临界频率,确保代理设备与其他网络设备的正常通信,因此,该代理设备才能够基于探测策略对网络设备进行探测。
进一步的,在基于探测策略对网络设备进行探测之前,代理设备接收服务器下发的探测范围指示,依照探测范围指示进行探测。其中,本发明实施中的探测范围指示包括:本网探测、临网探测、本网中的子网探测、本网中的IP段探测、临网中的子网探测、临网中的IP段探测及特定网络设备。服务器在向代理设备下发探测范围指示之前,往往会对探测范围指示中的局域网进行标识,以便代理设备在接收到探测范围指示时,能够快速按照该探测范围指示进行探测,而无需计算探测范围属于本网还是临网。示例性的,假设,有局域网A、局域网B、局域网C、局域网D、局域网E,其中,代理设备位于局域网B中,服务器向代理设备下发的探测范围指示包括:对本网进行探测、对局域网E中主机号为36-50的特定网络设备进行探测、对局域网D进行探测。在服务器向代理设备下发探测范围指示之前,会对局域网局B、局域网E、局域网D进行标识,标识为局域网局BT、局域网ET、局域网DT,并将标识后的信息发送给代理设备,代理设备对标识后的局域网局BT、局域网DT进行探测,查找到局域网ET后,根据局域网ET中网络设备的IP地址和子网掩码,计算出局域网ET中主机号为36-50的网络设备。在本发明实施例的另一种实现方式中,若在服务器在向代理设备下发探测范围指示之前未对探测范围指示进行标识,则代理设备在接收到探测范围指示后,通过IP地址和子网掩码计算出需要探测的范围,并对该探测范围内的网络设备进行探测。具体的本发明实施例对此不进行限定。
在实际的应用中,当代理设备基于探测范围指示进行临网探测时,首先需要检测网关的网关状态,当网关状态为在线状态时,代理设备才能够对临网进行探测。若网关状态为不在线状态,则说明代理设备需要探测的临网是不存在的,因此,无需再向临网内的网络设备发送探测数据包对其进行探测。与现有技术中服务器向局域网内网络设备发送探测数据包相比,本发明实施例提供的方法能够有效降低发送探测数据包的发包率。其中,在代理设备检测网关的网关状态时,可以采用但不局限于以下的方式实现,例如,代理设备通过ICMP协议检测网关的网关状态;或者,通过ping命令检测网关的网关状态。具体的本发明实施例对检测网关的网关状态的实现方式不进行限制。
在实际的应用中,一个局域网内还可以有多个代理设备,如图5所示,图5示出了本发明实施例提供的局域网内有多个代理设备的示意图。假定,服务器在局域网A中选择了两个代理设备,分别为代理设备1、代理设备2,并指示代理设备1、代理设备2对局域网A、局域网B、局域网C进行网络设备探测。由于能执行探测任务的代理设备为两个,在基于探测策略对网络设备进行探测时,可以采用但不局限于下述方法,例如,在代理设备1和代理设备2之间选择一个代理设备进行临网探测,另一个代理设备进行本网探测,如代理设备1进行本网探测,代理设备2对临网局域网B、局域网C进行探测;或者,代理设备1、代理设备2同时对本网进行探测,对本网进行探测完毕后,在同时对其他的临网进行探测。在本发明实施例中,服务器可以根据局域网中网络设备的实际数量选择代理设备的数量,若局域网中网络设备的实际数量比较多,则可以选择多个代理设备;若局域网中网络设备的实际数量比较少,则可以选择一个代理设备,具体的本发明实施例对选择代理设备的具体数量不进行限制。
需要说明的是,当同一局域网中存在至少两个代理设备时,该些代理设备需要对探测过的网络设备进行标识,并告知其他代理设备无需对标识后的网络设备再次进行探测,避免同一个网络设备被不同的代理设备探测多次,可能会导致代理设备探测到的网络设备的数量大于实际的网络设备的数量。
承由上述,针对代理设备对本网探测进行了详细介绍,以下将对代理设备仅对临网探测进行一个具体描述,如图6所示,图6示出了本发明实施例提供的代理设备对临网探测的示意图。假设,有N个局域网(N>=2),且服务器在局域网1中选择出代理设备,当代理设备仅对临局域网的网络设备进行探测时,代理设备分别向该些临网内的网络设备分别发送探测数据包,并接收临网内网络设备返回的探测的结果,将探测结果上报给服务器,由此,便实现了代理设备仅对临网网络设备的探测。代理设备对临网进行探测,可以应用于临网中没有符合条件的网络设备作为代理设备的场景中。
进一步的,在服务器接收到代理设备上报的探测结果之后,网络***管理员可以根据该探测结果进行网络库存管理、服务升级、***监控及安全漏洞扫描等。为了能够更加能够清楚、简便的利用探测结果进行网络维护,在本发明实施例的一种实现方式中,服务器在接收到探测结果之后,按照IP段将局域网内的网络设备的属性参数、IP地址、MAC地址等进行分类显示,示例性的,如表3所示,表3示出了服务器根据IP段为:
192.168.2.1-192.168.2.254将网络设备进行分类显示。其中,表3中仅为示例性的举例。
表3
IP地址 |
MAC地址 |
属性参数 |
192.168.2.1 |
00-ba-08-67-c9-21 |
CUP占用率为20% |
192.168.2.2 |
00-ba-08-67-c9-21 |
CUP占用率为34% |
192.168.2.3 |
00-23-5A-15-99-42 |
CUP占用率为78% |
192.168.2.4 |
00-12-5A-15-36-58 |
CUP占用率为12% |
…… |
…… |
…… |
在本发明实施例的另一种实现方式中,服务器接收到探测结果后,可以根据网络设备的不同类型进行分类显示,网络设备的类型包括:PC、打印机、交换机、路由器、手机、平板电脑、虚拟机等等。本发明实施例对网络设备分类显示的具体方式不作限制。
进一步的,作为对上述方法的实现,本发明实施例提供了一种网络设备探测的装置,该装置可以位于服务器中,也可以独立于服务器但与服务器之间具有数据交互关系,用以实现上述实施例提供的不同实施方式所示的方法。如图7所示,该装置包括:
获取单元71,用于获取局域网内网络设备的属性信息;
选择单元72,用于根据获取单元71获取的属性信息从网络设备中选择代理设备;
下发单元73,用于向选择单元72选择的代理设备下发探测策略,以便代理设备基于探测策略对其他网络设备进行探测,并获得探测结果;
接收单元74,用于接收代理设备上报的根据下发单元73下发的探测策略获得的探测结果。
进一步的,获取单元71获取的属性信息包括客户端安装标识,客户端安装标识用于标记网络设备是否安装有能够与服务器进行直接通信的特定客户端;
选择单元72用于,基于客户端安装标识,选择安装有特定客户端的网络设备。
进一步的,获取单元71获取的属性信息还包括网络设备的性能参数;
选择单元72用于,在安装有特定客户端的网络设备中,选择性能参数高于预设参数阈值的网络设备作为代理设备。
进一步的,下发单元73用于,向代理设备下发的下述至少一种策略信息:探测协议类型、探测端口号、网间协议IP网段、探测周期及探测时段。
进一步的,下发单元73还用于在接收单元74接收代理设备上报的探测结果之前,向代理设备下发地址解析协议ARP数据包的发送频率的配置参数。
进一步的,如图8所示,所述装置进一步包括:
第一指示单元75,用于在接收单元74接收代理设备上报的探测结果之前,指示代理设备进行本网探测和/或临网探测。
进一步的,接收单元74用于,接收代理设备上报的网络设备数量;
进一步的,如图8所示,所述装置进一步包括:
比对单元76,用于在接收单元74接收代理设备上报的探测结果之后,将网络设备数量与预设的数量阈值进行比对;
过滤单元77,用于当比对单元76比对的网络设备数量大于数量阈值时,对探测后的网络设备进行过滤;
第二指示单元78,用于当比对单元76比对的网络设备数量小于数量阈值时,指示未启动探测的局域网启动探测。
进一步的,过滤单元77用于,对预定设备类型的网络设备进行过滤。
进一步的,过滤单元77用于,对预定局域网中的网络设备进行过滤。
进一步的,第二指示单元78用于,查看探测日志,选择包含代理设备且未启动探测的局域网启动探测。
进一步的,接收单元74接收的探测结果中包含网络设备的设备标识,设备标识为媒体访问控制MAC地址。
进一步的,作为对上述方法的实现,本发明实施例还提供一种网络设备探测的装置,该装置位于代理设备中,如图9所示,装置包括:
接收单元81,用于接收服务器下发的探测策略;
探测单元82,用于基于接收单元81接收的探测策略对网络设备进行探测,并获得探测结果;
上报单元83,用于向服务器上报探测单元82探测的探测结果。
进一步的,其特征在于,接收单元81用于,接收服务器下发的下述至少一种策略信息:探测协议类型、探测端口号、网间协议IP网段、探测周期及探测时段。
进一步的,如图10所示,探测单元82,包括:
第一发送模块821,用于基于探测策略向网络设备发送探测数据包;
第一接收模块822,用于接收局域网内各个网络设备返回的回显数据包,回显数据包中包含网络设备自身的媒体访问控制MAC地址;
第一接收模块822还用于,接收局域网网关返回的回显数据包,回显数据包中包含局域网网关的MAC地址;
删除模块823,用于将第一接收模块822接收到的局域网网关的MAC地址删除。
进一步的,如图10所示,探测单元82,还包括:
第二发送模块824,用于基于探测策略向网络设备发送探测数据包;
第二接收模块825,用于接收局域网网关发送的协议报文;
获取模块826,用于从第二接收模块825接收到的协议报文的数据字段中获取网络设备的MAC地址。
进一步的,接收单元81还用于,在探测单元82对网络设备进行探测之前,接收服务器下发的地址解析协议ARP数据包的发送频率的配置参数;
探测单元82还用于,基于接收单元81接收到的配置参数对网络设备进行探测。
进一步的,接收单元81还用于,在探测单元82对网络设备进行探测之前,接收服务器下发的探测范围指示,探测范围指示用于指示进行本网探测和/或临网探测;
探测单元82还用于,依照接收单元81接收到的探测范围指示进行本网探测和/或临网探测。
进一步的,如图10所示,装置进一步包括:
检测单元84,用于在探测单元82进行临网探测之前,检测临网网关的网关状态;
探测单元82,用于当检测单元84检测的网关状态为在线状态时,进行临网探测。
进一步的,探测单元82探测到的探测结果中包含网络设备的设备标识,设备标识为MAC地址。
进一步的,作为对上述方法的实现以及上述装置的应用,如图11所示,本发明实施例提供了一种网络设备探测的***,***包括:服务器91和代理设备92,其中,
服务器91用于,获取局域网内网络设备的属性信息,根据属性信息从网络设备中选择代理设备92,向代理设备92下发探测策略;
代理设备92用于,接收服务器91下发的探测策略,基于探测策略对网络设备进行探测,并获得探测结果,向服务器91上报探测结果;
服务器91还用于,接收代理设备92上报的探测结果。
本发明实施例提供的网络设备探测的装置及***,服务器获取局域网内网络设备的属性信息,根据该属性信息从网络设备中选择代理设备,并向该代理设备下发探测策略,代理设备接收该探测策略,根据该探测策略对网络设备进行探测,将探测到的结果上报给服务器。与现有技术中由服务器向局域网内的各个网络设备分别进行探测相比,本发明实施例在服务器端对探测策略进行配置,并将该探测策略下发给代理服务器,在探测网络设备过程中无需服务器的参与,而是通过代理设备对局域网内的其他网络设备进行探测,能够充分利用代理设备这一闲置资源实现各局域网的分布式并列探测,大大节省了对网络设备进行探测的消耗时间。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的发明名称中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。