CN1886935A - 用于收集有关通信网络的信息和用于收集有关在通信网络节点上运行的操作系统的信息的方法和系统 - Google Patents

用于收集有关通信网络的信息和用于收集有关在通信网络节点上运行的操作系统的信息的方法和系统 Download PDF

Info

Publication number
CN1886935A
CN1886935A CNA2004800353807A CN200480035380A CN1886935A CN 1886935 A CN1886935 A CN 1886935A CN A2004800353807 A CNA2004800353807 A CN A2004800353807A CN 200480035380 A CN200480035380 A CN 200480035380A CN 1886935 A CN1886935 A CN 1886935A
Authority
CN
China
Prior art keywords
information
data
network
node
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2004800353807A
Other languages
English (en)
Other versions
CN1886935B (zh
Inventor
奥菲·阿金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Insightix Ltd
Original Assignee
Insightix Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Insightix Ltd filed Critical Insightix Ltd
Publication of CN1886935A publication Critical patent/CN1886935A/zh
Application granted granted Critical
Publication of CN1886935B publication Critical patent/CN1886935B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]

Abstract

本发明提供了用于收集有关通信网络的信息的方法和系统。按对在通信网络中运行的节点透明的方式,对由这些节点传送的数据进行检测。对所检测到的数据进行分析,以识别有关通信网络的信息并识别缺失信息。为了使缺失信息完整,对一个或更多个节点进行查询。

Description

用于收集有关通信网络的信息和用于收集有关在通信网络节点上 运行的操作系统的信息的方法和系统
技术领域
本发明涉及网络发现,更具体地,涉及收集有关通信网络的信息。
背景技术
图1示意性地例示了企业网络101。企业网络可以包括一个或更多个网络。例如,企业网络101可以包括几个局域网(LAN)102。在企业网络包括一个以上的LAN的情况下,使用多个路由器103连接这些LAN。LAN具有一个或更多个计算设备104,即,一个或更多个与网络相关联的计算设备。本领域的技术人员可以理解,也可以包括虚拟LAN(VLAN)。有时企业网络101还可以包括通过使用公共线路连接多个计算设备而构造的一个或更多个虚拟专用网络(VPN),如105。如在现有技术中已知的,也可以存在许多其他结构,而且在图中例示的结构只是示例性的结构。例如,也可以使用交换机106。
路由器103、计算设备104以及交换机106是通信网络的“节点”或“通信节点”的示例。
有时,计算机集群对于该集群外部的主机计算机表现为单个计算机。NAT(网络地址转换)是用于将多个节点(即,集群)连接到网络而只呈现一个IP地址的方法。当集群中的一节点向不包括在该集群中的IP地址发送分组时,将该分组传送给NAT设备,在该NAT设备中透明地对该节点的IP地址进行转换以使其表示该集群的地址。然后向其目的地再发送该分组。当NAT设备接收到来自于集群外部的IP地址的分组时,该分组携带着该集群的IP地址。保持关于开放连接(会话)和关于集群中的节点的信息的NAT设备对该地址进行转换,并根据所保持的信息将其替换为目的地节点的专用地址,由此使得该节点可以接收该分组。例如,US 5,371,852(“Method and apparatus for making a cluster of computersappear as a single host on a network”,Clement等,1994年公布)公开了一种用于使得计算机集群对于该集群外部的主机计算机表现为单个计算机的方法和设备。主机计算机仅通过网关进行通信,以访问目的地节点和集群中的进程。网关具有至少一个消息交换机,所述至少一个消息交换机对穿过集群边界的进入端口型消息和外发端口型消息进行处理。该处理包括:检查关于消息报头的特定消息,然后改变该报头信息的某些部分,以将进入消息择路到合适的计算机节点、端口以及进程,或者使得外发消息看起来好像源自网关节点。消息交换机使用表将进入消息匹配到特定的择路函数,可以运行该择路函数以执行对不同类型的消息正确地进行择路所需的改变。
应当理解,在通信网络中找到的NAT设备有时表明:在该设备的集群中,即,在该NAT设备背后,可能存在其他节点(不一定是可识别的)。
此外,动态主机配置协议(DHCP)提供了一种用于向TCP/IP网络上的主机传递配置信息的框架。DHCP基于引导协议(BOOTP),增加了自动分配可再用网络地址的能力和附加的配置选项。DHCP捕获BOOTP中继代理的行为,并且DHCP参与方可以与BOOTP参与方相互操作。
根据请求注解(RFC:Request For Comments)2131(其可公开获取,通过引用将其并入于此),将DHCP设计成向DHCP客户机提供在主机需求RFC(Host Requirements,RFC)中定义的配置参数。在通过DHCP获得了参数之后,DHCP客户机应当能够与网络中的其他主机交换分组。在RFC中列出了根据DHCP协议提供的TCP/IP参数。
对于新初始化的客户机,这些参数并非全是必需的。客户机与服务器可以进行协商,以只传送客户机所需的那些参数或某个IP子网专用的那些参数。
RFC 2131定义了要在DHCP客户机与服务器之间交换的几个DHCP消息。其中有DHCPDISCOVER、DHCPOFFER、DHCPREQUEST、DHCPACK、DHCPNAK、DHCPDECLINE、DHCPRELEASE,以及DHCPINFORM。
不是所有的DHCP客户机都要求初始化RFC中列出的所有参数。与DHCP一起使用了两种技术,来减少从服务器向客户机传送的参数的数量。首先,大部分参数具有缺省值;如果客户机没有从服务器接收到替换这些缺省值的参数,则客户机使用这些缺省值。其次,在其初始的DHCPDISCOVER或DHCPREQUEST消息中,客户机可以向服务器提供该客户机感兴趣的特定参数的列表。如果客户机将一参数列表包括在DHCPDISCOVER消息中,则它必须将该列表包括在任何随后的DHCPREQUEST消息中。
在现有技术中存在其他已知的网络协议。例如,RFC 826(1982年公布)(其可公开获取,通过引用将其并入于此)处理地址解析协议(ARP)。RFC 826给出的ARP协议允许将构造表所需的信息进行动态分布,这些表用于将某些协议地址空间(例如:网际协议(IP)中的地址,地址空间)中的地址转换成以太网地址。另一方面,RFC 903(1984年公布)定义了一种反地址解析协议(RRAP),其与RFC 826相反。即,RFC 903提出如下的方法,其用于使多个工作站在只知道它们的硬件地址(例如,它们的附属物理网络地址)时动态地寻找它们的协议地址(例如,它们的IP地址)。
RFC 793(1981年公布)(其可公开获取,通过引用将其并入于此)描述了传输控制协议(TCP)。根据RFC 793,建立连接的过程包括对3个消息进行交换。该交换被称为三方握手。由到达的包含SYN(同步控制标志)的段与等待TCB(传输控制块)条目(均由用户OPEN命令所创建)的会合来启动连接。本地套接字和外来套接字的匹配确定何时启动了连接。当已在两个方向上使序号同步时,连接变成“已建立的”。
对连接的准许(clearing)还包括交换多个段(segment),在此情况下,这些段携带FIN控制标志。通常将携带SYN控制标志的段称为“SYN分组”,而将携带FIN控制标志的段称为“FIN分组”。
TCP为接收方提供了用于对发送方发送的数据量进行控制的方法。这是通过以下操作实现的:使用表示超过最后一个成功接收到的段的可接受序号范围的每个ACK来返回“窗口”。该窗口表示发送方在接收到进一步的许可之前可以传送的允许八位位组数量。
TCP报头包括“选项”域。该选项域可以包含几个选项,每个选项都可以是几个八位位组长。例如,在测试情况下使用这些选项;例如,将它们用于携带时标(timestamp)。网际协议(IP)和TCP都提供了选项域。
RFC 972(1981年公布)(其可公开获取,通过引用将其并入于此)描述了作为网际协议(IP)的扩展的网际控制消息协议(ICMP)。然而,ICMP实际上是IP的一体部分。在几种情况下发送ICMP消息:例如,当数据报不能到达它的目的地时,当网关不具备转发数据报的缓冲能力时,或者当网关指示主机按更短的路由发送流量时。根据RFC 972,这些控制消息的用途是提供与通信环境中的问题有关的反馈。使用ICMP消息的已知实用程序的示例有ping和traceroute。
对有关通信网络的信息进行收集,很久以来都是本领域的研究主题。例如,根据US 5,297,138(“Determining physical topology across repeatersand bridges in a computer network”,1994年公布),确定了网络上的多个设备的物理拓扑结构。对网络上的所有设备进行识别,并选择第一设备。对于第一设备的每个端口,针对通过该端口与第一设备进行通信的所有设备,递归地确定连接结构。
US 5,933,416(“Method of determining the topology of a network ofobjects”,1999年公布)公开了一种用于确定网络拓扑结构的方法。根据US 5,933,416,对网络中连接的设备接收的流量和从这些设备发出的流量进行监测。将离开这些设备的流量与进入这些设备的流量相关,如果离开成对设备中的一个设备的流量与进入该成对设备中的另一设备的流量之间的相关性超过预定阈值,则指示出成对设备之间的网络通信路径。
US 6,628,623(“Methods and systems for determining switch connectiontopology on ethernet LANs”,2003年公布)描述了一种用于确定以太网LAN交换机拓扑结构的方法。该方法包括以下步骤:a)在网络管理服务器与以太网LAN中的交换机之间建立通信链路,由此将该交换机定义为根交换机;b)对连接到该以太网LAN的多个交换机中的每一个进行识别,所述多个交换机中的每一个交换机都包括至少一个可识别端口;c)生成所述多个交换机中的每个交换机的映射,该映射包括所述多个端口中的每个端口看到的所述多个交换器的多个端口中的每个端口的列表;d)从映射中排除所述多个端口中的每个端口向上看到的端口;e)在该映射中识别连接到所述多个端口中的至少一个端口的至少一个叶节点;f)在拓扑结构映射中保持叶节点与连接到所述叶节点的端口之间的至少一个关系;g)从针对每个端口的列表中排除每个端口看到的各叶节点;以及h)重复步骤e)到g),直到识别完所有叶节点。
根据US 6,697,338(“Determination of physical topology of acommunication network”,2004年公布),确定在多重子网通信网络中的诸如交换机和路由器的要素之间的物理连通性。每个要素都具有一个或更多个接口,每个接口都在物理上与另一网络要素的接口相连接。为这些网络要素的每个接口生成了地址组,其中,给定地址组的成员对应于从为其生成该给定地址组的对应接口可以到达的网络要素。将为给定网络要素的对应接口生成的第一地址组的成员,与为除该给定要素之外的其他网络要素的对应接口生成的第二地址组的成员进行比较。确定该给定网络要素的接口与其他网络要素的一个或更多个接口之间的候选连接组。如果确定了一个以上的候选连接,则从该组中排除与位于与给定网络要素相同的子网中的网络要素之间的连接。
尽管至此所引用的公报公开了主动的方法和系统(即,对网络进行查询以收集信息的方法),但是也存在被动的方法,其用于通过对由网络中的节点发送和/或接收的流量进行检测,来收集有关通信网络的信息。
例如,US 5,097,469(“Passive monitor for broadcast communicationnetwork”,1992年公布)公开了一种网络监测器,其被动地检测控制帧传输的序列。将检测到的控制帧序列与控制帧的预期交换的模型进行比较。当所检测到的控制帧序列与由模型表示的帧序列不匹配时,监测器推断出现了故障。US 5,097,469还阐述了被动监测器对在LAN上传送的控制和数据帧流量进行侦听。该监测器是真正被动的,因为它不在LAN上发起通信,而仅仅接收和解释控制和数据帧流量。
US 5,958,010(“Systems and methods for monitoring distributedapplications including an interface running in an operating system kernel”,1999年公布)给出了用于对异构型环境中的分布式应用、客户机/服务器数据库、网络以及系统进行自动监测和管理的系统和方法。US 5,958,010使用了分布式自动智能监测代理,该分布式自动智能监测代理实时地连续监测网络环境,包括对在网络中的客户机与服务器之间传递的数据进行监测。可以收集该数据并将其用于故障查找倾向分析、资源规划、安全审核、结算和退款,以及其他应用。
US 6,795,403(“Automatic discovery of switch devices in a network”,2004年公布)描述了一种提供对交换网络中的交换设备的自动发现的方法和设备。对路由器的远程监测代理进行修改,以检测在该路由器处接收到的含有多播目的地地址的分组,例如,含有网桥协议数据单元(BPDU)的分组。对每个分组进行检查,以根据分组确定发送设备标识符和根设备标识符值。该发送设备标识符值和根设备标识符值与受管网络中的一个或更多个交换机相关联。远程监测代理例如使用反向查找方法,来确定对应于发送设备标识符值和根设备标识符值的IP地址。将该IP地址值或与所发现的交换机有关的其他识别信息存储在MIB表中。
并不仅仅在专利公报中研究了对有关通信网络的信息的收集。为此,请参见Lowekamp,Bruce B等人的文章“Combining active and passivenetwork measurements to build scalable monitoring systems on the grid”(ACM SIGMETRICS Performance Evaluation Review,Vol.30,Issue 4,March 2003,在因特网上http://portal.acm.org/toc.cfm?id=773056&type=issue&coll=GUIDE&dl=GUIDE&CFID=32448838&CFTOKEN=34722082处找到),其说明了网络提供了连接网格的线,因此,对于根据许多网格应用实现满意的性能来说,理解由网络提供的性能是关键所在。考虑到向网络主动注入测量流量的成本和可扩展性挑战,并考虑到被动收集测量的信息访问和精度的挑战,对全球网格进行监测的问题是复杂的。通过将主动与被动监测技术组合起来,可以降低对进入式测量网络的需要,而不会牺牲WAN或LAN级上的测量精度。具体来说,该篇文章给出了拓扑结构型操纵,其通过使用被动地获得的拓扑结构和实用程序来选择要求进行主动带宽探测的瓶颈链路,而显著地减少了系统进行测量的次数。
文章“The Present and Future of Xprobe2,The Next Generation ofActive Operating System Fingerprinting”(Ofir Arkin等人,2003年7月公布在因特网上,参见http://www.sys-security.com/archive/papers/Present and Future Xprobe2-v1.0.pdf),描述了一种执行主动操作系统指纹分析的系统。根据The Present and Future ofXprobe2,主动操作系统指纹分析,是通过利用几个分组来探测目标系统并检查接收到的响应来主动地确定目标网络节点的底层操作系统的过程。
“Ambiguity Resolution via Passive OS Fingerprinting”(Greg Taleck,2004年公布在因特网上,参见 http://www.nfr.com/resource/whitePaper.php),描述了一种基于被动地指纹分析出的主机操作系统类型对协议歧义进行动态解析的方法和实现。在该文章中描述的方法,使用被动地检测到的端主机的OS指纹,来试图正确地解析在不同的网络栈实现之间的歧义。此外,描述了一种用于通过在TCP连接协商处更广泛地进行查看来提高指纹匹配的置信度的新技术。
因此,在本领域中需要将主动和被动检测组合起来并对有关通信网络的信息进行主动查询的系统和方法。
发明内容
本发明提供了一种用于收集有关通信网络的信息的方法,该方法包括以下步骤:
检测步骤,按对在通信网络中运行的多个节点透明的方式,对由所述多个节点传送的数据进行检测;
分析步骤,对检测到的数据进行分析,以识别有关通信网络的信息并识别缺失信息;以及
查询步骤,针对缺失信息,查询所述多个节点中的一个或更多个。
本发明还提供了一种用于收集与在通信网络中的多个节点上运行的操作系统有关的信息的方法,该方法包括以下步骤:
接收步骤,按对节点透明的方式,接收与由所述节点传送的DHCP消息相对应的数据;
检验步骤,针对已知操作系统的特性对所接收到的数据进行检验;以及
指示步骤,如果所接收到的数据与所述特性相符合,则指示所述已知操作系统在所述节点上操作。
本发明还提供了一种用于收集有关通信网络的信息的网络信息收集器(201、301),该系统包括:
网络检测器(203),用于按对在通信网络(101)中运行的多个节点(103、104、106)透明的方式,对由所述多个节点传送的数据进行检测;
分析器(202),用于对所检测到的数据进行分析,以识别有关通信网络的信息并识别缺失信息;以及
查询引擎(204),用于针对所述缺失信息查询所述多个节点中的一个或更多个节点。
本发明还提供了一种用于收集与在通信网络中的多个节点上运行的操作系统有关的信息的操作系统监测器(702),该操作系统监测器包括:
输入装置(1301),用于接收数据,该数据按对节点透明的方式与由所述节点传送的DHCP消息相对应;
DHCP检验器(1302),针对已知操作系统的特性对所接收到的数据进行检验;以及
数据标志器(1303),用于指示所述已知操作系统在所述节点上运行。
附图说明
为了理解本发明并领会在实际中可以如何实现本发明,下面将参照附图仅通过非限制性的示例对优选实施例进行描述,在附图中:
图1示意性地例示了示例性企业网络;
图2是例示根据本发明一个实施例的与企业网络相关联的网络信息收集器的框图;
图3是例示根据本发明一个实施例的与企业网络相关联的可管理网络信息收集器的框图;
图4A是详细地例示根据本发明一个实施例的网络检测器的操作的流程图;
图4B是详细地例示根据本发明一另选实施例的网络检测器的操作的流程图;
图5是根据本发明一个实施例的示例性检测列表;
图6是例示根据本发明一个实施例的网络检测器的框图;
图7是详细地例示根据本发明一个实施例的分析器的框图;
图8是例示根据本发明一不同实施例的分析器的框图;
图9是例示根据本发明一个实施例的节点检测的流程图;
图10例示了由不同操作系统交换的示例性DHCPDISCOVER消息;
图11是例示根据本发明一个实施例的基于检测到的DHCP消息进行OS发现的流程图;
图12例示了由不同操作系统交换的示例性SYN分组;
图13是例示根据本发明一个实施例的操作系统监测器的框图;
图14是例示根据本发明一个实施例的基于检测到的数据进行OS发现的流程图;
图15是例示根据本发明一个实施例的使用DHCP消息的操作系统监测器的框图;
图16是例示根据本发明一个实施例的NAT设备检测的流程图;
图17是例示根据本发明一个实施例的对缺失信息进行识别的流程图;
图18是例示根据本发明一个实施例的查询引擎的框图;
图19是总体上例示根据本发明一个实施例的查询引擎的操作的流程图;
图20是例示根据本发明一个实施例的节点探查的流程图;
图21是例示根据本发明一个实施例的协议和服务探查的流程图;
图22A例示了表征微软视窗2000操作系统的指纹的示例性列表;以及
图22B例示了表征微软视窗2003操作系统的指纹的示例性列表。
具体实施方式
在以下说明中,将由相同的标号表示对于一个以上的图共同的组成部分。
此外,在本说明书的“背景技术”中已提及了几个请求注解(RFC),所有这些请求注解都已被接受为标准。把这些RFC并入于此,以使以下描述变清晰。然而,应当指出的是,与对标准的任何已建议或已接受的修改相同,这些RFC不对以下公开的本发明形成任何限制。
此外,在通信中,通常使用诸如“分组”、“消息”、“数据报”等的术语来描述物理网络上的数据转移单位。例如,通常将TCP/IP单位称为分组,而将HTTP单位称为消息。在以下描述中,对所述术语的使用(即使互换这些术语)不会限制本发明,除非特别指出,否则描述数据单位的任何术语都是适用的,而不管公知的惯例如何。例如,应当将“HTTP分组”视为类似于“HTTP消息”,甚至类似于“HTTP请求”。
图2是例示根据本发明一个实施例的与企业网络101相关联的网络信息收集器201的框图。该网络信息收集器包括耦合到网络检测器203并耦合到查询引擎204的分析器202。该分析器202还耦合到存储装置205,例如,数据库,分析器202可以向其写入数据并且/或者从其读取数据。
需要指出的是,图2所例示的存储装置205直接与分析器202相连接,因此它被包括在网络信息收集器201中。另选地,应当理解,可以通过任何其他已知的方法来耦合存储装置。例如,存储装置可以是通过因特网耦合到分析器的联网数据库,或者可以是分析器202的一部分。在其他实施例中,存储装置205还可以耦合到网络检测器203和/或查询引擎204,而不耦合到分析器;或者存储装置205除耦合到分析器以外还可以耦合到网络检测器203和/或查询引擎204。由此,存储装置205可以位于网络信息收集器201的外部或位于距网络信息收集器201的远程处,因此可以认为存储装置205与它们相关联。此外,应当认识到,存储装置例如可以是盘、存储器器件(如RAM)、RAID(独立或廉价盘冗余阵列),或者可以用于存储数据的任何其他可用装置。
类似地,还可以按适用于所述情况的任何已知方式,如通过直接通信线路、通过因特网,或者甚至通过在单个机器中使用,来耦合分析器202、网络检测器203以及查询引擎204。它们也可以相互远离,因此分析器202、网络检测器203以及查询引擎204也被认为与网络信息收集器201相关联。
网络检测器和查询引擎可以访问企业网络101,使得网络信息收集器201可以收集与其相对应的信息。如前所述,参照图1,企业网络101可以由单个LAN组成,或者可以由任意数量个不同网络的复杂结构组成。另选地,企业网络101也可以是更大的网络的一部分。如以下将例示的,这对网络信息收集器201的操作没有影响。因此,若非特别指出,以下将可互换地使用术语“网络”、“通信网络”以及“企业网络”。
网络检测器203收获(或者换句话说检测)在通信网络(101)中运行的多个节点(如103、104、106)传送的数据。检测数据的一种方式是使用一个或更多个现在公知的探测器,如检漏器(sniffer)和/或允许对在通信网络中传送的数据进行检测的其他探测器。为了基本上对由网络中的节点传送的全部数据进行检测,有时需要使用一个以上的探测器。例如,如果企业网络由一个以上的LAN组成,其中每个LAN都通过连接在该企业网络的网关处的路由器来连接到该企业网络,那么有时需要对每个LAN连接一探测器。即,网络检测器203可以耦合到一个以上的探测器。另选地,可以存在一个以上的网络检测器203,各网络检测器203耦合到一个探测器,或者以上两种情况的组合(即,存在一个以上的网络检测器203,其中的一个或更多个耦合到一个探测器,而其他网络检测器203耦合到多个探测器)。在图2中,由标号206示意性地例示出这些探测器。
网络检测器203按对节点并对网络透明的方式进行操作。即,网络检测器不向通信网络中的节点传送数据;这些节点也不向网络检测器传送数据。因此,网络检测器在通信网络中被动地进行操作。
另一方面,查询引擎204通过对网络和/或网络中的节点进行探测来收集与网络和/或网络中的节点有关的信息。例如,查询引擎可以向该网络中的一个或更多个节点发送一个或更多个数据报。为收集与这些节点和网络有关的信息,可以使用所查询的节点对所发送的数据报的响应。因此,网络检测器在通信网络中主动地进行操作。
图3是例示根据本发明另一实施例的与企业网络相关联的可管理网络信息收集器301的框图。与图2类似,可管理网络信息收集器包括分析器202、网络检测器203、查询引擎204以及存储装置205。然而,系统301还包括探测器管理器302。探测器管理器302耦合到多个探测器206,以对它们的操作进行管理和监测。例如,如果一个探测器是停止了操作的检漏器,则探测器管理器302检测到该检漏器不可操作,并且可以使它重启。探测器管理器302还可以对在所述多个探测器上运行的软件版本进行更新,对这些探测器的操作进行控制,等等。在网络信息收集器301中例示的实施例中,探测器管理器302耦合到分析器202,其中,该分析器对探测器管理器的操作进行控制和监测。然而,这并不是必须的,例如,可以手动地控制探测器管理器。
应当理解,尽管未示出,但是查询引擎204还可以连接到网络101的不同的段和子网,使得可以收集与不同的段和子网有关的信息。
由于对网络来说是透明的,所以网络检测器203依靠网络的活动来检测由在其中操作的节点传送的数据。与查询引擎204不同,网络检测器203不必向网络中的节点发送分组来收集与这些节点有关的信息。网络检测器203对由节点传送的数据进行检测,作为节点的通信方案的一部分,就好像网络检测器203不存在。因此,它不会影响网络和节点的性能。
应当理解,在通信网络上传送的数据报包括与该通信网络有关的信息,如MAC(介质访问控制)地址的标识、IP地址、操作系统的指纹、择路的指示,以及与软件程序和计算进程有关的运行时信息(如对运行进程的标识和/或用户标识等)。还要指出的是,该连接中的运行进程可以是使用网络通信的进程(称为“网络进程”)或在节点上本机运行的进程(称为“本机进程”)。例如,存在允许在本机运行的应用上进行远程控制的公知工具,如“telnet”(通常将这种应用称为“远程控制器”)。因此,由这种远程控制器发送的数据报或由其接收的数据报可以包括与本地进程有关的信息。
除通过网络检测器对分组进行检测以外,分析器202可以对分组进行分析,以获取存储在其中的信息、与通信网络有关的信息。然而,应当理解,对每个检测到的分组进行分析,对分析器造成了沉重的负荷。如果知道网络信息收集器需要收集什么信息,就可以通过只对可能有关的那些分组进行分析来减轻分析器的负荷。即,可以只分析这样的检测到的分组,即,其包括作为需要信息的一部分或用作揭示与通信网络有关的信息的计算(如统计计算)的基础的信息。
例如,本发明的一个实施例可以只对SYN(同步)分组和应用相关数据进行分析,另一实施例可以对ARP(地址解析协议)分组和DHCP(域主机控制协议)消息进行分析,而又一实施例可以对SYN分组、DHCP分组以及诸如HTTP消息的应用相关数据进行分析。
无论如何,根据本发明,被检测分组构成了被检测数据,而按照以上描述,应当理解,被检测数据是需要进行分析的那些分组。例如,在不执行SYN分组分析的特定实施例中,可以跳过SYN分组。如果跳过SYN分组,则被检测数据不包括SYN分组。然而,这是非限制性的,可以存在其中被检测数据包括在网络上检测到的任何数据的实施例。
图4A是详细地例示根据本发明一个实施例的网络检测器203的操作的流程图。根据本实施例,“收集所有”标志表示网络检测器203是应当对在网络上传送的所有数据进行检测,还是只应当对需要进行分析的那些分组进行检测。如果(在4A01处)“收集所有”标志表示应当收集所有数据,则网络检测器对在网络传送的和可以访问的任何分组进行检测(4A02),并将该分组传送(4A03)给存储装置205。根据图4A的流程图,“收集所有”标志是二进制变量。当“收集所有”标志存储有值一(1)时,这表示应当对所有数据进行检测,而值零(0)表示只要收集需要的分组。然而,这是非限制性的,任何其他约定或表示方法都是适用的。
然而,如果在4A01处“收集所有”标志表示只有网络流量的一部分构成被检测数据时,则查询可检测分组类型的列表(将该列表称为“检测列表”),该检测列表表示网络检测器应检测什么数据分组。例如,如果要求网络检测器只检测DHCP分组和ARP分组,则检测列表应当包括DHCP和ARP。应当理解,例如,有时只要对DHCP分组的一部分进行检测(例如,只检测DHCPDISCOVER和DHCPREQUEST)。在此情况下,检测列表应当只包括所需要的那些分组。图5例示了表示要对任何ARP分组、DHCPDISCOVER分组、DHCPREQUEST分组以及TCP-SYN分组进行检测的检测列表501。根据图5和4A的实施例,按照正策略对检测列表501进行管理,即要检测检测列表中包括的分组类型。另选地,也可以使用负策略,其中要忽略检测列表中列出的分组类型。在该情况下,网络检测器应当对检测列表中未列出其类型的任何分组进行检测。
回到图4A的示例性流程图,在4A04处查询检测列表,其中,在本示例中该检测列表遵循正策略。在4A05处网络检测器203将探测器206配置成只检测检测列表中包括的那些需要的分组类型。在本领域中公知的是,例如,可以将检漏器配置成只检测特定分组类型而忽略其他分组类型。
在对探测器进行了配置之后,网络检测器开始检测数据(4A02),并且如前所述,将所检测到的数据传送(4A03)给存储装置。
应当理解,只要不使网络检测器的操作停止(例如,由用户选择来关闭系统),它就继续检测数据并将其传送给存储装置。
图4A的实施例是非限制性的,并且可以存在执行相同任务的不同实施例。图4B是详细地例示根据本发明一另选实施例的网络检测器的操作的流程图。如果“收集所有”标志表示(在4B01处)应当对在网络上传送的所有数据进行检测,那么和图4A中一样,网络检测器开始检测数据(4B02)并将所检测到的数据传送(4B03)给存储装置。然而,如果“收集所有”标志表示应当只对所传送的数据的一部分进行检测,则在4B04处网络检测器可以对分组进行检测,其中在4B05处将每个检测到的分组与检测列表进行比照。如果检测列表表示应当检测该分组的类型,则将该分组传送给存储装置(4B06)。
根据到目前为止例示的实施例(如图4A和4B的实施例),将检测到的数据传送给存储装置205,在存储装置205中存储这些数据。然后分析器202从存储装置205中获取数据以进行分析。然而这是非限制性的,不同的实施例可以通过将数据直接传送给分析器202以进行分析,而避免对数据进行存储。还有实施例可以将所检测到的数据存储在与存储装置205不同的存储装置上。
图6是例示本发明一个实施例的网络检测器203的框图。网络检测器203包括:至少一个探测器206,其捕获与网络连接流量有关的数据;滤选器601,用于从捕获的数据分离出包括与通信网络有关的信息的网络连接数据;以及输出装置602,用于传送网络连接数据中包括的信息。可以将该数据传送给存储装置。另选地,可以将该数据直接传送给分析器202以由它进行处理。
图7是详细地例示根据本发明一个实施例的分析器202的框图。根据本实施例,分析器包括几个操作模块,即,节点检测器701、操作系统(OS)监测器702、NAT检测器703、拓扑结构监测器704、网络统计模块705、审核模块706、告警生成器707,以及合法性检查点708。
然而,图7的分析器202是非限制性的,可以存在只包括所述多个模块(701到708)中的一部分、不同的模块和/或附加模块的另选分析器。这种另选模块的一个示例是用户监测器,其对登录到网络中的任何节点的用户实时地进行识别和监测。应当理解,分析器还可以包括一个或更多个应用监测模块,这将在下面进行描述。
分析器的一些模块每个都对通信网络的不同特征(包括通信网络中包括的节点的特征)中的一个或更多个特征进行计算。这种模块例如是:节点检测器701,其对网络中运行的节点进行识别;OS监测器702,其对在检测到的节点上操作的操作系统进行识别;NAT检测器703,其对NAT设备进行识别;拓扑结构监测器704,其对网络的拓扑结构进行检测和监测;以及审核模块706,其对会话(如TCP/IP会话的信息)进行检测并提供有关其的信息。
此外,分析器202可以包括向其他模块提供服务的模块,如特征确定模块。例如,网络统计模块705执行例如在识别NAT设备时使用的统计计算。合法性检查点708检查存储在存储装置上的数据或传送给分析器的数据是否为合法数据。不应当将被识别为非法的数据用于收集与通信网络有关的信息,但是,可以由告警生成器生成告警,表示检测到非法数据。可以存在向其他模块提供服务的另选模块和/或附加模块,如获取存储在存储装置中的历史数据的模块,其中统计模块使用该历史数据来在其中执行统计计算,并且其中根据在统计计算过程中确定的准则来获取数据。
告警生成器707是当在网络中出现了预定事件时向操作员提供告警的模块的示例。例如,具有对网络中的特定节点的受限访问权的特定用户,试图登录到该特定节点。
前面已提到,分析器还可以包括应用监测模块。不同的应用使用标准协议或专用协议进行通信。获知通信协议使得分析器(或者更具体来说是应用的相应监测器)可以对在通信过程中由应用传送的数据报进行分析。例如,前面已提到,在市场中存在远程控制器,如“telnet”。由于“telnet监测器”知道telnet用以在对等端(peer)之间进行通信的协议,所以其可以对telnet数据报进行分析并推断出由telnet操作员执行的控制操作。此外,对telnet数据报的理解使得可以收集与本机运行进程有关的信息并对远程对等端进行操作。
下面对图7所例示的分析器202的不同模块进行详细描述,应当理解,由在通信网络中运行的节点传送的合法数据通过至少一种可检测的方式对该节点进行标识。例如,基本上用于将IP地址映射到其相应的MAC(介质访问控制,层2)地址(反之亦然)的ARP分组和/或RARP分组至少包括发送节点(也被称为“源节点”)的MAC地址。此外,在许多情况下,该数据包括数据源和数据目的地的标识。例如,TCP/IP分组通常包括源IP地址和目的地IP地址的标识。由此,节点检测器702可以对每个检测到的数据报(其可以是分组或更高级的信息)进行分析、对它的域进行研究,以对可识别节点进行识别,并且如果网络信息收集器未识别出这些节点中的一个或更多个,则例如通过在数据库中创建针对该节点的记录而将这些节点添加到已识别节点列表。另选地,当节点检测器702识别出新检测到的节点时,其可以将它的标识传送给不同的模块,而不是将它插入节点列表。图9是例示根据本发明一个实施例的节点检测的流程图。
应当指出,存在不同类型的节点,如路由器、交换机、个人计算机、工作站等,每个类型的节点都具有其相应的特征组。
下面考虑拓扑结构监测器704,应当理解,在本领域中目前存在用于基于在网络上检测到的数据来确定该网络的拓扑结构的多个公知方法。例如,参见在本说明书的“背景技术”中引用的US 6,795,403。拓扑结构监测器704可以使用适于该情况的任何方法来确定网络的拓扑结构。
例如,根据一个实施例,拓扑结构监测器704可以对ARP分组和/或RARP分组进行检测和分析。本领域的技术人员应当理解,ARP分组和RARP分组表示诸如安装在网络中的节点上的网络接口卡(NIC)的制造商和类型的数据。根据本实施例,对该数据进行检测和分析,例如提供了与网络的拓扑结构有关的(例如,与节点的存在性和节点到网络的连接有关的)信息和与网络连通性有关的信息。由此,例如,可以识别出该网络包括几个LAN;或者可以识别出该网络的某个段由无线网络组成,另一段由铜线以太网组成,而还有一段由光通信组成。应当理解,通过对ARP分组进行检测,例如,拓扑结构监测器704可以构造出与在网络中使用的择路表对应的择路表,由此也可以检测到择路信息。
不同的标准(例如参见RFC 793或2131)为通信节点留下了一定的自由度。根据本发明,应当认识到,不同的操作系统往往使用作为通信操作系统的特征的不同参数和/或不同值。通过确定这些特征参数,可以对检测到的分组进行检验,以识别在通信节点上运行的通信操作系统。
OS监测器702例如对DHCP消息进行分析,以识别在从其发送了该DHCP消息的节点上运行的操作系统。下面对DHCP分析进行阐述,应当认识到,不同的操作系统例如可以在它们交换的DHCP消息中包括不同的DHCP选项。图10例示了由不同操作系统交换的并包括不同DHCP选项的示例性DHCPDISCOVER消息。在该图中包括两个不同操作系统的两个消息。消息1001是由微软视窗XP操作系统发送的DHCPDISCOVER消息,而消息1002是由微软视窗2000操作系统发送的DHCPDISCOVER消息。可以看到,视窗XP例如在其DHCPDISCOVER消息中包括选项116,而视窗2000包括选项251。此外,视窗XPDHCPDISCOVER消息中的“参数请求”选项包括10个参数,而在视窗2000中“参数请求”选项包括9个参数。知道了这一点,本领域的技术人员就将理解,例如可以使用DHCPDISCOVER消息,来识别在交换DHCP消息的节点上运行的操作系统。
然而,应当理解,该示例是非限制性的,也可以利用除在“参数请求”选项中包括的选项和参数数量以外的其他差异。此外,除DHCPDISCOVER消息以外,还可以使用其他DHCP消息。例如,除此之外,或者作为替代,可以使用BOOTP(引导协议)消息的xid/事务处理id。
图11是例示根据本发明一个实施例的基于检测到的DHCP消息进行OS发现的流程图。在1101处,OS监测器702接收到DHCP消息。应当理解,OS监测器可以通过任何适用的方式来接收DHCP消息。例如,其可以直接从网络检测器接收它,或者其可以从存储装置获取它。OS监测器702知道几种操作系统及其相应的DHCP特征。因此,当接收到DHCP消息时,OS监测器从它知道的那些OS中选择出一个OS(见1102),然后,在1103处,OS监测器对该DHCP消息进行检验,以查看其中是否出现了所选择的操作系统的特征。如果是(1104),则OS监测器将所选择的OS识别为在从其发送了该DHCP消息的节点上运行的OS。然而,如果在所接收到的消息中未出现特征参数,则OS监测器(从它知道的OS中)选择出一个不同的操作系统,并对该DHCP消息进行检验,以查看其中是否出现了该操作系统的特征参数。了解计算技术的人员应当理解,如果检查了OS监测器702所知道的所有操作系统,并且未找到匹配,则OS监测器不能根据所例示的方法对在发送节点上运行的操作系统进行识别。
然而,存在使得可以基于检测到的数据对操作系统进行识别的另选方法。例如,其中一种方法依靠对SYN分组进行分析;另一方法依靠对SYN请求及其相应的SYN-ACK响应进行分析,等等。
与DHCP标准类似,TCP标准(例如,参见RFC 793)也为通信节点留下了一定的自由度。例如,在该标准中未预先确定窗口大小。
图12例示了由带有内核2.4.18的Linux(1201)和由FreeBSD 5.0(1202)交换的示例性SYN分组。在该图所例示的示例中可以看到,对于Linux(内核2.4.18),窗口大小等于5840,而对于FreeBSD 5.0,其等于65535。应当理解,该差异是非限制性的,也可以实现其他差异。例如,使用的TCP选项也不同。此外,其他操作系统也可以例示不同的特征。然而,如果知道了操作系统的相应特征,就可以识别在发送了SYN请求消息的节点上运行的是该操作系统还是不同的操作系统。
图13是例示根据本发明一个实施例的操作系统监测器702的框图。OS监测器包括:输入装置1301,用于接收数据,该数据对应于由节点传送的DHCP消息;DHCP检验器1302,用于针对已知操作系统的特征对所接收到的数据进行检验;以及数据标志器1303,用于表示已知操作系统在该节点上运行。应当理解,可以通过在数据库中对节点的相应记录作标志,通过向查询引擎内部或外部的其他模块传送表示性数据,或者通过任何其他适用的方式,来进行这种表示。
由此,在知道如何基于检测到的DHCP消息和SYN请求来发现操作系统之后,可以认识到,一般来讲,根据本发明的一个实施例,如图14的流程图所例示的,可以基于检测到的数据发现操作系统。图15是例示根据本发明一个实施例的操作系统监测器702的框图。图15的OS监测器702根据图14所例示的方法进行操作。其包括:输入装置1501,用于接收与由节点传送的数据对应的数据;数据检验器1502,用于针对已知操作系统的特征对接收到的数据进行检验;以及数据标志器1503,其表示该已知操作系统在该节点上运行。应当理解,可以通过在数据库中对节点的相应记录作标志,通过向查询引擎内部或外部的其他模块传送表示性数据,或者通过任何其他适用的方式,进行这种表示。
由此,当识别出在相应节点上运行的操作系统时,可以将操作系统的标识插入到在数据库中的相应节点的记录。
在知道OS监测器702的另选实施例之后,应当理解,除了对在相应节点上运行的操作系统的标识进行识别以外,还可以确定与由操作系统执行的操作(如启动节点)有关的其他细节。例如,可以基于由节点传送的DHCP消息执行这种确定。
当使用DHCP的节点启动时,它向DHCP服务器发送DHCPDISCOVER或DHCPREQUEST消息。作为IP协议,由IP分组来携带DHCP消息。由此,除DHCP参数以外,还可以检查IP分组的报头域,如IP标识。当使用DHCP的节点启动时,由这种节点发送的初始DHCP分组的IP标识域应当为零。由此,由刚启动的节点发送的DHCPDISCOVER或DHCPREQUEST消息应当由其IP标识域为零的IP分组来携带。即,当对其IP标识域为零的DHCP分组进行分析时,OS监测器可以推断发送了该消息的节点最近刚启动。为了确定该节点是第一次启动还是重启,可以检查该节点的历史活动。可以认为在启动时刻之前的某个预定时间间隔中没有显示活动的节点是第一次启动的。然而,如果该节点在所述预定时间间隔中确实执行了活动,则将该启动活动视为重启。
此外,应当理解,有时节点例如按照操作员的重启指令进行重启。然而,某个节点的操作恰好不期望地停止了,而自动地或手动地执行重启以使该节点回到操作。应当理解,在这种无意地停止(例如,崩溃或停机)的情况下,不恰当地关闭了在该事件之前打开的通信会话,这与当顺序地关闭节点时发生的情况不一样。因此,与被停止的节点进行通信的其他节点会试图与它通信一会儿,即使该节点不对它们的通信作出响应(将这种会话称为“挂起会话”)。由此,除了检测重启的发生以外,分析器还将检测挂起会话:审核模块将继续对其一个参与方(被停止的节点)正在重启的会话进行审核,并且/或者将检测操作方的发送未接收到其确认的分组的重试。无论如何,对挂起会话的检测连同对节点重启的检测表示该节点在其操作的不期望的停止之后进行重启。
应当理解,每个操作系统都具有由该操作系统(或在其上运行的其他程序)向网络传送的数据所反映的相应特征。因此,当对节点的相应操作系统进行识别时,期望由该节点向网络传送的数据将与操作系统的特征相符合。连同与节点有关的已知附加数据,每个节点都可以具有特征数据的相应记录,将该记录称为相应节点的特征简档(profile)。节点的特征简档例如可以包括:该节点的IP标识(操作系统可以随机地选择其域值,或者可以使该IP标识域值逐分组地增加1);IP生存时间IP不分段(DF)位值;TCP标志TCP选项(位和次序);TCP初始窗口大小;和/或发起连接时使用的端口。由节点传送的数据和由网络检测器检测到的数据应当与节点的相应特征简档相符合。
返回到图7,根据图16的流程图进一步对根据本发明一个实施例的NAT检测器703的操作进行描述。应当指出,在1601处,NAT检测器703可以接收由网络检测器直接传送的分组,可以接收由分析器202中的其他模块传送给它的分组,或者可以接收存储在存储装置上的分组。在1602处,NAT检测器对分组的源节点进行识别。例如,可以由NAT检测器本身(通过对分组的多个域进行研究)或者借助节点检测器701的帮助来执行源节点识别。
如前所述,由节点传送的数据应当与该节点的特征简档相符合。因此,在1603处,NAT检测器对源节点是否具有相应的特征简档进行检查。如果未找到这种简档(例如,如果尚未识别出该节点的操作系统,则会出现这种情况),则NAT检测器结束对分组的分析,而不能确定其源节点是否为NAT设备。然而,如果可以确定源节点的特征简档,则在1604处,NAT检测器将该分组与该特征简档进行比较。如果在1605处NAT检测器发现该分组与特征简档不相符,则认为其源节点是NAT设备(见1606)。
还应当理解的是,当在NAT设备背后运行的源节点(即,集群中的源节点)向不是该集群的一部分的目的地节点发送数据报时,该NAT设备接收该数据报并对其进行转换。即,NAT设备对由其携带的某些数据进行替换,以表示它自己的特征而不是源节点的特征。例如:数据报的源IP地址和MAC地址将是NAT设备的源IP地址和MAC地址而不是源节点的。类似地,当集群外部的源节点向集群中的目的地节点发送数据报时,它实际上向NAT设备发送数据报,该NAT设备对该数据报进行转换(NAT设备插入其自己的地址作为数据报的源标识域,并将该集群目的地节点的地址插入数据报的目的地标识域中),并将其转发给集群目的地节点。然而,在大多数情况下由NAT设备执行的转换是不彻底的,而留下了针对发送数据报的原始操作系统的证据。NAT检测器可以将这些“遗留”证据用于收集与集群有关的信息。例如,NAT检测器可以对在该NAT设备背后的集群中存在多少个类型的操作系统进行计数。
应当理解,如上所述,在NAT控制器703中执行对关于集群的信息的收集。然而,这是非限制性的,其他模块也可以执行这种收集。例如,OS监测器702也可以执行这种收集。
至此,已对节点检测器701、OS监测器702、NAT检测器703以及拓扑结构监测器704进行了描述。然而,图7的分析器202的实施例还包括审核模块706。审核模块706例如可以利用SYN/FIN分组分析来检测TCP/IP会话。SYN分组和/或SYN-ACK分组表示在两个节点之间开启的新连接,而FIN分组表示开启的连接的终止。因此,通过对SYN分组和/或FIN分组进行检测和分析,可以收集与目前在网络上开启的TCP连接有关的信息。
根据本发明的一个实施例,当审核模块706检测到在多个节点之间开启了会话时,其使用会话开启时间对节点在数据库中的相应记录进行标记。当审核模块706检测到会话终止了时,其使用会话结束时间对节点的相应记录进行标记。
这是非限制性的,并且审核模块706可以执行附加的监测任务。例如,当在多个节点之间检测到UDP分组时,审核模块可以在该节点的相应记录中标记它们参与了无连接通信。
因此,应当理解,通过对存储在节点的相应记录中的数据或与节点的相应记录相关联的数据进行查询,以后可以评估详情,如在网络上第一次检测到该节点的时间,该节点第一次参与通信会话的时间,该节点参与通信会话的频度如何,等等。
网络统计模块705对接收到的数据进行分析,以记录存储在其中的所需信息。例如,网络统计模块可以收集以下信息,如分组和/或消息类型(如ARP、TCP、UDP、ICMP、DHCP、SNMP、HTTP等)、消息功能(例如,在DHCP中该功能可以是DHCPDISCOVER、DHCPREQUEST等)、分组的源地址并且可能地还有分组的目的地地址(包括诸如端口和/或IP地址的信息),以及分组的大小。可以将收集到的信息记录在数据库中。此外,统计模块将所收集到的信息用于计算网络使用信息(如识别网络中的最大带宽消费者,什么协议在特定链路上消费了多少带宽,等等)。
应当理解,类似于其他模块,统计模块也可以通过任何适用的方式来接收数据。例如,它可以直接从网络检测器接收数据,或者可以从存储装置获取数据。
在知道网络统计模块705在数据库中记录与检测到的数据有关的信息之后,应当理解,例如,上述审核模块706可以接收存储在数据库中的数据,而不是直接接收由网络检测器直接传送的分组。然后,审核模块可以对所接收到的数据进行分析,而不管这是如何接收到的。然而,这是非限制性的,对于在分析器202上运行的任何其他模块或可以访问由分析器202存储的数据的任何其他模块来说,这都是正确的。
最后,在描述查询引擎之前,对告警生成器707进行描述。告警生成器对在网络101中或在网络信息收集器201中发生的几种事件进行响应,并生成表示所发生的事件的告警。例如,告警生成器707可以具有一系列预定事件,如登录到特定节点的特定用户,试图开启与不同的特定节点之间的通信会话的特定节点,试图在预定时段内开启多于预定数量个会话的任何节点,在网络上检测到的特定节点类型,等等。
告警生成器707可以对由网络检测器203或由分析器202中的其他模块直接传送给它的数据进行分析,或者可以接收存储在数据库中的数据,如由网络统计模块705或由审核模块706先前存储的数据。应当指出,告警生成器707可以从另选源接收数据,如从远程源传送给它的数据,或存储在告警生成器707可访问的任何存储介质上的数据。
根据到目前为止给出的描述,分析器(即,包括在其中运行的模块的分析器)对检测到的数据(如检测到的分组和消息)进行分析。然而,分析器也可以对其他数据进行分析,以对与通信网络有关的信息进行检测并对缺失信息进行识别。例如,当一新节点连接到网络时,允许向信息收集器的数据库手动地提供信息,如与IP栈(例如,IP地址)有关的信息、与硬件有关的信息、择路信息等。在此情况下,手动提供的信息构成了其他数据。
图8是例示根据本发明一不同实施例的分析器的框图。图8的分析器包括用于接收如上所述的其他数据的输入装置801。该分析器的其他模块与图7中的类似。
前面已参照图7提到,多个不同的模块可以运行在分析器202上。然而,有时存在不能按对节点透明的方式从由节点传送的数据中检测出的缺失信息。例如,将节点的MAC地址映射到交换机端口地址。然而,这是非限制性的,存在产生缺失信息的其他原因。有时信息因尚未被检测到而是缺失的,通过进一步等待,分析器可能会检测到它并对它进行分析。例如,节点检测器601检测到在网络上存在某个节点,但是由于尚未检测到DHCP分组或SYN分组,所以OS监测器没有检测出正在该节点上运行的是什么操作系统。还有一种可能性是,存在在很长时间段之前检测到的信息。由于不确定该信息是否仍然有效,所以分析器可以将其视为缺失信息。
当分析器202识别到缺失信息时,其可以指示查询引擎204针对该缺失信息而查询网络中的一个或更多个节点。以下对由查询引擎204执行的操作进行详细描述。
为了指示查询引擎针对缺失信息进行查询,分析器202可以对可提供给信息收集器201的数据(如存储在数据库中的数据)进行检验。当发现了不完整记录时,分析器可以指示查询引擎针对其中缺失的信息进行查询。根据一不同实施例,只有当经过了预定时间间隔时(在此过程中可能检测到了该信息)才将不完整记录中缺失的信息识别为缺失信息。例如,如果检测到一节点,则在预定时间间隔内应当检测到在其上运行的相应操作系统。如果分析器检测到在该节点的相应记录中缺失了操作系统信息,但是尚未经过预定时间间隔,则分析器不将该操作系统信息识别为缺失信息。
应当认识到,对于不同类型和类别的缺失信息,可以存在不同的预定时间间隔。例如,操作系统检测可以具有一个预定时间间隔(称为“OS检测时间间隔”),而期望在不同的时间间隔(称为“会话检测时间间隔”)中识别出TCP会话相关数据。与OS检测时间间隔相比,会话检测时间间隔在持续时间上可以更短或更长,或者它们可以相等。此外,代替使用预定时间间隔,有时使用可配置时间间隔,如在后述示例中的TCP会话的持续时间。对于不能从检测到的数据中收集到的信息,可以使用基本上等于零的预定时间间隔,或者根本没有预定时间间隔。
图17是例示根据本发明一个实施例的对缺失信息进行识别的流程图。在1701处,分析器对可提供给信息收集器的数据进行检验,如对数据库中的记录进行检验。如果在1702处分析器找到了不完整记录,则在1703处其确定缺失数据时标和缺失数据的相应预定时间间隔(在1704处)。
应当理解,为了让分析器能够确定是否已经过预定时间间隔,需要时标来表示从其开始测量该预定时间间隔的时间。时标的示例是第一次检测到节点的时间、开启TCP会话的时间、节点启动的时间等。
如果在1705处分析器(例如通过对当前时间减去时标是否大于预定时间间隔进行检查)确定已经过预定时间间隔,则其将所述数据识别为缺失数据(见1706)。
根据本发明的一个实施例,分析器可以将数据标记为缺失数据。另选地,它可以将该数据列于缺失数据表或列表中。然后查询激活器处理可以对该列表进行检索,并激活查询引擎以针对缺失数据进行查询。然而,这是非限制性的,并且也可以使用其他实施例。例如,根据一不同实施例,当分析器识别出缺失数据时(在1706处),其可以指示查询引擎针对该缺失数据进行查询。
应当指出,图17的实施例是非限制性的,也可以使用用于识别缺失数据并且/或者用于指示查询引擎针对缺失数据进行查询的不同实施例和策略,例如,可能的话也可以使用事件驱动策略。例如,在检测到特定节点在短持续时间内开启了许多TCP会话的事件中,分析器怀疑这是恶意活动。为了确定这是否确实是这种情况,需要关于该节点的其他信息、其相应的操作系统以及其历史活动。然而,根据本示例,分析器发现尚未检测到操作系统。在此情况下,即使尚未经过预定时间间隔,分析器也可以指示查询引擎对操作系统信息进行查询。
下面转向对查询引擎204进行描述,图18是例示根据本发明一个实施例的查询引擎204的框图。该查询引擎包括几个模块,如节点探查器1801、操作系统(OS)查询模块1802、协议和服务探查器1803、拓扑结构追踪器1804、应用监测器1805、审核测试器1806、告警生成器1807,以及响应合法性监测器1808。本实施例是示例性的而非限制性的,可以使用另选实施例。例如,查询引擎可以只包括模块1801到1807中的几个模块,可以包括不同的或附加的多个模块,或者包括它们的组合。附加模块的一个示例是配置控制和适应性模块,其用于验证对节点的配置和安装是遵照还是违背了在机构中采用的实施。
此外,查询引擎还可以包括:查询消息生成器1809,其生成用于发送给待查询节点的查询消息;和输出装置1810,用于将该查询消息传送(或发送)给待查询的节点。查询引擎还可以包括:输入装置1811,用于接收对应于查询消息的至少一个响应;和响应处理器1812,用于对所述至少一个响应进行处理以获取与缺失信息相对应的信息。
查询引擎204中包括的一些模块每个都针对缺失信息对在通信网络101中运行的一个或更多个节点进行查询。几个模块对与通信网络的和/或其中包括的节点的不同特征有关的信息进行查询。这种模块例如是节点探查器1801、OS查询模块1802、拓扑结构追踪器1804以及审核测试器1806。节点探查器1801发送数据,以针对在网络中运行的节点和/或与这些节点有关的信息进行查询。OS查询模块1802针对与在检测到的节点上运行的操作系统有关的信息进行查询。拓扑结构追踪器1804针对与网络的拓扑结构有关的信息进行查询。审核测试器1806针对会话信息(如与TCP/IP会话有关的信息)进行查询,由此使得可以识别当前在一个或更多个节点上运行的网络服务。
应当指出,到目前为止描述的查询引擎中的模块是对在分析器上运行的模块的补充,例如,它们针对不能或尚未由分析器检测到的信息进行查询。应当理解,查询引擎可以包括并非是对分析器模块的补充的附加模块。这种模块可以在分析器中具有或不具有等同物。
告警生成器1807是查询引擎模块的一个示例,当在网络中和/或在查询引擎中发生了预定事件时,其向操作员提供告警。例如,OS监测器1802不能检测到在相应节点上运行的操作系统;某个节点似乎在防火墙的背后,等等。应当理解,告警生成器1807等同于分析器的告警生成器707,而不是对后者的补充。
在给出对查询引擎中包括的模块的详细描述和它们的操作方法的建议实施例之前,应当认识到,通过针对信息进行查询,或者换句话说,通过使用测量流量,可以理解并研究与通信网络有关的信息,如现有技术中已知的那样(例如,参见在本发明的“背景技术”中提到的文章“Combining active and passive network measurements to build scalablemonitoring systems on the grid”和“The Present and Future of Xprobe2,TheNext Generation of Active Operating System Fingerprinting”)。测量流量包括特殊构造的分组,即,其多个域包括被指定用于查询的目的的特定值的分组。根据需要的被查询信息,例如,根据从分析器202接收的指令,来确定分组的类型和内容。
例如,如上所述,为了将MAC地址映射到交换机端口地址,查询引擎可以例如通过使用合适的SNMP呼叫,来提取或重构交换机的CAM(内容可寻址存储器)表。
图19是总体上例示根据本发明一个实施例的查询引擎的操作的流程图。根据本实施例,查询引擎构造或生成查询消息。该查询消息对应于所需要的信息,即,缺失信息。在后一示例中该消息是SNMP消息。然后查询引擎将所生成的消息发送给待查询的一个或更多个节点。
应当理解,接收到查询消息的节点可以生成并发送对应的响应消息。在此情况下,由网络检测器203来检测该响应消息,并由分析器202来对其进行分析。另选地,由于是查询引擎发送查询消息,所以最有可能的是向查询引擎发送响应消息。因此,如果适用的话,还可以在查询引擎中对响应进行处理或分析,以获取与缺失信息相对应的信息。
还应当理解,即使在分析器202检测到并处理响应的情况下,查询引擎仍然可以接收该响应,并完全地或部分地对其进行处理,以获取信息。例如,响应合法性监测器1808可以检查响应,以确信该响应是真实的响应而不是人为杜撰的响应。人为杜撰的响应例如表示节点的多个内核参数中的某些被蓄意改变了。
例如,如果查询消息是SYN请求,则该响应可以是以下中的一个:SYN-ACK,RST,或者没有响应。然而,如果响应合法性监测器1808发现该响应是SYN-FIN消息,那么这表示该消息是人为杜撰的。
图20是例示根据节点探查器1801的一个实施例的节点探查的流程图。节点探查器接收在网络上运行的一地址范围(如IP子网)。应当理解,子网包括受限已知数量个可能的IP地址,分析器已检测到其中一些IP地址,即,已将其中一些IP地址映射到在网络上运行的多个节点。因此,对于所述范围中的每个地址,如果尚未将该地址映射到一节点,则节点探查器对该地址进行探查,以查看是否存在带有该地址的节点。
存在几种方式用来探查地址。如果地址是(例如IP子网中的)IP地址,则节点探查器可以生成ARP请求并将其发送给所探查的地址。如果存在带有该地址的节点,则该节点将通过发送标识相应的MAC地址的回复,来对该ARP请求作出响应。应当理解,可以由网络检测器203对ARP请求进行检测,并由分析器202对其进行分析。另选地,由于查询引擎发送了ARP请求,所以它也将接收回复。因此,如果适用的话,也可以在查询引擎中对回复进行分析,并由其将IP地址映射到MAC地址。然而,没有接收到回复表示该地址未映射到网络上的节点,或者该节点可能当前不在运行,或者它在防火墙背后。
根据一不同实施例,节点探查器可以通过构造ICMP回应请求并将其发送给一地址来对该地址进行探查。同样,没有接收到回复表示该地址未映射到网络上的节点,或者该节点可能当前不在运行,或者它在防火墙背后。
如本领域的技术人员可以理解的,存在其他探查可能性。一些是向地址上的某个端口发送TCP-SYN请求、向地址上的某个端口发送人为构造的TCP-ACK响应或向地址上的关闭端口发送UDP数据报。如本领域的技术人员公知的,例如,可以根据因特网号码分配机构(IANA)的已用端口列表来选择关闭端口。在所有这些示例中,没有接收到响应表示该地址未映射到网络上的节点,或者该节点可能当前不在运行,或者它在防火墙背后。
活动审核测试器1806对特定的一个或更多个节点上的特定端口是开启的还是关闭的(即,当前正在使用该端口还是不在对该端口进行侦听)进行测试。本领域的技术人员将理解,SYN-ACK响应表示该端口当前是开启的,而RST表示它是关闭的。
活动审核测试器1806还对接收到的数据进行监测,以找到对变化的指示。例如,交换机的MAC表中的变化可以表示一个或更多个MAC地址已移动到该交换机上的其他端口。告警生成器1807将生成告警,根据该告警,网络操作员可以对该交换机进行检查,以确信它没有被破坏。
应用监测器1805对分析器所检测到的运行进程的活动进行监测。应用监测器可以监测到该进程是活动的,也可以监测到它们的响应时间。应当理解,长响应时间可能表示该节点承受了负荷,并且响应时间的波动可能表示影响该节点的变化的负荷。
为了对应用进行监测,应用监测器1805使用该应用的协议向该应用发送数据报和请求。例如,为了对web服务器的活动进行监测,应用监测器1805可以使用TCP握手序列开启一连接,接着对根页面进行HTTPGET请求。对响应时间的监测(如果确实接收到响应的话)提供了对该web服务器的状况的指示。
拓扑结构追踪器1804根据分析器收集到的信息确定缺失的网络的拓扑结构。如上所述,将缺失拓扑结构信息视为缺失数据。这样,拓扑结构追踪器1804例如通过使用SNMP或交换机的API(甚至可能是拓扑结构追踪器1804被设计成通过其进行操作和通信的专用API),来提取或重构交换机的CAM表。拓扑结构追踪器1804还提取路由器的择路表。使用SNMP和路由器的API也可以执行这种提取。应当理解,通过发送ARP消息并对其响应进行处理,拓扑结构追踪器1804可以尝试重构择路表。由于熟悉择路表,所以拓扑结构追踪器1804可以获知子网和用于路程段(hop)的其他路由器以及针对这些子网的择路数据。
这是非限制性的,拓扑结构追踪器1804可以具有其他任务和责任。例如,使用SNMP和API,拓扑结构追踪器1804可以获知路由器的接口,如它们相应的MAC地址、IP地址以及掩码。子网掩码例如可以提供关于连接到该路由器的其他子网的信息。
协议和服务探查器1803例如根据图21的流程图尝试对在端口上运行的服务和协议进行识别。在开启到端口的TCP连接之后,协议和服务探查器1803尝试与在其上运行的服务进行通信。首先,协议和服务探查器1803可以尝试按端口号码的IANA列表中列出的协议进行通信(参见http://www.iana.org/assignments/port-numbers),如果其中确实列出了该端口的话。如果没有接收到响应,或者如果在IANA列表中未列出该端口,则协议和服务探查器1803可以尝试使用被预配置使用的公共协议。例如,HTTP、telnet,甚至专用协议。
除了尝试开启TCP端口以外,或者与尝试开启TCP端口并行地,协议和服务探查器1803可以尝试开启UDP端口,并执行与前面针对TCP描述的操作类似的操作,但是此时使用UDP数据报执行该操作。应当理解,当尝试开启关闭的UDP端口时,协议和服务探查器1803将接收到ICMP端口不可达错误消息。如果成功地开启了该端口,则协议和服务探查器1803可以尝试使用IANA端口列表和/或应用的可配置列表对在该端口上运行的应用的标识进行探查。
应当理解,结合图21的以上描述是非限制性的,并且除TCP和UDP以外,协议和服务探查器1803还可以测试其他协议,如ICMP、IGMP(因特网组管理协议)等。例如,协议和服务探查器1803可以检查协议的IANA列表(参见 http://www.iana.org/assignments/protocol-numbers),以找出所谓的标准协议或公知协议。同样,也可以使用协议的再配置列表(也包括专用协议),以尝试与节点进行通信。
OS查询模块1802利用操作系统指纹测试来确定在节点上运行的操作系统。应当理解,所执行的测试受到由分析器202确定的缺失数据的字符的影响。
例如,分析器已接收到由在网络上运行的节点发送的SYN请求并对其进行了分析。该SYN请求参数如下:
tcp_syn_window_size=16384
tcp_syn_IP_ID=!0
tcp_syn_DF=1
tcp_syn_TTL=128
tcp_syn_options_order=”mss(1460)NOP NOP sackok”
tcp_syn_size=48
由于这些参数既表征微软的视窗2000又表征微软的视窗2003,所以分析器不能确定这两个中的哪一个是正在该节点上运行的操作系统,即,在此情况下操作系统是缺失数据。然而,在此情况下,将选项缩减为所述两个操作系统中的一个。因此,例如,很清楚该操作系统不是Linux。
OS查询模块1802将通过执行操作系统指纹测试来尝试区分所述两个操作系统。应当理解,存在许多操作系统指纹测试,如发送ICMP回应请求的测试,发送SYN请求的测试,尝试向UDP端口发送数据的测试,等等。根据本发明的一个实施例,一专用子模块执行其相应的各类型的测试。在本示例中,将子模块称为子模块A、子模块B、子模块C等。
为了避免执行OS查询模块1802可获取的所有操作系统指纹测试,OS查询模块1802具有可访问到的列表组,其中,该组中的每个列表都包括响应于由一个子模块执行的测试而从一个操作系统接收到的指纹。图22A例示了表征微软视窗2000操作系统的指纹的示例性列表,而图22B例示了表征微软视窗2000操作系统的指纹的示例性列表。这是非限制性的,可以存在其他操作系统的其他指纹列表。此外,图22A和22B的列表包括从由6个不同的子模块(即,A、B、C、D、E以及F)表示的6个不同的测试接收到的指纹。应当理解,该数量(6个)也是非限制性的,并且OS查询模块1802可以通过任意数量个子模块执行任意数量个测试,包括在本示例中未例示的其他测试,替换本示例中的那些测试的不同测试,甚至可以执行更少的测试。
对由子模块A接收的结果(即,通过向视窗2000操作系统与视窗2003操作系统发送ICMP回应请求而接收到的指纹)进行对比,说明了其指纹是相同的,即,它们不能分辨在相应的节点上运行的是所述两个操作系统中的哪一个。类似地,通过子模块B、C、D以及F的测试而接收到的指纹也是不可分辨的。然而,对通过子模块E的测试而接收到的结果进行的比较,揭示了视窗2000的指纹与视窗2003的指纹之间的差异。子模块E向节点上的关闭节点发送人为杜撰的UDP数据报,其中,在视窗2000中所述响应(ICMP UDP端口不可达错误消息)包括“icmp_unreach_echoed_dtsize=8”,而在视窗2003中它包括“icmp_unreach_echoed_dtsize=>64”。
知道这一点以后,应当理解,OS查询模块1802可以避免执行子模块A、B、C、D以及F的测试,而子模块E的测试应当可以分辨所述两个操作系统。
在后一示例中,只存在一个可以揭示在视窗2000的指纹与视窗2003的指纹之间的差异的测试(即,子模块E的测试)。然而,这里恰好存在一个以上这种测试。在此情况下,可以在这些测试中进行随机选择。然而,有时需要在两个以上操作系统之间进行分辨,这使查询处理变复杂了。在这种示例中,有时需要执行一个以上测试。选择执行什么测试和按什么顺序执行测试可能变成重要的任务。
根据本发明一实施例,可以将由OS查询模块1802执行的操作系统指纹测试与不同的权重关联起来,这些权重表示各测试的重要性。对于参与操作系统指纹处理的每个操作系统指纹测试(即,对于每个子模块)都分配了权重。对于每个测试中的每个参数也分配了权重。执行统计分析,以对每个测试和每个测试参数值应当具有的重要性进行识别,使得可以对它们执行权重分配。
可以使用的一个统计算法是本领域的技术人员公知的支持向量机算法。另一个是矩阵型指纹匹配统计算法。后一算法基于对如下所述的每个执行测试的分数进行统计计算,该计算是OCR识别的简化形式。
如果存在i个可能的操作系统(OS1、OS2、……、OSi),当初始化时,被实现为独立的子模块的每个指纹测试针对每个操作系统(OS→(OS1、OS2、……、OSi))建立它自己的可能的“测试匹配”的向量。一旦执行了指纹测试,程序就对作为指纹测试的结果而接收到的分组进行检查,并将合适的‘分数’置于合适的操作系统行。例如,“分数”值可以具有以下多个值中的一个:
●是(3)
●可能是(2)
●可能不是(1)
●不是(0)
一旦完成了所有测试,针对所有列执行遍历,在此过程中计算出各操作系统的概要。将分数最高的OS{x}(X、Y、Z或D)断言为最终结果。
这例示于下表1中:
  OS1   OS2   OS3   OSi
  Test1   分数   分数   分数   分数
  Test2   分数   分数   分数   分数
  Test3   分数   分数   分数   分数
  …   分数
  Testn   分数   分数   分数   分数
  总和   X   Y   Z   D
                          表1
最后,应当理解,可以将上述方法和系统用于提供安全性控制和网络管理能力。例如,前面已提到,通过提取交换机CAM表可以检测到对交换机的破坏。还曾提到,响应合法性监测器1808可以检查响应,以对该响应是真实的响应而不是人为杜撰的响应进行验证。应当理解,例如,通过对进入网络的实际入侵进行检测并通过区分有效入侵与虚假入侵,安全性控制提供了对网络的至少一个弱点的管理。
此外,已提到,应用监测器1805对运行活动(包括它们的响应时间,其表示影响节点的负荷)进行监测。应当理解,沉重的负荷可能表示存在安全性问题,然而它也可能表示需要对网络或其中的节点进行升级。

Claims (46)

1、一种用于收集有关通信网络的信息的方法,该方法包括以下步骤:
检测步骤,按对在通信网络中运行的多个节点透明的方式,对由所述多个节点传送的数据进行检测;
分析步骤,对检测到的数据进行分析,以识别有关通信网络的信息并识别缺失信息;以及
查询步骤,针对所述缺失信息,查询所述多个节点中的一个或更多个节点。
2、根据权利要求1所述的方法,其中,所述信息不包括有关网络性能的信息。
3、根据权利要求1或2所述的方法,其中:
接收到有关通信网络的其他数据;并且
所述分析步骤还对所述其他数据进行分析,以识别所述缺失信息。
4、根据权利要求1或2所述的方法,其中,所述信息包括与所述多个节点中的至少一些节点有关的节点信息。
5、根据权利要求4所述的方法,其中,所述节点信息包括有关相应操作系统的操作系统信息。
6、根据权利要求5所述的方法,其中,所述检测步骤包括以下步骤:从包括动态主机配置协议消息和同步控制标志分组的组中检测至少一个类型的消息。
7、根据权利要求5或6所述的方法,其中,所述分析步骤包括以下步骤:
接收与由节点传送的数据相对应的数据;
针对已知操作系统的特征,对所接收到的数据进行检验;以及
如果所述数据与所述特征相符合,则表示所述已知操作系统运行在所述节点上。
8、根据权利要求4或5所述的方法,其中,所述节点信息包括有关运行进程的运行时信息。
9、根据权利要求8所述的方法,其中,所述有关运行进程的信息包括与在通信网络中的多个节点上运行的网络运行进程有关的信息。
10、根据权利要求8所述的方法,其中,所述有关运行进程的信息包括与在通信网络中的多个节点上运行的本机运行进程有关的信息。
11、根据权利要求4、5或8中的任何一项所述的方法,其中,所述节点信息包括有关与相应节点相关联的硬件组件的硬件信息。
12、根据任一前述权利要求所述的方法,其中,所述信息包括与通信网络的物理拓扑结构有关的拓扑结构信息。
13、根据任一前述权利要求所述的方法,其中,所述检测步骤包括以下步骤:
捕获有关网络连接流量的数据;
从所捕获的数据分离出包括关于通信网络的信息在内的网络连接数据;以及
传送该网络连接数据中包括的信息。
14、根据任一前述权利要求所述的方法,其中,所述查询步骤包括以下步骤:
生成步骤,生成与所述缺失信息相对应的用于发送给待查询的多个节点的查询消息;
发送步骤,将所述查询消息发送给所述待查询的多个节点。
15、根据权利要求14所述的方法,其中,所述查询步骤还包括以下步骤:
接收与所述查询消息相对应的至少一个响应;和
对所述至少一个响应进行处理,以获取与所述缺失信息相对应的信息。
16、根据权利要求14或15所述的方法,其中,所述查询消息是地址解析协议请求。
17、根据权利要求14或15所述的方法,其中,所述查询消息是网际控制消息协议回应请求。
18、根据权利要求14或15所述的方法,其中,所述查询消息是传输控制协议同步控制标志请求。
19、根据权利要求14所述的方法,其中,根据测试策略执行所述生成步骤。
20、根据权利要求19所述的方法,其中,从一组可用测试策略中选择所述测试策略。
21、根据权利要求20所述的方法,其中,根据统计计算选择所述测试策略。
22、根据权利要求14所述的方法,其中,所述缺失信息涉及在相应节点上运行的至少一个运行进程。
23、根据权利要求14所述的方法,使用时用于管理所述至少一个运行进程。
24、根据权利要求14所述的方法,其中,所述由多个节点传送的数据包括对应于所述查询消息的至少一个响应。
25、根据任一前述权利要求所述的方法,使用时用于提供安全性控制。
26、根据任一前述权利要求所述的方法,使用时用于提供管理能力。
27、一种用于收集与在通信网络中的多个节点上运行的操作系统有关的信息的方法,该方法包括以下步骤:
接收步骤,按对节点透明的方式,接收与由所述节点传送的动态主机配置协议消息相对应的数据;
检验步骤,针对已知操作系统的特征对所接收的数据进行检验;以及
表示步骤,如果所接收到的数据与所述特征相符合,则表示所述已知操作系统运行在所述节点上。
28、根据权利要求27所述的方法,其中,所述检验步骤包括以下步骤:对所述接收到的数据中的一个或更多个参数与所述特征进行比较。
29、根据权利要求27或28所述的方法,其中,所述检验步骤包括以下步骤:检查在所述接收到的数据中是否存在一个或更多个参数,其中,所述一个或更多个参数包括在所述特征中。
30、根据权利要求27、28或29中的任何一项所述的方法,其中,所述检验步骤包括以下步骤:对所述接收到的数据中的一个或更多个参数中包括的内容进行检查,并对所述内容与所述特征进行比较。
31、一种用于收集有关通信网络的信息的网络信息收集器(201、301),该系统包括:
网络检测器(203),用于按对在通信网络(101)中运行的多个节点(103、104、106)透明的方式,对由所述多个节点传送的数据进行检测;
分析器(202),用于对所检测到的数据进行分析,以识别有关通信网络的信息并识别缺失信息;以及
查询引擎(204),用于针对所述缺失信息查询所述多个节点中的一个或更多个节点。
32、根据权利要求31所述的网络信息收集器(201、301),其中,所述信息不包括有关网络性能的信息。
33、根据权利要求31或32所述的网络信息收集器(201、301),还包括:
输入装置(801),用于接收有关通信网络的其他数据;并且
其中,分析器(202)还对所述其他数据进行分析以识别所述缺失信息。
34、根据权利要求31或32所述的网络信息收集器(201、301),其中,所述信息包括与所述多个节点中的至少一些节点有关的节点信息。
35、根据权利要求34所述的网络信息收集器(201、301),其中,所述节点信息包括有关多个操作系统的操作系统信息。
36、根据权利要求35所述的网络信息收集器(201、301),其中,对由所述多个节点传送的数据进行检测的步骤包括以下步骤:从包括动态主机配置协议消息和同步控制标志分组的组中检测至少一个类型的消息。
37、根据权利要求35或36所述的网络信息收集器(201、301),其中,所述分析器还包括:
输入装置(1501),用于接收数据,该数据与由节点传送的数据相对应;
数据检验器(1502),用于针对已知操作系统的特征对所接收到的数据进行检验;以及
数据标志器(1503),用于表示所述已知操作系统运行在所述节点上。
38、根据权利要求34或35所述的网络信息收集器(201、301),其中,所述节点信息包括有关运行进程的运行时信息。
39、根据权利要求38所述的网络信息收集器(201、301),其中,有关运行进程的信息包括与在通信网络中的多个节点上运行的网络运行进程有关的信息。
40、根据权利要求38所述的网络信息收集器(201、301),其中,有关运行进程的信息包括与在通信网络中的多个节点上运行的本机运行进程有关的信息。
41、根据权利要求34、35或38所述的网络信息收集器(201、301),其中,所述节点信息包括有关与相应节点相关联的硬件组件的硬件信息。
42、根据权利要求31到41中的任何一项所述的网络信息收集器(201、301),其中,所述信息包括与通信网络的物理拓扑结构有关的拓扑结构信息。
43、根据权利要求31到42中的任何一项所述的网络信息收集器(201、301),其中,所述网络检测器(203)包括:
至少一个探测器(206),其捕获有关网络连接流量的数据;
滤选器(601),用于从所捕获的数据分离出包括关于通信网络的信息在内的网络连接数据;以及
输出装置(602),用于传送所述网络连接数据中包括的所述信息。
44、根据权利要求31到43中的任何一项所述的网络信息收集器(201、301),其中,所述查询引擎(204)包括:
查询消息生成器(1809),用于生成与所述缺失信息相对应的用于发送给待查询的多个节点的查询消息;和
输出装置(1810),用于将所述查询消息传送给所述待查询的多个节点。
45、根据权利要求44所述的网络信息收集器(201、301),其中,所述查询引擎(204)还包括:
输入装置(1811),用于接收与所述查询消息相对应的至少一个响应;和
响应处理器(1812),用于对所述至少一个响应进行处理,以获取与所述缺失信息相对应的信息。
46、一种操作系统监测器(702),用于收集与在通信网络中的多个节点上运行的操作系统有关的信息,该操作系统监测器包括:
输入装置(1301),用于接收数据,该数据按对节点透明的方式与由所述节点传送的动态主机配置协议消息相对应;
动态主机配置协议检验器(1302),用于针对已知操作系统的特征对所接收到的数据进行检验;以及
数据标志器(1303),用于表示所述已知操作系统运行在所述节点上。
CN200480035380.7A 2003-11-28 2004-11-28 用于收集有关通信网络的信息和用于收集有关在通信网络节点上运行的操作系统的信息的方法和系统 Active CN1886935B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US52513603P 2003-11-28 2003-11-28
US60/525,136 2003-11-28
PCT/IL2004/001091 WO2005053230A2 (en) 2003-11-28 2004-11-28 Methods and systems for collecting information relating to a communication network and for collecting information relating to operating systems operating on nodes in a communication network

Publications (2)

Publication Number Publication Date
CN1886935A true CN1886935A (zh) 2006-12-27
CN1886935B CN1886935B (zh) 2014-05-14

Family

ID=34632965

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200480035380.7A Active CN1886935B (zh) 2003-11-28 2004-11-28 用于收集有关通信网络的信息和用于收集有关在通信网络节点上运行的操作系统的信息的方法和系统

Country Status (3)

Country Link
EP (2) EP2372954B1 (zh)
CN (1) CN1886935B (zh)
WO (1) WO2005053230A2 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101269771B (zh) * 2007-03-20 2012-04-11 东芝电梯株式会社 电梯的检查装置
CN103001832A (zh) * 2012-12-21 2013-03-27 曙光信息产业(北京)有限公司 分布式文件系统中节点的检测方法和装置
CN103220161A (zh) * 2012-01-18 2013-07-24 深圳市腾讯计算机系统有限公司 一种服务器状态的探测方法和装置
CN103312573A (zh) * 2013-06-14 2013-09-18 西安交通大学 一种家庭网络系统设备发现与识别协议
WO2014139464A1 (en) * 2013-03-14 2014-09-18 Huawei Technologies Co., Ltd. System and method for model-based inventory management of communications system
CN104272650A (zh) * 2012-04-11 2015-01-07 迈克菲公司 资产检测系统
WO2016026407A3 (en) * 2014-08-20 2016-04-14 Huawei Technologies Co., Ltd. System and method for metadata enhanced inventory management of a communications system
CN105959321A (zh) * 2016-07-13 2016-09-21 中国人民解放军理工大学 网络远程主机操作系统被动识别方法及装置
CN107430583A (zh) * 2014-12-09 2017-12-01 克罗诺斯网络技术有限公司 操作系统指纹检测
CN110754063A (zh) * 2017-06-19 2020-02-04 思科技术公司 验证节点之间的端点配置
CN111988304A (zh) * 2019-12-18 2020-11-24 贾海芳 基于物联网的分布式数据节点异常行为检测方法及装置

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101048010B (zh) * 2006-03-31 2013-02-27 株式会社日立制作所 无源光网络系统中实现存储功能的方法及装置
US8811224B2 (en) 2006-05-30 2014-08-19 McAfee Ireland Holdings, Limited Method and system for determining physical connectivity in a dynamic network
GB2443459A (en) * 2006-10-31 2008-05-07 Hewlett Packard Development Co Data packet incuding computing platform indication
CN103458061A (zh) 2006-12-12 2013-12-18 迈克菲爱尔兰控股有限公司 用于限制ip网络的广播域中节点通信的方法和系统
WO2012063245A1 (en) 2010-11-11 2012-05-18 Insightix Ltd. Method and system for fingerprinting operating systems running on nodes in a communication network
CN103888300B (zh) * 2014-04-09 2017-02-15 中国人民解放军63818部队 Web服务系统中网络故障分析系统与方法
WO2017071780A1 (en) * 2015-10-30 2017-05-04 Huawei Technologies Co., Ltd. Methods and systems of mapping virtual machine communication paths
WO2017109437A1 (fr) * 2015-12-24 2017-06-29 Orange Procédé de détermination d'une application génératrice d'un flux ip
EP3442192B1 (en) * 2017-08-08 2022-01-05 Robert Bosch GmbH Method for monitoring traffic between network members in a network
US10979447B2 (en) 2018-08-30 2021-04-13 Ordr Inc. Presenting, at a graphical user interface, device photos and risk categories associated with devices in a network
US11863401B2 (en) * 2021-02-22 2024-01-02 Ordr Inc. Visualization system for private networks and devices

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5097469A (en) 1989-05-19 1992-03-17 Concord Communications, Inc. Passive monitor for broadcast communication network
US5297138A (en) 1991-04-30 1994-03-22 Hewlett-Packard Company Determining physical topology across repeaters and bridges in a computer network
FR2685526B1 (fr) * 1991-12-20 1994-02-04 Alcatel Nv Reseau de liaison avec capteurs de surveillance et systeme de diagnostic, et procede d'etablissement de diagnostics pour un tel reseau.
US5371852A (en) 1992-10-14 1994-12-06 International Business Machines Corporation Method and apparatus for making a cluster of computers appear as a single host on a network
US5615359A (en) * 1994-06-23 1997-03-25 Candle Distributed Solutions, Inc. Data server with data probes employing predicate tests in rule statements
US5926462A (en) 1995-11-16 1999-07-20 Loran Network Systems, Llc Method of determining topology of a network of objects which compares the similarity of the traffic sequences/volumes of a pair of devices
US5958010A (en) 1997-03-20 1999-09-28 Firstsense Software, Inc. Systems and methods for monitoring distributed applications including an interface running in an operating system kernel
US6628623B1 (en) 1999-05-24 2003-09-30 3Com Corporation Methods and systems for determining switch connection topology on ethernet LANs
US6697338B1 (en) 1999-10-28 2004-02-24 Lucent Technologies Inc. Determination of physical topology of a communication network
US6795403B1 (en) 2000-03-31 2004-09-21 Cisco Technology, Inc. Automatic discovery of switch devices in a network
US7561517B2 (en) * 2001-11-02 2009-07-14 Internap Network Services Corporation Passive route control of data networks
AU2002245262B2 (en) * 2002-01-15 2007-03-15 Mcafee, Llc System and method for network vulnerability detection and reporting
US7096264B2 (en) * 2002-01-25 2006-08-22 Architecture Technology Corp. Network analyzer having distributed packet replay and triggering
DE60334368D1 (de) * 2002-03-29 2010-11-11 Cisco Tech Inc Verfahren und system zur verringerung der falschalarmrate von netzwerk-eindringdetektionssystemen

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101269771B (zh) * 2007-03-20 2012-04-11 东芝电梯株式会社 电梯的检查装置
CN103220161A (zh) * 2012-01-18 2013-07-24 深圳市腾讯计算机系统有限公司 一种服务器状态的探测方法和装置
CN103220161B (zh) * 2012-01-18 2016-02-24 深圳市腾讯计算机系统有限公司 一种服务器状态的探测方法和装置
CN104272650A (zh) * 2012-04-11 2015-01-07 迈克菲公司 资产检测系统
US9847965B2 (en) 2012-04-11 2017-12-19 Mcafee, Llc Asset detection system
CN103001832A (zh) * 2012-12-21 2013-03-27 曙光信息产业(北京)有限公司 分布式文件系统中节点的检测方法和装置
US9558454B2 (en) 2013-03-14 2017-01-31 Futurewei Technologies, Inc. System and method for model-based inventory management of a communications system
WO2014139464A1 (en) * 2013-03-14 2014-09-18 Huawei Technologies Co., Ltd. System and method for model-based inventory management of communications system
CN103312573A (zh) * 2013-06-14 2013-09-18 西安交通大学 一种家庭网络系统设备发现与识别协议
US10013414B2 (en) 2014-08-20 2018-07-03 Futurewei Technologies, Inc. System and method for metadata enhanced inventory management of a communications system
WO2016026407A3 (en) * 2014-08-20 2016-04-14 Huawei Technologies Co., Ltd. System and method for metadata enhanced inventory management of a communications system
CN107430583A (zh) * 2014-12-09 2017-12-01 克罗诺斯网络技术有限公司 操作系统指纹检测
CN105959321A (zh) * 2016-07-13 2016-09-21 中国人民解放军理工大学 网络远程主机操作系统被动识别方法及装置
CN110754063A (zh) * 2017-06-19 2020-02-04 思科技术公司 验证节点之间的端点配置
CN111988304A (zh) * 2019-12-18 2020-11-24 贾海芳 基于物联网的分布式数据节点异常行为检测方法及装置
CN111988305A (zh) * 2019-12-18 2020-11-24 贾海芳 应用于物联网的数据节点异常行为检测方法及服务器
CN111988305B (zh) * 2019-12-18 2022-06-03 北京神州慧安科技有限公司 应用于物联网的数据节点异常行为检测方法及服务器
CN111988304B (zh) * 2019-12-18 2022-06-21 北京极光智讯信息科技有限公司 基于物联网的分布式数据节点异常行为检测方法及装置

Also Published As

Publication number Publication date
WO2005053230A3 (en) 2005-07-14
WO2005053230A2 (en) 2005-06-09
EP2372954A2 (en) 2011-10-05
EP1695486B1 (en) 2014-01-08
EP1695486A2 (en) 2006-08-30
CN1886935B (zh) 2014-05-14
EP2372954B1 (en) 2014-01-08
EP2372954A3 (en) 2012-09-12

Similar Documents

Publication Publication Date Title
CN1886935A (zh) 用于收集有关通信网络的信息和用于收集有关在通信网络节点上运行的操作系统的信息的方法和系统
US20070297349A1 (en) Method and System for Collecting Information Relating to a Communication Network
CN110113345B (zh) 一种基于物联网流量的资产自动发现的方法
US10356106B2 (en) Detecting anomaly action within a computer network
US10523543B2 (en) Generic discovery for computer networks
Spring et al. Measuring ISP topologies with Rocketfuel
Maier et al. NAT usage in residential broadband networks
CN111756598A (zh) 一种基于主动探测与流量分析结合的资产发现方法
US6925079B2 (en) IP address duplication detection method using address resolution protocol
US20080019367A1 (en) Communication Device, Communication Setting Method, Communication Setting Program And Recording Medium On Which Is Recorded A Communication Setting Program
EP3223495B1 (en) Detecting an anomalous activity within a computer network
US20070115998A1 (en) Method and software product for identifying network devices having a common geographical locale
KR20140025316A (ko) 통신 네트워크 내의 노드 상에서 작동되는 운영 시스템을 핑커프린팅하는 방법 및 시스템
WO2005114960A1 (en) Method and apparatus for low-overhead service availability and performance moniroring
WO2018214928A1 (zh) 一种定位解析故障的方法和装置及其计算机可读存储介质和计算机设备
CN109088790A (zh) 一种多引擎暴露资产扫描与管理系统
CN100493065C (zh) 使用即时消息软件的数据检测网络地址转换设备的方法
CN1859199A (zh) 一种网络蠕虫检测系统及方法
US20150189044A1 (en) Method and system for notifying subscriber devices in isp networks
CN1422039A (zh) 可控计算机网络的分布式黑客追踪系统
CN111931182B (zh) 一种自动化安全漏洞扫描系统和方法
CN1685670A (zh) 无线台站在与接入点关联前确定网络度量的方法
CN1292564C (zh) 用于检测及处理仿冒网络服务的方法
CN115334044A (zh) 一种面向物联网的大规模IPv6地址存活性探测方法
JP3880530B2 (ja) 動的アドレス付与サーバを利用したクライアントの安全性検診システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MCAFEE IRELAND HOLDING INC.

Free format text: FORMER OWNER: INSIGHTIX LTD.

Effective date: 20131009

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20131009

Address after: Dublin, Ireland

Applicant after: Insightix Ltd

Address before: Israel Ananna

Applicant before: Insightix Ltd.

C14 Grant of patent or utility model
GR01 Patent grant