專利名稱:用于收集有關(guān)通信網(wǎng)絡(luò)的信息和用于收集有關(guān)在通信網(wǎng)絡(luò)節(jié)點(diǎn)上運(yùn)行的操作系統(tǒng)的信息 ...的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)發(fā)現(xiàn),更具體地,涉及收集有關(guān)通信網(wǎng)絡(luò)的信息。
背景技術(shù):
圖1示意性地例示了企業(yè)網(wǎng)絡(luò)101。企業(yè)網(wǎng)絡(luò)可以包括一個(gè)或更多個(gè)網(wǎng)絡(luò)。例如,企業(yè)網(wǎng)絡(luò)101可以包括幾個(gè)局域網(wǎng)(LAN)102。在企業(yè)網(wǎng)絡(luò)包括一個(gè)以上的LAN的情況下,使用多個(gè)路由器103連接這些LAN。LAN具有一個(gè)或更多個(gè)計(jì)算設(shè)備104,即,一個(gè)或更多個(gè)與網(wǎng)絡(luò)相關(guān)聯(lián)的計(jì)算設(shè)備。本領(lǐng)域的技術(shù)人員可以理解,也可以包括虛擬LAN(VLAN)。有時(shí)企業(yè)網(wǎng)絡(luò)101還可以包括通過使用公共線路連接多個(gè)計(jì)算設(shè)備而構(gòu)造的一個(gè)或更多個(gè)虛擬專用網(wǎng)絡(luò)(VPN),如105。如在現(xiàn)有技術(shù)中已知的,也可以存在許多其他結(jié)構(gòu),而且在圖中例示的結(jié)構(gòu)只是示例性的結(jié)構(gòu)。例如,也可以使用交換機(jī)106。
路由器103、計(jì)算設(shè)備104以及交換機(jī)106是通信網(wǎng)絡(luò)的“節(jié)點(diǎn)”或“通信節(jié)點(diǎn)”的示例。
有時(shí),計(jì)算機(jī)集群對(duì)于該集群外部的主機(jī)計(jì)算機(jī)表現(xiàn)為單個(gè)計(jì)算機(jī)。NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)是用于將多個(gè)節(jié)點(diǎn)(即,集群)連接到網(wǎng)絡(luò)而只呈現(xiàn)一個(gè)IP地址的方法。當(dāng)集群中的一節(jié)點(diǎn)向不包括在該集群中的IP地址發(fā)送分組時(shí),將該分組傳送給NAT設(shè)備,在該NAT設(shè)備中透明地對(duì)該節(jié)點(diǎn)的IP地址進(jìn)行轉(zhuǎn)換以使其表示該集群的地址。然后向其目的地再發(fā)送該分組。當(dāng)NAT設(shè)備接收到來自于集群外部的IP地址的分組時(shí),該分組攜帶著該集群的IP地址。保持關(guān)于開放連接(會(huì)話)和關(guān)于集群中的節(jié)點(diǎn)的信息的NAT設(shè)備對(duì)該地址進(jìn)行轉(zhuǎn)換,并根據(jù)所保持的信息將其替換為目的地節(jié)點(diǎn)的專用地址,由此使得該節(jié)點(diǎn)可以接收該分組。例如,US 5,371,852(“Method and apparatus for making a cluster of computersappear as a single host on a network”,Clement等,1994年公布)公開了一種用于使得計(jì)算機(jī)集群對(duì)于該集群外部的主機(jī)計(jì)算機(jī)表現(xiàn)為單個(gè)計(jì)算機(jī)的方法和設(shè)備。主機(jī)計(jì)算機(jī)僅通過網(wǎng)關(guān)進(jìn)行通信,以訪問目的地節(jié)點(diǎn)和集群中的進(jìn)程。網(wǎng)關(guān)具有至少一個(gè)消息交換機(jī),所述至少一個(gè)消息交換機(jī)對(duì)穿過集群邊界的進(jìn)入端口型消息和外發(fā)端口型消息進(jìn)行處理。該處理包括檢查關(guān)于消息報(bào)頭的特定消息,然后改變?cè)搱?bào)頭信息的某些部分,以將進(jìn)入消息擇路到合適的計(jì)算機(jī)節(jié)點(diǎn)、端口以及進(jìn)程,或者使得外發(fā)消息看起來好像源自網(wǎng)關(guān)節(jié)點(diǎn)。消息交換機(jī)使用表將進(jìn)入消息匹配到特定的擇路函數(shù),可以運(yùn)行該擇路函數(shù)以執(zhí)行對(duì)不同類型的消息正確地進(jìn)行擇路所需的改變。
應(yīng)當(dāng)理解,在通信網(wǎng)絡(luò)中找到的NAT設(shè)備有時(shí)表明在該設(shè)備的集群中,即,在該NAT設(shè)備背后,可能存在其他節(jié)點(diǎn)(不一定是可識(shí)別的)。
此外,動(dòng)態(tài)主機(jī)配置協(xié)議(DHCP)提供了一種用于向TCP/IP網(wǎng)絡(luò)上的主機(jī)傳遞配置信息的框架。DHCP基于引導(dǎo)協(xié)議(BOOTP),增加了自動(dòng)分配可再用網(wǎng)絡(luò)地址的能力和附加的配置選項(xiàng)。DHCP捕獲BOOTP中繼代理的行為,并且DHCP參與方可以與BOOTP參與方相互操作。
根據(jù)請(qǐng)求注解(RFCRequest For Comments)2131(其可公開獲取,通過引用將其并入于此),將DHCP設(shè)計(jì)成向DHCP客戶機(jī)提供在主機(jī)需求RFC(Host Requirements,RFC)中定義的配置參數(shù)。在通過DHCP獲得了參數(shù)之后,DHCP客戶機(jī)應(yīng)當(dāng)能夠與網(wǎng)絡(luò)中的其他主機(jī)交換分組。在RFC中列出了根據(jù)DHCP協(xié)議提供的TCP/IP參數(shù)。
對(duì)于新初始化的客戶機(jī),這些參數(shù)并非全是必需的??蛻魴C(jī)與服務(wù)器可以進(jìn)行協(xié)商,以只傳送客戶機(jī)所需的那些參數(shù)或某個(gè)IP子網(wǎng)專用的那些參數(shù)。
RFC 2131定義了要在DHCP客戶機(jī)與服務(wù)器之間交換的幾個(gè)DHCP消息。其中有DHCPDISCOVER、DHCPOFFER、DHCPREQUEST、DHCPACK、DHCPNAK、DHCPDECLINE、DHCPRELEASE,以及DHCPINFORM。
不是所有的DHCP客戶機(jī)都要求初始化RFC中列出的所有參數(shù)。與DHCP一起使用了兩種技術(shù),來減少從服務(wù)器向客戶機(jī)傳送的參數(shù)的數(shù)量。首先,大部分參數(shù)具有缺省值;如果客戶機(jī)沒有從服務(wù)器接收到替換這些缺省值的參數(shù),則客戶機(jī)使用這些缺省值。其次,在其初始的DHCPDISCOVER或DHCPREQUEST消息中,客戶機(jī)可以向服務(wù)器提供該客戶機(jī)感興趣的特定參數(shù)的列表。如果客戶機(jī)將一參數(shù)列表包括在DHCPDISCOVER消息中,則它必須將該列表包括在任何隨后的DHCPREQUEST消息中。
在現(xiàn)有技術(shù)中存在其他已知的網(wǎng)絡(luò)協(xié)議。例如,RFC 826(1982年公布)(其可公開獲取,通過引用將其并入于此)處理地址解析協(xié)議(ARP)。RFC 826給出的ARP協(xié)議允許將構(gòu)造表所需的信息進(jìn)行動(dòng)態(tài)分布,這些表用于將某些協(xié)議地址空間(例如網(wǎng)際協(xié)議(IP)中的地址,地址空間)中的地址轉(zhuǎn)換成以太網(wǎng)地址。另一方面,RFC 903(1984年公布)定義了一種反地址解析協(xié)議(RRAP),其與RFC 826相反。即,RFC 903提出如下的方法,其用于使多個(gè)工作站在只知道它們的硬件地址(例如,它們的附屬物理網(wǎng)絡(luò)地址)時(shí)動(dòng)態(tài)地尋找它們的協(xié)議地址(例如,它們的IP地址)。
RFC 793(1981年公布)(其可公開獲取,通過引用將其并入于此)描述了傳輸控制協(xié)議(TCP)。根據(jù)RFC 793,建立連接的過程包括對(duì)3個(gè)消息進(jìn)行交換。該交換被稱為三方握手。由到達(dá)的包含SYN(同步控制標(biāo)志)的段與等待TCB(傳輸控制塊)條目(均由用戶OPEN命令所創(chuàng)建)的會(huì)合來啟動(dòng)連接。本地套接字和外來套接字的匹配確定何時(shí)啟動(dòng)了連接。當(dāng)已在兩個(gè)方向上使序號(hào)同步時(shí),連接變成“已建立的”。
對(duì)連接的準(zhǔn)許(clearing)還包括交換多個(gè)段(segment),在此情況下,這些段攜帶FIN控制標(biāo)志。通常將攜帶SYN控制標(biāo)志的段稱為“SYN分組”,而將攜帶FIN控制標(biāo)志的段稱為“FIN分組”。
TCP為接收方提供了用于對(duì)發(fā)送方發(fā)送的數(shù)據(jù)量進(jìn)行控制的方法。這是通過以下操作實(shí)現(xiàn)的使用表示超過最后一個(gè)成功接收到的段的可接受序號(hào)范圍的每個(gè)ACK來返回“窗口”。該窗口表示發(fā)送方在接收到進(jìn)一步的許可之前可以傳送的允許八位位組數(shù)量。
TCP報(bào)頭包括“選項(xiàng)”域。該選項(xiàng)域可以包含幾個(gè)選項(xiàng),每個(gè)選項(xiàng)都可以是幾個(gè)八位位組長(zhǎng)。例如,在測(cè)試情況下使用這些選項(xiàng);例如,將它們用于攜帶時(shí)標(biāo)(timestamp)。網(wǎng)際協(xié)議(IP)和TCP都提供了選項(xiàng)域。
RFC 972(1981年公布)(其可公開獲取,通過引用將其并入于此)描述了作為網(wǎng)際協(xié)議(IP)的擴(kuò)展的網(wǎng)際控制消息協(xié)議(ICMP)。然而,ICMP實(shí)際上是IP的一體部分。在幾種情況下發(fā)送ICMP消息例如,當(dāng)數(shù)據(jù)報(bào)不能到達(dá)它的目的地時(shí),當(dāng)網(wǎng)關(guān)不具備轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)的緩沖能力時(shí),或者當(dāng)網(wǎng)關(guān)指示主機(jī)按更短的路由發(fā)送流量時(shí)。根據(jù)RFC 972,這些控制消息的用途是提供與通信環(huán)境中的問題有關(guān)的反饋。使用ICMP消息的已知實(shí)用程序的示例有ping和traceroute。
對(duì)有關(guān)通信網(wǎng)絡(luò)的信息進(jìn)行收集,很久以來都是本領(lǐng)域的研究主題。例如,根據(jù)US 5,297,138(“Determining physical topology across repeatersand bridges in a computer network”,1994年公布),確定了網(wǎng)絡(luò)上的多個(gè)設(shè)備的物理拓?fù)浣Y(jié)構(gòu)。對(duì)網(wǎng)絡(luò)上的所有設(shè)備進(jìn)行識(shí)別,并選擇第一設(shè)備。對(duì)于第一設(shè)備的每個(gè)端口,針對(duì)通過該端口與第一設(shè)備進(jìn)行通信的所有設(shè)備,遞歸地確定連接結(jié)構(gòu)。
US 5,933,416(“Method of determining the topology of a network ofobjects”,1999年公布)公開了一種用于確定網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的方法。根據(jù)US 5,933,416,對(duì)網(wǎng)絡(luò)中連接的設(shè)備接收的流量和從這些設(shè)備發(fā)出的流量進(jìn)行監(jiān)測(cè)。將離開這些設(shè)備的流量與進(jìn)入這些設(shè)備的流量相關(guān),如果離開成對(duì)設(shè)備中的一個(gè)設(shè)備的流量與進(jìn)入該成對(duì)設(shè)備中的另一設(shè)備的流量之間的相關(guān)性超過預(yù)定閾值,則指示出成對(duì)設(shè)備之間的網(wǎng)絡(luò)通信路徑。
US 6,628,623(“Methods and systems for determining switch connectiontopology on ethernet LANs”,2003年公布)描述了一種用于確定以太網(wǎng)LAN交換機(jī)拓?fù)浣Y(jié)構(gòu)的方法。該方法包括以下步驟a)在網(wǎng)絡(luò)管理服務(wù)器與以太網(wǎng)LAN中的交換機(jī)之間建立通信鏈路,由此將該交換機(jī)定義為根交換機(jī);b)對(duì)連接到該以太網(wǎng)LAN的多個(gè)交換機(jī)中的每一個(gè)進(jìn)行識(shí)別,所述多個(gè)交換機(jī)中的每一個(gè)交換機(jī)都包括至少一個(gè)可識(shí)別端口;c)生成所述多個(gè)交換機(jī)中的每個(gè)交換機(jī)的映射,該映射包括所述多個(gè)端口中的每個(gè)端口看到的所述多個(gè)交換器的多個(gè)端口中的每個(gè)端口的列表;d)從映射中排除所述多個(gè)端口中的每個(gè)端口向上看到的端口;e)在該映射中識(shí)別連接到所述多個(gè)端口中的至少一個(gè)端口的至少一個(gè)葉節(jié)點(diǎn);f)在拓?fù)浣Y(jié)構(gòu)映射中保持葉節(jié)點(diǎn)與連接到所述葉節(jié)點(diǎn)的端口之間的至少一個(gè)關(guān)系;g)從針對(duì)每個(gè)端口的列表中排除每個(gè)端口看到的各葉節(jié)點(diǎn);以及h)重復(fù)步驟e)到g),直到識(shí)別完所有葉節(jié)點(diǎn)。
根據(jù)US 6,697,338(“Determination of physical topology of acommunication network”,2004年公布),確定在多重子網(wǎng)通信網(wǎng)絡(luò)中的諸如交換機(jī)和路由器的要素之間的物理連通性。每個(gè)要素都具有一個(gè)或更多個(gè)接口,每個(gè)接口都在物理上與另一網(wǎng)絡(luò)要素的接口相連接。為這些網(wǎng)絡(luò)要素的每個(gè)接口生成了地址組,其中,給定地址組的成員對(duì)應(yīng)于從為其生成該給定地址組的對(duì)應(yīng)接口可以到達(dá)的網(wǎng)絡(luò)要素。將為給定網(wǎng)絡(luò)要素的對(duì)應(yīng)接口生成的第一地址組的成員,與為除該給定要素之外的其他網(wǎng)絡(luò)要素的對(duì)應(yīng)接口生成的第二地址組的成員進(jìn)行比較。確定該給定網(wǎng)絡(luò)要素的接口與其他網(wǎng)絡(luò)要素的一個(gè)或更多個(gè)接口之間的候選連接組。如果確定了一個(gè)以上的候選連接,則從該組中排除與位于與給定網(wǎng)絡(luò)要素相同的子網(wǎng)中的網(wǎng)絡(luò)要素之間的連接。
盡管至此所引用的公報(bào)公開了主動(dòng)的方法和系統(tǒng)(即,對(duì)網(wǎng)絡(luò)進(jìn)行查詢以收集信息的方法),但是也存在被動(dòng)的方法,其用于通過對(duì)由網(wǎng)絡(luò)中的節(jié)點(diǎn)發(fā)送和/或接收的流量進(jìn)行檢測(cè),來收集有關(guān)通信網(wǎng)絡(luò)的信息。
例如,US 5,097,469(“Passive monitor for broadcast communicationnetwork”,1992年公布)公開了一種網(wǎng)絡(luò)監(jiān)測(cè)器,其被動(dòng)地檢測(cè)控制幀傳輸?shù)男蛄?。將檢測(cè)到的控制幀序列與控制幀的預(yù)期交換的模型進(jìn)行比較。當(dāng)所檢測(cè)到的控制幀序列與由模型表示的幀序列不匹配時(shí),監(jiān)測(cè)器推斷出現(xiàn)了故障。US 5,097,469還闡述了被動(dòng)監(jiān)測(cè)器對(duì)在LAN上傳送的控制和數(shù)據(jù)幀流量進(jìn)行偵聽。該監(jiān)測(cè)器是真正被動(dòng)的,因?yàn)樗辉贚AN上發(fā)起通信,而僅僅接收和解釋控制和數(shù)據(jù)幀流量。
US 5,958,010(“Systems and methods for monitoring distributedapplications including an interface running in an operating system kernel”,1999年公布)給出了用于對(duì)異構(gòu)型環(huán)境中的分布式應(yīng)用、客戶機(jī)/服務(wù)器數(shù)據(jù)庫、網(wǎng)絡(luò)以及系統(tǒng)進(jìn)行自動(dòng)監(jiān)測(cè)和管理的系統(tǒng)和方法。US 5,958,010使用了分布式自動(dòng)智能監(jiān)測(cè)代理,該分布式自動(dòng)智能監(jiān)測(cè)代理實(shí)時(shí)地連續(xù)監(jiān)測(cè)網(wǎng)絡(luò)環(huán)境,包括對(duì)在網(wǎng)絡(luò)中的客戶機(jī)與服務(wù)器之間傳遞的數(shù)據(jù)進(jìn)行監(jiān)測(cè)??梢允占摂?shù)據(jù)并將其用于故障查找傾向分析、資源規(guī)劃、安全審核、結(jié)算和退款,以及其他應(yīng)用。
US 6,795,403(“Automatic discovery of switch devices in a network”,2004年公布)描述了一種提供對(duì)交換網(wǎng)絡(luò)中的交換設(shè)備的自動(dòng)發(fā)現(xiàn)的方法和設(shè)備。對(duì)路由器的遠(yuǎn)程監(jiān)測(cè)代理進(jìn)行修改,以檢測(cè)在該路由器處接收到的含有多播目的地地址的分組,例如,含有網(wǎng)橋協(xié)議數(shù)據(jù)單元(BPDU)的分組。對(duì)每個(gè)分組進(jìn)行檢查,以根據(jù)分組確定發(fā)送設(shè)備標(biāo)識(shí)符和根設(shè)備標(biāo)識(shí)符值。該發(fā)送設(shè)備標(biāo)識(shí)符值和根設(shè)備標(biāo)識(shí)符值與受管網(wǎng)絡(luò)中的一個(gè)或更多個(gè)交換機(jī)相關(guān)聯(lián)。遠(yuǎn)程監(jiān)測(cè)代理例如使用反向查找方法,來確定對(duì)應(yīng)于發(fā)送設(shè)備標(biāo)識(shí)符值和根設(shè)備標(biāo)識(shí)符值的IP地址。將該IP地址值或與所發(fā)現(xiàn)的交換機(jī)有關(guān)的其他識(shí)別信息存儲(chǔ)在MIB表中。
并不僅僅在專利公報(bào)中研究了對(duì)有關(guān)通信網(wǎng)絡(luò)的信息的收集。為此,請(qǐng)參見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,在因特網(wǎng)上http//portal.acm.org/toc.cfm?id=773056&type=issue&coll=GUIDE&dl=GUIDE&CFID=32448838&CFTOKEN=34722082處找到),其說明了網(wǎng)絡(luò)提供了連接網(wǎng)格的線,因此,對(duì)于根據(jù)許多網(wǎng)格應(yīng)用實(shí)現(xiàn)滿意的性能來說,理解由網(wǎng)絡(luò)提供的性能是關(guān)鍵所在??紤]到向網(wǎng)絡(luò)主動(dòng)注入測(cè)量流量的成本和可擴(kuò)展性挑戰(zhàn),并考慮到被動(dòng)收集測(cè)量的信息訪問和精度的挑戰(zhàn),對(duì)全球網(wǎng)格進(jìn)行監(jiān)測(cè)的問題是復(fù)雜的。通過將主動(dòng)與被動(dòng)監(jiān)測(cè)技術(shù)組合起來,可以降低對(duì)進(jìn)入式測(cè)量網(wǎng)絡(luò)的需要,而不會(huì)犧牲WAN或LAN級(jí)上的測(cè)量精度。具體來說,該篇文章給出了拓?fù)浣Y(jié)構(gòu)型操縱,其通過使用被動(dòng)地獲得的拓?fù)浣Y(jié)構(gòu)和實(shí)用程序來選擇要求進(jìn)行主動(dòng)帶寬探測(cè)的瓶頸鏈路,而顯著地減少了系統(tǒng)進(jìn)行測(cè)量的次數(shù)。
文章“The Present and Future of Xprobe2,The Next Generation ofActive Operating System Fingerprinting”(Ofir Arkin等人,2003年7月公布在因特網(wǎng)上,參見http//www.sys-security.com/archive/papers/Present and Future Xprobe2-v1.0.pdf),描述了一種執(zhí)行主動(dòng)操作系統(tǒng)指紋分析的系統(tǒng)。根據(jù)The Present and Future ofXprobe2,主動(dòng)操作系統(tǒng)指紋分析,是通過利用幾個(gè)分組來探測(cè)目標(biāo)系統(tǒng)并檢查接收到的響應(yīng)來主動(dòng)地確定目標(biāo)網(wǎng)絡(luò)節(jié)點(diǎn)的底層操作系統(tǒng)的過程。
“Ambiguity Resolution via Passive OS Fingerprinting”(Greg Taleck,2004年公布在因特網(wǎng)上,參見http//www.nfr.com/resource/whitePaper.php),描述了一種基于被動(dòng)地指紋分析出的主機(jī)操作系統(tǒng)類型對(duì)協(xié)議歧義進(jìn)行動(dòng)態(tài)解析的方法和實(shí)現(xiàn)。在該文章中描述的方法,使用被動(dòng)地檢測(cè)到的端主機(jī)的OS指紋,來試圖正確地解析在不同的網(wǎng)絡(luò)棧實(shí)現(xiàn)之間的歧義。此外,描述了一種用于通過在TCP連接協(xié)商處更廣泛地進(jìn)行查看來提高指紋匹配的置信度的新技術(shù)。
因此,在本領(lǐng)域中需要將主動(dòng)和被動(dòng)檢測(cè)組合起來并對(duì)有關(guān)通信網(wǎng)絡(luò)的信息進(jìn)行主動(dòng)查詢的系統(tǒng)和方法。
發(fā)明內(nèi)容
本發(fā)明提供了一種用于收集有關(guān)通信網(wǎng)絡(luò)的信息的方法,該方法包括以下步驟檢測(cè)步驟,按對(duì)在通信網(wǎng)絡(luò)中運(yùn)行的多個(gè)節(jié)點(diǎn)透明的方式,對(duì)由所述多個(gè)節(jié)點(diǎn)傳送的數(shù)據(jù)進(jìn)行檢測(cè);分析步驟,對(duì)檢測(cè)到的數(shù)據(jù)進(jìn)行分析,以識(shí)別有關(guān)通信網(wǎng)絡(luò)的信息并識(shí)別缺失信息;以及查詢步驟,針對(duì)缺失信息,查詢所述多個(gè)節(jié)點(diǎn)中的一個(gè)或更多個(gè)。
本發(fā)明還提供了一種用于收集與在通信網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)上運(yùn)行的操作系統(tǒng)有關(guān)的信息的方法,該方法包括以下步驟接收步驟,按對(duì)節(jié)點(diǎn)透明的方式,接收與由所述節(jié)點(diǎn)傳送的DHCP消息相對(duì)應(yīng)的數(shù)據(jù);檢驗(yàn)步驟,針對(duì)已知操作系統(tǒng)的特性對(duì)所接收到的數(shù)據(jù)進(jìn)行檢驗(yàn);以及指示步驟,如果所接收到的數(shù)據(jù)與所述特性相符合,則指示所述已知操作系統(tǒng)在所述節(jié)點(diǎn)上操作。
本發(fā)明還提供了一種用于收集有關(guān)通信網(wǎng)絡(luò)的信息的網(wǎng)絡(luò)信息收集器(201、301),該系統(tǒng)包括網(wǎng)絡(luò)檢測(cè)器(203),用于按對(duì)在通信網(wǎng)絡(luò)(101)中運(yùn)行的多個(gè)節(jié)點(diǎn)(103、104、106)透明的方式,對(duì)由所述多個(gè)節(jié)點(diǎn)傳送的數(shù)據(jù)進(jìn)行檢測(cè);分析器(202),用于對(duì)所檢測(cè)到的數(shù)據(jù)進(jìn)行分析,以識(shí)別有關(guān)通信網(wǎng)絡(luò)的信息并識(shí)別缺失信息;以及查詢引擎(204),用于針對(duì)所述缺失信息查詢所述多個(gè)節(jié)點(diǎn)中的一個(gè)或更多個(gè)節(jié)點(diǎn)。
本發(fā)明還提供了一種用于收集與在通信網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)上運(yùn)行的操作系統(tǒng)有關(guān)的信息的操作系統(tǒng)監(jiān)測(cè)器(702),該操作系統(tǒng)監(jiān)測(cè)器包括輸入裝置(1301),用于接收數(shù)據(jù),該數(shù)據(jù)按對(duì)節(jié)點(diǎn)透明的方式與由所述節(jié)點(diǎn)傳送的DHCP消息相對(duì)應(yīng);DHCP檢驗(yàn)器(1302),針對(duì)已知操作系統(tǒng)的特性對(duì)所接收到的數(shù)據(jù)進(jìn)行檢驗(yàn);以及數(shù)據(jù)標(biāo)志器(1303),用于指示所述已知操作系統(tǒng)在所述節(jié)點(diǎn)上運(yùn)行。
為了理解本發(fā)明并領(lǐng)會(huì)在實(shí)際中可以如何實(shí)現(xiàn)本發(fā)明,下面將參照附圖僅通過非限制性的示例對(duì)優(yōu)選實(shí)施例進(jìn)行描述,在附圖中圖1示意性地例示了示例性企業(yè)網(wǎng)絡(luò);圖2是例示根據(jù)本發(fā)明一個(gè)實(shí)施例的與企業(yè)網(wǎng)絡(luò)相關(guān)聯(lián)的網(wǎng)絡(luò)信息收集器的框圖;
圖3是例示根據(jù)本發(fā)明一個(gè)實(shí)施例的與企業(yè)網(wǎng)絡(luò)相關(guān)聯(lián)的可管理網(wǎng)絡(luò)信息收集器的框圖;圖4A是詳細(xì)地例示根據(jù)本發(fā)明一個(gè)實(shí)施例的網(wǎng)絡(luò)檢測(cè)器的操作的流程圖;圖4B是詳細(xì)地例示根據(jù)本發(fā)明一另選實(shí)施例的網(wǎng)絡(luò)檢測(cè)器的操作的流程圖;圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的示例性檢測(cè)列表;圖6是例示根據(jù)本發(fā)明一個(gè)實(shí)施例的網(wǎng)絡(luò)檢測(cè)器的框圖;圖7是詳細(xì)地例示根據(jù)本發(fā)明一個(gè)實(shí)施例的分析器的框圖;圖8是例示根據(jù)本發(fā)明一不同實(shí)施例的分析器的框圖;圖9是例示根據(jù)本發(fā)明一個(gè)實(shí)施例的節(jié)點(diǎn)檢測(cè)的流程圖;圖10例示了由不同操作系統(tǒng)交換的示例性DHCPDISCOVER消息;圖11是例示根據(jù)本發(fā)明一個(gè)實(shí)施例的基于檢測(cè)到的DHCP消息進(jìn)行OS發(fā)現(xiàn)的流程圖;圖12例示了由不同操作系統(tǒng)交換的示例性SYN分組;圖13是例示根據(jù)本發(fā)明一個(gè)實(shí)施例的操作系統(tǒng)監(jiān)測(cè)器的框圖;圖14是例示根據(jù)本發(fā)明一個(gè)實(shí)施例的基于檢測(cè)到的數(shù)據(jù)進(jìn)行OS發(fā)現(xiàn)的流程圖;圖15是例示根據(jù)本發(fā)明一個(gè)實(shí)施例的使用DHCP消息的操作系統(tǒng)監(jiān)測(cè)器的框圖;圖16是例示根據(jù)本發(fā)明一個(gè)實(shí)施例的NAT設(shè)備檢測(cè)的流程圖;圖17是例示根據(jù)本發(fā)明一個(gè)實(shí)施例的對(duì)缺失信息進(jìn)行識(shí)別的流程圖;圖18是例示根據(jù)本發(fā)明一個(gè)實(shí)施例的查詢引擎的框圖;圖19是總體上例示根據(jù)本發(fā)明一個(gè)實(shí)施例的查詢引擎的操作的流程圖;圖20是例示根據(jù)本發(fā)明一個(gè)實(shí)施例的節(jié)點(diǎn)探查的流程圖;圖21是例示根據(jù)本發(fā)明一個(gè)實(shí)施例的協(xié)議和服務(wù)探查的流程圖;圖22A例示了表征微軟視窗2000操作系統(tǒng)的指紋的示例性列表;以及圖22B例示了表征微軟視窗2003操作系統(tǒng)的指紋的示例性列表。
具體實(shí)施例方式
在以下說明中,將由相同的標(biāo)號(hào)表示對(duì)于一個(gè)以上的圖共同的組成部分。
此外,在本說明書的“背景技術(shù)”中已提及了幾個(gè)請(qǐng)求注解(RFC),所有這些請(qǐng)求注解都已被接受為標(biāo)準(zhǔn)。把這些RFC并入于此,以使以下描述變清晰。然而,應(yīng)當(dāng)指出的是,與對(duì)標(biāo)準(zhǔn)的任何已建議或已接受的修改相同,這些RFC不對(duì)以下公開的本發(fā)明形成任何限制。
此外,在通信中,通常使用諸如“分組”、“消息”、“數(shù)據(jù)報(bào)”等的術(shù)語來描述物理網(wǎng)絡(luò)上的數(shù)據(jù)轉(zhuǎn)移單位。例如,通常將TCP/IP單位稱為分組,而將HTTP單位稱為消息。在以下描述中,對(duì)所述術(shù)語的使用(即使互換這些術(shù)語)不會(huì)限制本發(fā)明,除非特別指出,否則描述數(shù)據(jù)單位的任何術(shù)語都是適用的,而不管公知的慣例如何。例如,應(yīng)當(dāng)將“HTTP分組”視為類似于“HTTP消息”,甚至類似于“HTTP請(qǐng)求”。
圖2是例示根據(jù)本發(fā)明一個(gè)實(shí)施例的與企業(yè)網(wǎng)絡(luò)101相關(guān)聯(lián)的網(wǎng)絡(luò)信息收集器201的框圖。該網(wǎng)絡(luò)信息收集器包括耦合到網(wǎng)絡(luò)檢測(cè)器203并耦合到查詢引擎204的分析器202。該分析器202還耦合到存儲(chǔ)裝置205,例如,數(shù)據(jù)庫,分析器202可以向其寫入數(shù)據(jù)并且/或者從其讀取數(shù)據(jù)。
需要指出的是,圖2所例示的存儲(chǔ)裝置205直接與分析器202相連接,因此它被包括在網(wǎng)絡(luò)信息收集器201中。另選地,應(yīng)當(dāng)理解,可以通過任何其他已知的方法來耦合存儲(chǔ)裝置。例如,存儲(chǔ)裝置可以是通過因特網(wǎng)耦合到分析器的聯(lián)網(wǎng)數(shù)據(jù)庫,或者可以是分析器202的一部分。在其他實(shí)施例中,存儲(chǔ)裝置205還可以耦合到網(wǎng)絡(luò)檢測(cè)器203和/或查詢引擎204,而不耦合到分析器;或者存儲(chǔ)裝置205除耦合到分析器以外還可以耦合到網(wǎng)絡(luò)檢測(cè)器203和/或查詢引擎204。由此,存儲(chǔ)裝置205可以位于網(wǎng)絡(luò)信息收集器201的外部或位于距網(wǎng)絡(luò)信息收集器201的遠(yuǎn)程處,因此可以認(rèn)為存儲(chǔ)裝置205與它們相關(guān)聯(lián)。此外,應(yīng)當(dāng)認(rèn)識(shí)到,存儲(chǔ)裝置例如可以是盤、存儲(chǔ)器器件(如RAM)、RAID(獨(dú)立或廉價(jià)盤冗余陣列),或者可以用于存儲(chǔ)數(shù)據(jù)的任何其他可用裝置。
類似地,還可以按適用于所述情況的任何已知方式,如通過直接通信線路、通過因特網(wǎng),或者甚至通過在單個(gè)機(jī)器中使用,來耦合分析器202、網(wǎng)絡(luò)檢測(cè)器203以及查詢引擎204。它們也可以相互遠(yuǎn)離,因此分析器202、網(wǎng)絡(luò)檢測(cè)器203以及查詢引擎204也被認(rèn)為與網(wǎng)絡(luò)信息收集器201相關(guān)聯(lián)。
網(wǎng)絡(luò)檢測(cè)器和查詢引擎可以訪問企業(yè)網(wǎng)絡(luò)101,使得網(wǎng)絡(luò)信息收集器201可以收集與其相對(duì)應(yīng)的信息。如前所述,參照?qǐng)D1,企業(yè)網(wǎng)絡(luò)101可以由單個(gè)LAN組成,或者可以由任意數(shù)量個(gè)不同網(wǎng)絡(luò)的復(fù)雜結(jié)構(gòu)組成。另選地,企業(yè)網(wǎng)絡(luò)101也可以是更大的網(wǎng)絡(luò)的一部分。如以下將例示的,這對(duì)網(wǎng)絡(luò)信息收集器201的操作沒有影響。因此,若非特別指出,以下將可互換地使用術(shù)語“網(wǎng)絡(luò)”、“通信網(wǎng)絡(luò)”以及“企業(yè)網(wǎng)絡(luò)”。
網(wǎng)絡(luò)檢測(cè)器203收獲(或者換句話說檢測(cè))在通信網(wǎng)絡(luò)(101)中運(yùn)行的多個(gè)節(jié)點(diǎn)(如103、104、106)傳送的數(shù)據(jù)。檢測(cè)數(shù)據(jù)的一種方式是使用一個(gè)或更多個(gè)現(xiàn)在公知的探測(cè)器,如檢漏器(sniffer)和/或允許對(duì)在通信網(wǎng)絡(luò)中傳送的數(shù)據(jù)進(jìn)行檢測(cè)的其他探測(cè)器。為了基本上對(duì)由網(wǎng)絡(luò)中的節(jié)點(diǎn)傳送的全部數(shù)據(jù)進(jìn)行檢測(cè),有時(shí)需要使用一個(gè)以上的探測(cè)器。例如,如果企業(yè)網(wǎng)絡(luò)由一個(gè)以上的LAN組成,其中每個(gè)LAN都通過連接在該企業(yè)網(wǎng)絡(luò)的網(wǎng)關(guān)處的路由器來連接到該企業(yè)網(wǎng)絡(luò),那么有時(shí)需要對(duì)每個(gè)LAN連接一探測(cè)器。即,網(wǎng)絡(luò)檢測(cè)器203可以耦合到一個(gè)以上的探測(cè)器。另選地,可以存在一個(gè)以上的網(wǎng)絡(luò)檢測(cè)器203,各網(wǎng)絡(luò)檢測(cè)器203耦合到一個(gè)探測(cè)器,或者以上兩種情況的組合(即,存在一個(gè)以上的網(wǎng)絡(luò)檢測(cè)器203,其中的一個(gè)或更多個(gè)耦合到一個(gè)探測(cè)器,而其他網(wǎng)絡(luò)檢測(cè)器203耦合到多個(gè)探測(cè)器)。在圖2中,由標(biāo)號(hào)206示意性地例示出這些探測(cè)器。
網(wǎng)絡(luò)檢測(cè)器203按對(duì)節(jié)點(diǎn)并對(duì)網(wǎng)絡(luò)透明的方式進(jìn)行操作。即,網(wǎng)絡(luò)檢測(cè)器不向通信網(wǎng)絡(luò)中的節(jié)點(diǎn)傳送數(shù)據(jù);這些節(jié)點(diǎn)也不向網(wǎng)絡(luò)檢測(cè)器傳送數(shù)據(jù)。因此,網(wǎng)絡(luò)檢測(cè)器在通信網(wǎng)絡(luò)中被動(dòng)地進(jìn)行操作。
另一方面,查詢引擎204通過對(duì)網(wǎng)絡(luò)和/或網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行探測(cè)來收集與網(wǎng)絡(luò)和/或網(wǎng)絡(luò)中的節(jié)點(diǎn)有關(guān)的信息。例如,查詢引擎可以向該網(wǎng)絡(luò)中的一個(gè)或更多個(gè)節(jié)點(diǎn)發(fā)送一個(gè)或更多個(gè)數(shù)據(jù)報(bào)。為收集與這些節(jié)點(diǎn)和網(wǎng)絡(luò)有關(guān)的信息,可以使用所查詢的節(jié)點(diǎn)對(duì)所發(fā)送的數(shù)據(jù)報(bào)的響應(yīng)。因此,網(wǎng)絡(luò)檢測(cè)器在通信網(wǎng)絡(luò)中主動(dòng)地進(jìn)行操作。
圖3是例示根據(jù)本發(fā)明另一實(shí)施例的與企業(yè)網(wǎng)絡(luò)相關(guān)聯(lián)的可管理網(wǎng)絡(luò)信息收集器301的框圖。與圖2類似,可管理網(wǎng)絡(luò)信息收集器包括分析器202、網(wǎng)絡(luò)檢測(cè)器203、查詢引擎204以及存儲(chǔ)裝置205。然而,系統(tǒng)301還包括探測(cè)器管理器302。探測(cè)器管理器302耦合到多個(gè)探測(cè)器206,以對(duì)它們的操作進(jìn)行管理和監(jiān)測(cè)。例如,如果一個(gè)探測(cè)器是停止了操作的檢漏器,則探測(cè)器管理器302檢測(cè)到該檢漏器不可操作,并且可以使它重啟。探測(cè)器管理器302還可以對(duì)在所述多個(gè)探測(cè)器上運(yùn)行的軟件版本進(jìn)行更新,對(duì)這些探測(cè)器的操作進(jìn)行控制,等等。在網(wǎng)絡(luò)信息收集器301中例示的實(shí)施例中,探測(cè)器管理器302耦合到分析器202,其中,該分析器對(duì)探測(cè)器管理器的操作進(jìn)行控制和監(jiān)測(cè)。然而,這并不是必須的,例如,可以手動(dòng)地控制探測(cè)器管理器。
應(yīng)當(dāng)理解,盡管未示出,但是查詢引擎204還可以連接到網(wǎng)絡(luò)101的不同的段和子網(wǎng),使得可以收集與不同的段和子網(wǎng)有關(guān)的信息。
由于對(duì)網(wǎng)絡(luò)來說是透明的,所以網(wǎng)絡(luò)檢測(cè)器203依靠網(wǎng)絡(luò)的活動(dòng)來檢測(cè)由在其中操作的節(jié)點(diǎn)傳送的數(shù)據(jù)。與查詢引擎204不同,網(wǎng)絡(luò)檢測(cè)器203不必向網(wǎng)絡(luò)中的節(jié)點(diǎn)發(fā)送分組來收集與這些節(jié)點(diǎn)有關(guān)的信息。網(wǎng)絡(luò)檢測(cè)器203對(duì)由節(jié)點(diǎn)傳送的數(shù)據(jù)進(jìn)行檢測(cè),作為節(jié)點(diǎn)的通信方案的一部分,就好像網(wǎng)絡(luò)檢測(cè)器203不存在。因此,它不會(huì)影響網(wǎng)絡(luò)和節(jié)點(diǎn)的性能。
應(yīng)當(dāng)理解,在通信網(wǎng)絡(luò)上傳送的數(shù)據(jù)報(bào)包括與該通信網(wǎng)絡(luò)有關(guān)的信息,如MAC(介質(zhì)訪問控制)地址的標(biāo)識(shí)、IP地址、操作系統(tǒng)的指紋、擇路的指示,以及與軟件程序和計(jì)算進(jìn)程有關(guān)的運(yùn)行時(shí)信息(如對(duì)運(yùn)行進(jìn)程的標(biāo)識(shí)和/或用戶標(biāo)識(shí)等)。還要指出的是,該連接中的運(yùn)行進(jìn)程可以是使用網(wǎng)絡(luò)通信的進(jìn)程(稱為“網(wǎng)絡(luò)進(jìn)程”)或在節(jié)點(diǎn)上本機(jī)運(yùn)行的進(jìn)程(稱為“本機(jī)進(jìn)程”)。例如,存在允許在本機(jī)運(yùn)行的應(yīng)用上進(jìn)行遠(yuǎn)程控制的公知工具,如“telnet”(通常將這種應(yīng)用稱為“遠(yuǎn)程控制器”)。因此,由這種遠(yuǎn)程控制器發(fā)送的數(shù)據(jù)報(bào)或由其接收的數(shù)據(jù)報(bào)可以包括與本地進(jìn)程有關(guān)的信息。
除通過網(wǎng)絡(luò)檢測(cè)器對(duì)分組進(jìn)行檢測(cè)以外,分析器202可以對(duì)分組進(jìn)行分析,以獲取存儲(chǔ)在其中的信息、與通信網(wǎng)絡(luò)有關(guān)的信息。然而,應(yīng)當(dāng)理解,對(duì)每個(gè)檢測(cè)到的分組進(jìn)行分析,對(duì)分析器造成了沉重的負(fù)荷。如果知道網(wǎng)絡(luò)信息收集器需要收集什么信息,就可以通過只對(duì)可能有關(guān)的那些分組進(jìn)行分析來減輕分析器的負(fù)荷。即,可以只分析這樣的檢測(cè)到的分組,即,其包括作為需要信息的一部分或用作揭示與通信網(wǎng)絡(luò)有關(guān)的信息的計(jì)算(如統(tǒng)計(jì)計(jì)算)的基礎(chǔ)的信息。
例如,本發(fā)明的一個(gè)實(shí)施例可以只對(duì)SYN(同步)分組和應(yīng)用相關(guān)數(shù)據(jù)進(jìn)行分析,另一實(shí)施例可以對(duì)ARP(地址解析協(xié)議)分組和DHCP(域主機(jī)控制協(xié)議)消息進(jìn)行分析,而又一實(shí)施例可以對(duì)SYN分組、DHCP分組以及諸如HTTP消息的應(yīng)用相關(guān)數(shù)據(jù)進(jìn)行分析。
無論如何,根據(jù)本發(fā)明,被檢測(cè)分組構(gòu)成了被檢測(cè)數(shù)據(jù),而按照以上描述,應(yīng)當(dāng)理解,被檢測(cè)數(shù)據(jù)是需要進(jìn)行分析的那些分組。例如,在不執(zhí)行SYN分組分析的特定實(shí)施例中,可以跳過SYN分組。如果跳過SYN分組,則被檢測(cè)數(shù)據(jù)不包括SYN分組。然而,這是非限制性的,可以存在其中被檢測(cè)數(shù)據(jù)包括在網(wǎng)絡(luò)上檢測(cè)到的任何數(shù)據(jù)的實(shí)施例。
圖4A是詳細(xì)地例示根據(jù)本發(fā)明一個(gè)實(shí)施例的網(wǎng)絡(luò)檢測(cè)器203的操作的流程圖。根據(jù)本實(shí)施例,“收集所有”標(biāo)志表示網(wǎng)絡(luò)檢測(cè)器203是應(yīng)當(dāng)對(duì)在網(wǎng)絡(luò)上傳送的所有數(shù)據(jù)進(jìn)行檢測(cè),還是只應(yīng)當(dāng)對(duì)需要進(jìn)行分析的那些分組進(jìn)行檢測(cè)。如果(在4A01處)“收集所有”標(biāo)志表示應(yīng)當(dāng)收集所有數(shù)據(jù),則網(wǎng)絡(luò)檢測(cè)器對(duì)在網(wǎng)絡(luò)傳送的和可以訪問的任何分組進(jìn)行檢測(cè)(4A02),并將該分組傳送(4A03)給存儲(chǔ)裝置205。根據(jù)圖4A的流程圖,“收集所有”標(biāo)志是二進(jìn)制變量。當(dāng)“收集所有”標(biāo)志存儲(chǔ)有值一(1)時(shí),這表示應(yīng)當(dāng)對(duì)所有數(shù)據(jù)進(jìn)行檢測(cè),而值零(0)表示只要收集需要的分組。然而,這是非限制性的,任何其他約定或表示方法都是適用的。
然而,如果在4A01處“收集所有”標(biāo)志表示只有網(wǎng)絡(luò)流量的一部分構(gòu)成被檢測(cè)數(shù)據(jù)時(shí),則查詢可檢測(cè)分組類型的列表(將該列表稱為“檢測(cè)列表”),該檢測(cè)列表表示網(wǎng)絡(luò)檢測(cè)器應(yīng)檢測(cè)什么數(shù)據(jù)分組。例如,如果要求網(wǎng)絡(luò)檢測(cè)器只檢測(cè)DHCP分組和ARP分組,則檢測(cè)列表應(yīng)當(dāng)包括DHCP和ARP。應(yīng)當(dāng)理解,例如,有時(shí)只要對(duì)DHCP分組的一部分進(jìn)行檢測(cè)(例如,只檢測(cè)DHCPDISCOVER和DHCPREQUEST)。在此情況下,檢測(cè)列表應(yīng)當(dāng)只包括所需要的那些分組。圖5例示了表示要對(duì)任何ARP分組、DHCPDISCOVER分組、DHCPREQUEST分組以及TCP-SYN分組進(jìn)行檢測(cè)的檢測(cè)列表501。根據(jù)圖5和4A的實(shí)施例,按照正策略對(duì)檢測(cè)列表501進(jìn)行管理,即要檢測(cè)檢測(cè)列表中包括的分組類型。另選地,也可以使用負(fù)策略,其中要忽略檢測(cè)列表中列出的分組類型。在該情況下,網(wǎng)絡(luò)檢測(cè)器應(yīng)當(dāng)對(duì)檢測(cè)列表中未列出其類型的任何分組進(jìn)行檢測(cè)。
回到圖4A的示例性流程圖,在4A04處查詢檢測(cè)列表,其中,在本示例中該檢測(cè)列表遵循正策略。在4A05處網(wǎng)絡(luò)檢測(cè)器203將探測(cè)器206配置成只檢測(cè)檢測(cè)列表中包括的那些需要的分組類型。在本領(lǐng)域中公知的是,例如,可以將檢漏器配置成只檢測(cè)特定分組類型而忽略其他分組類型。
在對(duì)探測(cè)器進(jìn)行了配置之后,網(wǎng)絡(luò)檢測(cè)器開始檢測(cè)數(shù)據(jù)(4A02),并且如前所述,將所檢測(cè)到的數(shù)據(jù)傳送(4A03)給存儲(chǔ)裝置。
應(yīng)當(dāng)理解,只要不使網(wǎng)絡(luò)檢測(cè)器的操作停止(例如,由用戶選擇來關(guān)閉系統(tǒng)),它就繼續(xù)檢測(cè)數(shù)據(jù)并將其傳送給存儲(chǔ)裝置。
圖4A的實(shí)施例是非限制性的,并且可以存在執(zhí)行相同任務(wù)的不同實(shí)施例。圖4B是詳細(xì)地例示根據(jù)本發(fā)明一另選實(shí)施例的網(wǎng)絡(luò)檢測(cè)器的操作的流程圖。如果“收集所有”標(biāo)志表示(在4B01處)應(yīng)當(dāng)對(duì)在網(wǎng)絡(luò)上傳送的所有數(shù)據(jù)進(jìn)行檢測(cè),那么和圖4A中一樣,網(wǎng)絡(luò)檢測(cè)器開始檢測(cè)數(shù)據(jù)(4B02)并將所檢測(cè)到的數(shù)據(jù)傳送(4B03)給存儲(chǔ)裝置。然而,如果“收集所有”標(biāo)志表示應(yīng)當(dāng)只對(duì)所傳送的數(shù)據(jù)的一部分進(jìn)行檢測(cè),則在4B04處網(wǎng)絡(luò)檢測(cè)器可以對(duì)分組進(jìn)行檢測(cè),其中在4B05處將每個(gè)檢測(cè)到的分組與檢測(cè)列表進(jìn)行比照。如果檢測(cè)列表表示應(yīng)當(dāng)檢測(cè)該分組的類型,則將該分組傳送給存儲(chǔ)裝置(4B06)。
根據(jù)到目前為止例示的實(shí)施例(如圖4A和4B的實(shí)施例),將檢測(cè)到的數(shù)據(jù)傳送給存儲(chǔ)裝置205,在存儲(chǔ)裝置205中存儲(chǔ)這些數(shù)據(jù)。然后分析器202從存儲(chǔ)裝置205中獲取數(shù)據(jù)以進(jìn)行分析。然而這是非限制性的,不同的實(shí)施例可以通過將數(shù)據(jù)直接傳送給分析器202以進(jìn)行分析,而避免對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)。還有實(shí)施例可以將所檢測(cè)到的數(shù)據(jù)存儲(chǔ)在與存儲(chǔ)裝置205不同的存儲(chǔ)裝置上。
圖6是例示本發(fā)明一個(gè)實(shí)施例的網(wǎng)絡(luò)檢測(cè)器203的框圖。網(wǎng)絡(luò)檢測(cè)器203包括至少一個(gè)探測(cè)器206,其捕獲與網(wǎng)絡(luò)連接流量有關(guān)的數(shù)據(jù);濾選器601,用于從捕獲的數(shù)據(jù)分離出包括與通信網(wǎng)絡(luò)有關(guān)的信息的網(wǎng)絡(luò)連接數(shù)據(jù);以及輸出裝置602,用于傳送網(wǎng)絡(luò)連接數(shù)據(jù)中包括的信息。可以將該數(shù)據(jù)傳送給存儲(chǔ)裝置。另選地,可以將該數(shù)據(jù)直接傳送給分析器202以由它進(jìn)行處理。
圖7是詳細(xì)地例示根據(jù)本發(fā)明一個(gè)實(shí)施例的分析器202的框圖。根據(jù)本實(shí)施例,分析器包括幾個(gè)操作模塊,即,節(jié)點(diǎn)檢測(cè)器701、操作系統(tǒng)(OS)監(jiān)測(cè)器702、NAT檢測(cè)器703、拓?fù)浣Y(jié)構(gòu)監(jiān)測(cè)器704、網(wǎng)絡(luò)統(tǒng)計(jì)模塊705、審核模塊706、告警生成器707,以及合法性檢查點(diǎn)708。
然而,圖7的分析器202是非限制性的,可以存在只包括所述多個(gè)模塊(701到708)中的一部分、不同的模塊和/或附加模塊的另選分析器。這種另選模塊的一個(gè)示例是用戶監(jiān)測(cè)器,其對(duì)登錄到網(wǎng)絡(luò)中的任何節(jié)點(diǎn)的用戶實(shí)時(shí)地進(jìn)行識(shí)別和監(jiān)測(cè)。應(yīng)當(dāng)理解,分析器還可以包括一個(gè)或更多個(gè)應(yīng)用監(jiān)測(cè)模塊,這將在下面進(jìn)行描述。
分析器的一些模塊每個(gè)都對(duì)通信網(wǎng)絡(luò)的不同特征(包括通信網(wǎng)絡(luò)中包括的節(jié)點(diǎn)的特征)中的一個(gè)或更多個(gè)特征進(jìn)行計(jì)算。這種模塊例如是節(jié)點(diǎn)檢測(cè)器701,其對(duì)網(wǎng)絡(luò)中運(yùn)行的節(jié)點(diǎn)進(jìn)行識(shí)別;OS監(jiān)測(cè)器702,其對(duì)在檢測(cè)到的節(jié)點(diǎn)上操作的操作系統(tǒng)進(jìn)行識(shí)別;NAT檢測(cè)器703,其對(duì)NAT設(shè)備進(jìn)行識(shí)別;拓?fù)浣Y(jié)構(gòu)監(jiān)測(cè)器704,其對(duì)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)進(jìn)行檢測(cè)和監(jiān)測(cè);以及審核模塊706,其對(duì)會(huì)話(如TCP/IP會(huì)話的信息)進(jìn)行檢測(cè)并提供有關(guān)其的信息。
此外,分析器202可以包括向其他模塊提供服務(wù)的模塊,如特征確定模塊。例如,網(wǎng)絡(luò)統(tǒng)計(jì)模塊705執(zhí)行例如在識(shí)別NAT設(shè)備時(shí)使用的統(tǒng)計(jì)計(jì)算。合法性檢查點(diǎn)708檢查存儲(chǔ)在存儲(chǔ)裝置上的數(shù)據(jù)或傳送給分析器的數(shù)據(jù)是否為合法數(shù)據(jù)。不應(yīng)當(dāng)將被識(shí)別為非法的數(shù)據(jù)用于收集與通信網(wǎng)絡(luò)有關(guān)的信息,但是,可以由告警生成器生成告警,表示檢測(cè)到非法數(shù)據(jù)??梢源嬖谙蚱渌K提供服務(wù)的另選模塊和/或附加模塊,如獲取存儲(chǔ)在存儲(chǔ)裝置中的歷史數(shù)據(jù)的模塊,其中統(tǒng)計(jì)模塊使用該歷史數(shù)據(jù)來在其中執(zhí)行統(tǒng)計(jì)計(jì)算,并且其中根據(jù)在統(tǒng)計(jì)計(jì)算過程中確定的準(zhǔn)則來獲取數(shù)據(jù)。
告警生成器707是當(dāng)在網(wǎng)絡(luò)中出現(xiàn)了預(yù)定事件時(shí)向操作員提供告警的模塊的示例。例如,具有對(duì)網(wǎng)絡(luò)中的特定節(jié)點(diǎn)的受限訪問權(quán)的特定用戶,試圖登錄到該特定節(jié)點(diǎn)。
前面已提到,分析器還可以包括應(yīng)用監(jiān)測(cè)模塊。不同的應(yīng)用使用標(biāo)準(zhǔn)協(xié)議或?qū)S脜f(xié)議進(jìn)行通信。獲知通信協(xié)議使得分析器(或者更具體來說是應(yīng)用的相應(yīng)監(jiān)測(cè)器)可以對(duì)在通信過程中由應(yīng)用傳送的數(shù)據(jù)報(bào)進(jìn)行分析。例如,前面已提到,在市場(chǎng)中存在遠(yuǎn)程控制器,如“telnet”。由于“telnet監(jiān)測(cè)器”知道telnet用以在對(duì)等端(peer)之間進(jìn)行通信的協(xié)議,所以其可以對(duì)telnet數(shù)據(jù)報(bào)進(jìn)行分析并推斷出由telnet操作員執(zhí)行的控制操作。此外,對(duì)telnet數(shù)據(jù)報(bào)的理解使得可以收集與本機(jī)運(yùn)行進(jìn)程有關(guān)的信息并對(duì)遠(yuǎn)程對(duì)等端進(jìn)行操作。
下面對(duì)圖7所例示的分析器202的不同模塊進(jìn)行詳細(xì)描述,應(yīng)當(dāng)理解,由在通信網(wǎng)絡(luò)中運(yùn)行的節(jié)點(diǎn)傳送的合法數(shù)據(jù)通過至少一種可檢測(cè)的方式對(duì)該節(jié)點(diǎn)進(jìn)行標(biāo)識(shí)。例如,基本上用于將IP地址映射到其相應(yīng)的MAC(介質(zhì)訪問控制,層2)地址(反之亦然)的ARP分組和/或RARP分組至少包括發(fā)送節(jié)點(diǎn)(也被稱為“源節(jié)點(diǎn)”)的MAC地址。此外,在許多情況下,該數(shù)據(jù)包括數(shù)據(jù)源和數(shù)據(jù)目的地的標(biāo)識(shí)。例如,TCP/IP分組通常包括源IP地址和目的地IP地址的標(biāo)識(shí)。由此,節(jié)點(diǎn)檢測(cè)器702可以對(duì)每個(gè)檢測(cè)到的數(shù)據(jù)報(bào)(其可以是分組或更高級(jí)的信息)進(jìn)行分析、對(duì)它的域進(jìn)行研究,以對(duì)可識(shí)別節(jié)點(diǎn)進(jìn)行識(shí)別,并且如果網(wǎng)絡(luò)信息收集器未識(shí)別出這些節(jié)點(diǎn)中的一個(gè)或更多個(gè),則例如通過在數(shù)據(jù)庫中創(chuàng)建針對(duì)該節(jié)點(diǎn)的記錄而將這些節(jié)點(diǎn)添加到已識(shí)別節(jié)點(diǎn)列表。另選地,當(dāng)節(jié)點(diǎn)檢測(cè)器702識(shí)別出新檢測(cè)到的節(jié)點(diǎn)時(shí),其可以將它的標(biāo)識(shí)傳送給不同的模塊,而不是將它插入節(jié)點(diǎn)列表。圖9是例示根據(jù)本發(fā)明一個(gè)實(shí)施例的節(jié)點(diǎn)檢測(cè)的流程圖。
應(yīng)當(dāng)指出,存在不同類型的節(jié)點(diǎn),如路由器、交換機(jī)、個(gè)人計(jì)算機(jī)、工作站等,每個(gè)類型的節(jié)點(diǎn)都具有其相應(yīng)的特征組。
下面考慮拓?fù)浣Y(jié)構(gòu)監(jiān)測(cè)器704,應(yīng)當(dāng)理解,在本領(lǐng)域中目前存在用于基于在網(wǎng)絡(luò)上檢測(cè)到的數(shù)據(jù)來確定該網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)的多個(gè)公知方法。例如,參見在本說明書的“背景技術(shù)”中引用的US 6,795,403。拓?fù)浣Y(jié)構(gòu)監(jiān)測(cè)器704可以使用適于該情況的任何方法來確定網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。
例如,根據(jù)一個(gè)實(shí)施例,拓?fù)浣Y(jié)構(gòu)監(jiān)測(cè)器704可以對(duì)ARP分組和/或RARP分組進(jìn)行檢測(cè)和分析。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,ARP分組和RARP分組表示諸如安裝在網(wǎng)絡(luò)中的節(jié)點(diǎn)上的網(wǎng)絡(luò)接口卡(NIC)的制造商和類型的數(shù)據(jù)。根據(jù)本實(shí)施例,對(duì)該數(shù)據(jù)進(jìn)行檢測(cè)和分析,例如提供了與網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)有關(guān)的(例如,與節(jié)點(diǎn)的存在性和節(jié)點(diǎn)到網(wǎng)絡(luò)的連接有關(guān)的)信息和與網(wǎng)絡(luò)連通性有關(guān)的信息。由此,例如,可以識(shí)別出該網(wǎng)絡(luò)包括幾個(gè)LAN;或者可以識(shí)別出該網(wǎng)絡(luò)的某個(gè)段由無線網(wǎng)絡(luò)組成,另一段由銅線以太網(wǎng)組成,而還有一段由光通信組成。應(yīng)當(dāng)理解,通過對(duì)ARP分組進(jìn)行檢測(cè),例如,拓?fù)浣Y(jié)構(gòu)監(jiān)測(cè)器704可以構(gòu)造出與在網(wǎng)絡(luò)中使用的擇路表對(duì)應(yīng)的擇路表,由此也可以檢測(cè)到擇路信息。
不同的標(biāo)準(zhǔn)(例如參見RFC 793或2131)為通信節(jié)點(diǎn)留下了一定的自由度。根據(jù)本發(fā)明,應(yīng)當(dāng)認(rèn)識(shí)到,不同的操作系統(tǒng)往往使用作為通信操作系統(tǒng)的特征的不同參數(shù)和/或不同值。通過確定這些特征參數(shù),可以對(duì)檢測(cè)到的分組進(jìn)行檢驗(yàn),以識(shí)別在通信節(jié)點(diǎn)上運(yùn)行的通信操作系統(tǒng)。
OS監(jiān)測(cè)器702例如對(duì)DHCP消息進(jìn)行分析,以識(shí)別在從其發(fā)送了該DHCP消息的節(jié)點(diǎn)上運(yùn)行的操作系統(tǒng)。下面對(duì)DHCP分析進(jìn)行闡述,應(yīng)當(dāng)認(rèn)識(shí)到,不同的操作系統(tǒng)例如可以在它們交換的DHCP消息中包括不同的DHCP選項(xiàng)。圖10例示了由不同操作系統(tǒng)交換的并包括不同DHCP選項(xiàng)的示例性DHCPDISCOVER消息。在該圖中包括兩個(gè)不同操作系統(tǒng)的兩個(gè)消息。消息1001是由微軟視窗XP操作系統(tǒng)發(fā)送的DHCPDISCOVER消息,而消息1002是由微軟視窗2000操作系統(tǒng)發(fā)送的DHCPDISCOVER消息??梢钥吹?,視窗XP例如在其DHCPDISCOVER消息中包括選項(xiàng)116,而視窗2000包括選項(xiàng)251。此外,視窗XPDHCPDISCOVER消息中的“參數(shù)請(qǐng)求”選項(xiàng)包括10個(gè)參數(shù),而在視窗2000中“參數(shù)請(qǐng)求”選項(xiàng)包括9個(gè)參數(shù)。知道了這一點(diǎn),本領(lǐng)域的技術(shù)人員就將理解,例如可以使用DHCPDISCOVER消息,來識(shí)別在交換DHCP消息的節(jié)點(diǎn)上運(yùn)行的操作系統(tǒng)。
然而,應(yīng)當(dāng)理解,該示例是非限制性的,也可以利用除在“參數(shù)請(qǐng)求”選項(xiàng)中包括的選項(xiàng)和參數(shù)數(shù)量以外的其他差異。此外,除DHCPDISCOVER消息以外,還可以使用其他DHCP消息。例如,除此之外,或者作為替代,可以使用BOOTP(引導(dǎo)協(xié)議)消息的xid/事務(wù)處理id。
圖11是例示根據(jù)本發(fā)明一個(gè)實(shí)施例的基于檢測(cè)到的DHCP消息進(jìn)行OS發(fā)現(xiàn)的流程圖。在1101處,OS監(jiān)測(cè)器702接收到DHCP消息。應(yīng)當(dāng)理解,OS監(jiān)測(cè)器可以通過任何適用的方式來接收DHCP消息。例如,其可以直接從網(wǎng)絡(luò)檢測(cè)器接收它,或者其可以從存儲(chǔ)裝置獲取它。OS監(jiān)測(cè)器702知道幾種操作系統(tǒng)及其相應(yīng)的DHCP特征。因此,當(dāng)接收到DHCP消息時(shí),OS監(jiān)測(cè)器從它知道的那些OS中選擇出一個(gè)OS(見1102),然后,在1103處,OS監(jiān)測(cè)器對(duì)該DHCP消息進(jìn)行檢驗(yàn),以查看其中是否出現(xiàn)了所選擇的操作系統(tǒng)的特征。如果是(1104),則OS監(jiān)測(cè)器將所選擇的OS識(shí)別為在從其發(fā)送了該DHCP消息的節(jié)點(diǎn)上運(yùn)行的OS。然而,如果在所接收到的消息中未出現(xiàn)特征參數(shù),則OS監(jiān)測(cè)器(從它知道的OS中)選擇出一個(gè)不同的操作系統(tǒng),并對(duì)該DHCP消息進(jìn)行檢驗(yàn),以查看其中是否出現(xiàn)了該操作系統(tǒng)的特征參數(shù)。了解計(jì)算技術(shù)的人員應(yīng)當(dāng)理解,如果檢查了OS監(jiān)測(cè)器702所知道的所有操作系統(tǒng),并且未找到匹配,則OS監(jiān)測(cè)器不能根據(jù)所例示的方法對(duì)在發(fā)送節(jié)點(diǎn)上運(yùn)行的操作系統(tǒng)進(jìn)行識(shí)別。
然而,存在使得可以基于檢測(cè)到的數(shù)據(jù)對(duì)操作系統(tǒng)進(jìn)行識(shí)別的另選方法。例如,其中一種方法依靠對(duì)SYN分組進(jìn)行分析;另一方法依靠對(duì)SYN請(qǐng)求及其相應(yīng)的SYN-ACK響應(yīng)進(jìn)行分析,等等。
與DHCP標(biāo)準(zhǔn)類似,TCP標(biāo)準(zhǔn)(例如,參見RFC 793)也為通信節(jié)點(diǎn)留下了一定的自由度。例如,在該標(biāo)準(zhǔn)中未預(yù)先確定窗口大小。
圖12例示了由帶有內(nèi)核2.4.18的Linux(1201)和由FreeBSD 5.0(1202)交換的示例性SYN分組。在該圖所例示的示例中可以看到,對(duì)于Linux(內(nèi)核2.4.18),窗口大小等于5840,而對(duì)于FreeBSD 5.0,其等于65535。應(yīng)當(dāng)理解,該差異是非限制性的,也可以實(shí)現(xiàn)其他差異。例如,使用的TCP選項(xiàng)也不同。此外,其他操作系統(tǒng)也可以例示不同的特征。然而,如果知道了操作系統(tǒng)的相應(yīng)特征,就可以識(shí)別在發(fā)送了SYN請(qǐng)求消息的節(jié)點(diǎn)上運(yùn)行的是該操作系統(tǒng)還是不同的操作系統(tǒng)。
圖13是例示根據(jù)本發(fā)明一個(gè)實(shí)施例的操作系統(tǒng)監(jiān)測(cè)器702的框圖。OS監(jiān)測(cè)器包括輸入裝置1301,用于接收數(shù)據(jù),該數(shù)據(jù)對(duì)應(yīng)于由節(jié)點(diǎn)傳送的DHCP消息;DHCP檢驗(yàn)器1302,用于針對(duì)已知操作系統(tǒng)的特征對(duì)所接收到的數(shù)據(jù)進(jìn)行檢驗(yàn);以及數(shù)據(jù)標(biāo)志器1303,用于表示已知操作系統(tǒng)在該節(jié)點(diǎn)上運(yùn)行。應(yīng)當(dāng)理解,可以通過在數(shù)據(jù)庫中對(duì)節(jié)點(diǎn)的相應(yīng)記錄作標(biāo)志,通過向查詢引擎內(nèi)部或外部的其他模塊傳送表示性數(shù)據(jù),或者通過任何其他適用的方式,來進(jìn)行這種表示。
由此,在知道如何基于檢測(cè)到的DHCP消息和SYN請(qǐng)求來發(fā)現(xiàn)操作系統(tǒng)之后,可以認(rèn)識(shí)到,一般來講,根據(jù)本發(fā)明的一個(gè)實(shí)施例,如圖14的流程圖所例示的,可以基于檢測(cè)到的數(shù)據(jù)發(fā)現(xiàn)操作系統(tǒng)。圖15是例示根據(jù)本發(fā)明一個(gè)實(shí)施例的操作系統(tǒng)監(jiān)測(cè)器702的框圖。圖15的OS監(jiān)測(cè)器702根據(jù)圖14所例示的方法進(jìn)行操作。其包括輸入裝置1501,用于接收與由節(jié)點(diǎn)傳送的數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù);數(shù)據(jù)檢驗(yàn)器1502,用于針對(duì)已知操作系統(tǒng)的特征對(duì)接收到的數(shù)據(jù)進(jìn)行檢驗(yàn);以及數(shù)據(jù)標(biāo)志器1503,其表示該已知操作系統(tǒng)在該節(jié)點(diǎn)上運(yùn)行。應(yīng)當(dāng)理解,可以通過在數(shù)據(jù)庫中對(duì)節(jié)點(diǎn)的相應(yīng)記錄作標(biāo)志,通過向查詢引擎內(nèi)部或外部的其他模塊傳送表示性數(shù)據(jù),或者通過任何其他適用的方式,進(jìn)行這種表示。
由此,當(dāng)識(shí)別出在相應(yīng)節(jié)點(diǎn)上運(yùn)行的操作系統(tǒng)時(shí),可以將操作系統(tǒng)的標(biāo)識(shí)插入到在數(shù)據(jù)庫中的相應(yīng)節(jié)點(diǎn)的記錄。
在知道OS監(jiān)測(cè)器702的另選實(shí)施例之后,應(yīng)當(dāng)理解,除了對(duì)在相應(yīng)節(jié)點(diǎn)上運(yùn)行的操作系統(tǒng)的標(biāo)識(shí)進(jìn)行識(shí)別以外,還可以確定與由操作系統(tǒng)執(zhí)行的操作(如啟動(dòng)節(jié)點(diǎn))有關(guān)的其他細(xì)節(jié)。例如,可以基于由節(jié)點(diǎn)傳送的DHCP消息執(zhí)行這種確定。
當(dāng)使用DHCP的節(jié)點(diǎn)啟動(dòng)時(shí),它向DHCP服務(wù)器發(fā)送DHCPDISCOVER或DHCPREQUEST消息。作為IP協(xié)議,由IP分組來攜帶DHCP消息。由此,除DHCP參數(shù)以外,還可以檢查IP分組的報(bào)頭域,如IP標(biāo)識(shí)。當(dāng)使用DHCP的節(jié)點(diǎn)啟動(dòng)時(shí),由這種節(jié)點(diǎn)發(fā)送的初始DHCP分組的IP標(biāo)識(shí)域應(yīng)當(dāng)為零。由此,由剛啟動(dòng)的節(jié)點(diǎn)發(fā)送的DHCPDISCOVER或DHCPREQUEST消息應(yīng)當(dāng)由其IP標(biāo)識(shí)域?yàn)榱愕腎P分組來攜帶。即,當(dāng)對(duì)其IP標(biāo)識(shí)域?yàn)榱愕腄HCP分組進(jìn)行分析時(shí),OS監(jiān)測(cè)器可以推斷發(fā)送了該消息的節(jié)點(diǎn)最近剛啟動(dòng)。為了確定該節(jié)點(diǎn)是第一次啟動(dòng)還是重啟,可以檢查該節(jié)點(diǎn)的歷史活動(dòng)??梢哉J(rèn)為在啟動(dòng)時(shí)刻之前的某個(gè)預(yù)定時(shí)間間隔中沒有顯示活動(dòng)的節(jié)點(diǎn)是第一次啟動(dòng)的。然而,如果該節(jié)點(diǎn)在所述預(yù)定時(shí)間間隔中確實(shí)執(zhí)行了活動(dòng),則將該啟動(dòng)活動(dòng)視為重啟。
此外,應(yīng)當(dāng)理解,有時(shí)節(jié)點(diǎn)例如按照操作員的重啟指令進(jìn)行重啟。然而,某個(gè)節(jié)點(diǎn)的操作恰好不期望地停止了,而自動(dòng)地或手動(dòng)地執(zhí)行重啟以使該節(jié)點(diǎn)回到操作。應(yīng)當(dāng)理解,在這種無意地停止(例如,崩潰或停機(jī))的情況下,不恰當(dāng)?shù)仃P(guān)閉了在該事件之前打開的通信會(huì)話,這與當(dāng)順序地關(guān)閉節(jié)點(diǎn)時(shí)發(fā)生的情況不一樣。因此,與被停止的節(jié)點(diǎn)進(jìn)行通信的其他節(jié)點(diǎn)會(huì)試圖與它通信一會(huì)兒,即使該節(jié)點(diǎn)不對(duì)它們的通信作出響應(yīng)(將這種會(huì)話稱為“掛起會(huì)話”)。由此,除了檢測(cè)重啟的發(fā)生以外,分析器還將檢測(cè)掛起會(huì)話審核模塊將繼續(xù)對(duì)其一個(gè)參與方(被停止的節(jié)點(diǎn))正在重啟的會(huì)話進(jìn)行審核,并且/或者將檢測(cè)操作方的發(fā)送未接收到其確認(rèn)的分組的重試。無論如何,對(duì)掛起會(huì)話的檢測(cè)連同對(duì)節(jié)點(diǎn)重啟的檢測(cè)表示該節(jié)點(diǎn)在其操作的不期望的停止之后進(jìn)行重啟。
應(yīng)當(dāng)理解,每個(gè)操作系統(tǒng)都具有由該操作系統(tǒng)(或在其上運(yùn)行的其他程序)向網(wǎng)絡(luò)傳送的數(shù)據(jù)所反映的相應(yīng)特征。因此,當(dāng)對(duì)節(jié)點(diǎn)的相應(yīng)操作系統(tǒng)進(jìn)行識(shí)別時(shí),期望由該節(jié)點(diǎn)向網(wǎng)絡(luò)傳送的數(shù)據(jù)將與操作系統(tǒng)的特征相符合。連同與節(jié)點(diǎn)有關(guān)的已知附加數(shù)據(jù),每個(gè)節(jié)點(diǎn)都可以具有特征數(shù)據(jù)的相應(yīng)記錄,將該記錄稱為相應(yīng)節(jié)點(diǎn)的特征簡(jiǎn)檔(profile)。節(jié)點(diǎn)的特征簡(jiǎn)檔例如可以包括該節(jié)點(diǎn)的IP標(biāo)識(shí)(操作系統(tǒng)可以隨機(jī)地選擇其域值,或者可以使該IP標(biāo)識(shí)域值逐分組地增加1);IP生存時(shí)間IP不分段(DF)位值;TCP標(biāo)志TCP選項(xiàng)(位和次序);TCP初始窗口大??;和/或發(fā)起連接時(shí)使用的端口。由節(jié)點(diǎn)傳送的數(shù)據(jù)和由網(wǎng)絡(luò)檢測(cè)器檢測(cè)到的數(shù)據(jù)應(yīng)當(dāng)與節(jié)點(diǎn)的相應(yīng)特征簡(jiǎn)檔相符合。
返回到圖7,根據(jù)圖16的流程圖進(jìn)一步對(duì)根據(jù)本發(fā)明一個(gè)實(shí)施例的NAT檢測(cè)器703的操作進(jìn)行描述。應(yīng)當(dāng)指出,在1601處,NAT檢測(cè)器703可以接收由網(wǎng)絡(luò)檢測(cè)器直接傳送的分組,可以接收由分析器202中的其他模塊傳送給它的分組,或者可以接收存儲(chǔ)在存儲(chǔ)裝置上的分組。在1602處,NAT檢測(cè)器對(duì)分組的源節(jié)點(diǎn)進(jìn)行識(shí)別。例如,可以由NAT檢測(cè)器本身(通過對(duì)分組的多個(gè)域進(jìn)行研究)或者借助節(jié)點(diǎn)檢測(cè)器701的幫助來執(zhí)行源節(jié)點(diǎn)識(shí)別。
如前所述,由節(jié)點(diǎn)傳送的數(shù)據(jù)應(yīng)當(dāng)與該節(jié)點(diǎn)的特征簡(jiǎn)檔相符合。因此,在1603處,NAT檢測(cè)器對(duì)源節(jié)點(diǎn)是否具有相應(yīng)的特征簡(jiǎn)檔進(jìn)行檢查。如果未找到這種簡(jiǎn)檔(例如,如果尚未識(shí)別出該節(jié)點(diǎn)的操作系統(tǒng),則會(huì)出現(xiàn)這種情況),則NAT檢測(cè)器結(jié)束對(duì)分組的分析,而不能確定其源節(jié)點(diǎn)是否為NAT設(shè)備。然而,如果可以確定源節(jié)點(diǎn)的特征簡(jiǎn)檔,則在1604處,NAT檢測(cè)器將該分組與該特征簡(jiǎn)檔進(jìn)行比較。如果在1605處NAT檢測(cè)器發(fā)現(xiàn)該分組與特征簡(jiǎn)檔不相符,則認(rèn)為其源節(jié)點(diǎn)是NAT設(shè)備(見1606)。
還應(yīng)當(dāng)理解的是,當(dāng)在NAT設(shè)備背后運(yùn)行的源節(jié)點(diǎn)(即,集群中的源節(jié)點(diǎn))向不是該集群的一部分的目的地節(jié)點(diǎn)發(fā)送數(shù)據(jù)報(bào)時(shí),該NAT設(shè)備接收該數(shù)據(jù)報(bào)并對(duì)其進(jìn)行轉(zhuǎn)換。即,NAT設(shè)備對(duì)由其攜帶的某些數(shù)據(jù)進(jìn)行替換,以表示它自己的特征而不是源節(jié)點(diǎn)的特征。例如數(shù)據(jù)報(bào)的源IP地址和MAC地址將是NAT設(shè)備的源IP地址和MAC地址而不是源節(jié)點(diǎn)的。類似地,當(dāng)集群外部的源節(jié)點(diǎn)向集群中的目的地節(jié)點(diǎn)發(fā)送數(shù)據(jù)報(bào)時(shí),它實(shí)際上向NAT設(shè)備發(fā)送數(shù)據(jù)報(bào),該NAT設(shè)備對(duì)該數(shù)據(jù)報(bào)進(jìn)行轉(zhuǎn)換(NAT設(shè)備插入其自己的地址作為數(shù)據(jù)報(bào)的源標(biāo)識(shí)域,并將該集群目的地節(jié)點(diǎn)的地址插入數(shù)據(jù)報(bào)的目的地標(biāo)識(shí)域中),并將其轉(zhuǎn)發(fā)給集群目的地節(jié)點(diǎn)。然而,在大多數(shù)情況下由NAT設(shè)備執(zhí)行的轉(zhuǎn)換是不徹底的,而留下了針對(duì)發(fā)送數(shù)據(jù)報(bào)的原始操作系統(tǒng)的證據(jù)。NAT檢測(cè)器可以將這些“遺留”證據(jù)用于收集與集群有關(guān)的信息。例如,NAT檢測(cè)器可以對(duì)在該NAT設(shè)備背后的集群中存在多少個(gè)類型的操作系統(tǒng)進(jìn)行計(jì)數(shù)。
應(yīng)當(dāng)理解,如上所述,在NAT控制器703中執(zhí)行對(duì)關(guān)于集群的信息的收集。然而,這是非限制性的,其他模塊也可以執(zhí)行這種收集。例如,OS監(jiān)測(cè)器702也可以執(zhí)行這種收集。
至此,已對(duì)節(jié)點(diǎn)檢測(cè)器701、OS監(jiān)測(cè)器702、NAT檢測(cè)器703以及拓?fù)浣Y(jié)構(gòu)監(jiān)測(cè)器704進(jìn)行了描述。然而,圖7的分析器202的實(shí)施例還包括審核模塊706。審核模塊706例如可以利用SYN/FIN分組分析來檢測(cè)TCP/IP會(huì)話。SYN分組和/或SYN-ACK分組表示在兩個(gè)節(jié)點(diǎn)之間開啟的新連接,而FIN分組表示開啟的連接的終止。因此,通過對(duì)SYN分組和/或FIN分組進(jìn)行檢測(cè)和分析,可以收集與目前在網(wǎng)絡(luò)上開啟的TCP連接有關(guān)的信息。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,當(dāng)審核模塊706檢測(cè)到在多個(gè)節(jié)點(diǎn)之間開啟了會(huì)話時(shí),其使用會(huì)話開啟時(shí)間對(duì)節(jié)點(diǎn)在數(shù)據(jù)庫中的相應(yīng)記錄進(jìn)行標(biāo)記。當(dāng)審核模塊706檢測(cè)到會(huì)話終止了時(shí),其使用會(huì)話結(jié)束時(shí)間對(duì)節(jié)點(diǎn)的相應(yīng)記錄進(jìn)行標(biāo)記。
這是非限制性的,并且審核模塊706可以執(zhí)行附加的監(jiān)測(cè)任務(wù)。例如,當(dāng)在多個(gè)節(jié)點(diǎn)之間檢測(cè)到UDP分組時(shí),審核模塊可以在該節(jié)點(diǎn)的相應(yīng)記錄中標(biāo)記它們參與了無連接通信。
因此,應(yīng)當(dāng)理解,通過對(duì)存儲(chǔ)在節(jié)點(diǎn)的相應(yīng)記錄中的數(shù)據(jù)或與節(jié)點(diǎn)的相應(yīng)記錄相關(guān)聯(lián)的數(shù)據(jù)進(jìn)行查詢,以后可以評(píng)估詳情,如在網(wǎng)絡(luò)上第一次檢測(cè)到該節(jié)點(diǎn)的時(shí)間,該節(jié)點(diǎn)第一次參與通信會(huì)話的時(shí)間,該節(jié)點(diǎn)參與通信會(huì)話的頻度如何,等等。
網(wǎng)絡(luò)統(tǒng)計(jì)模塊705對(duì)接收到的數(shù)據(jù)進(jìn)行分析,以記錄存儲(chǔ)在其中的所需信息。例如,網(wǎng)絡(luò)統(tǒng)計(jì)模塊可以收集以下信息,如分組和/或消息類型(如ARP、TCP、UDP、ICMP、DHCP、SNMP、HTTP等)、消息功能(例如,在DHCP中該功能可以是DHCPDISCOVER、DHCPREQUEST等)、分組的源地址并且可能地還有分組的目的地地址(包括諸如端口和/或IP地址的信息),以及分組的大小??梢詫⑹占降男畔⒂涗浽跀?shù)據(jù)庫中。此外,統(tǒng)計(jì)模塊將所收集到的信息用于計(jì)算網(wǎng)絡(luò)使用信息(如識(shí)別網(wǎng)絡(luò)中的最大帶寬消費(fèi)者,什么協(xié)議在特定鏈路上消費(fèi)了多少帶寬,等等)。
應(yīng)當(dāng)理解,類似于其他模塊,統(tǒng)計(jì)模塊也可以通過任何適用的方式來接收數(shù)據(jù)。例如,它可以直接從網(wǎng)絡(luò)檢測(cè)器接收數(shù)據(jù),或者可以從存儲(chǔ)裝置獲取數(shù)據(jù)。
在知道網(wǎng)絡(luò)統(tǒng)計(jì)模塊705在數(shù)據(jù)庫中記錄與檢測(cè)到的數(shù)據(jù)有關(guān)的信息之后,應(yīng)當(dāng)理解,例如,上述審核模塊706可以接收存儲(chǔ)在數(shù)據(jù)庫中的數(shù)據(jù),而不是直接接收由網(wǎng)絡(luò)檢測(cè)器直接傳送的分組。然后,審核模塊可以對(duì)所接收到的數(shù)據(jù)進(jìn)行分析,而不管這是如何接收到的。然而,這是非限制性的,對(duì)于在分析器202上運(yùn)行的任何其他模塊或可以訪問由分析器202存儲(chǔ)的數(shù)據(jù)的任何其他模塊來說,這都是正確的。
最后,在描述查詢引擎之前,對(duì)告警生成器707進(jìn)行描述。告警生成器對(duì)在網(wǎng)絡(luò)101中或在網(wǎng)絡(luò)信息收集器201中發(fā)生的幾種事件進(jìn)行響應(yīng),并生成表示所發(fā)生的事件的告警。例如,告警生成器707可以具有一系列預(yù)定事件,如登錄到特定節(jié)點(diǎn)的特定用戶,試圖開啟與不同的特定節(jié)點(diǎn)之間的通信會(huì)話的特定節(jié)點(diǎn),試圖在預(yù)定時(shí)段內(nèi)開啟多于預(yù)定數(shù)量個(gè)會(huì)話的任何節(jié)點(diǎn),在網(wǎng)絡(luò)上檢測(cè)到的特定節(jié)點(diǎn)類型,等等。
告警生成器707可以對(duì)由網(wǎng)絡(luò)檢測(cè)器203或由分析器202中的其他模塊直接傳送給它的數(shù)據(jù)進(jìn)行分析,或者可以接收存儲(chǔ)在數(shù)據(jù)庫中的數(shù)據(jù),如由網(wǎng)絡(luò)統(tǒng)計(jì)模塊705或由審核模塊706先前存儲(chǔ)的數(shù)據(jù)。應(yīng)當(dāng)指出,告警生成器707可以從另選源接收數(shù)據(jù),如從遠(yuǎn)程源傳送給它的數(shù)據(jù),或存儲(chǔ)在告警生成器707可訪問的任何存儲(chǔ)介質(zhì)上的數(shù)據(jù)。
根據(jù)到目前為止給出的描述,分析器(即,包括在其中運(yùn)行的模塊的分析器)對(duì)檢測(cè)到的數(shù)據(jù)(如檢測(cè)到的分組和消息)進(jìn)行分析。然而,分析器也可以對(duì)其他數(shù)據(jù)進(jìn)行分析,以對(duì)與通信網(wǎng)絡(luò)有關(guān)的信息進(jìn)行檢測(cè)并對(duì)缺失信息進(jìn)行識(shí)別。例如,當(dāng)一新節(jié)點(diǎn)連接到網(wǎng)絡(luò)時(shí),允許向信息收集器的數(shù)據(jù)庫手動(dòng)地提供信息,如與IP棧(例如,IP地址)有關(guān)的信息、與硬件有關(guān)的信息、擇路信息等。在此情況下,手動(dòng)提供的信息構(gòu)成了其他數(shù)據(jù)。
圖8是例示根據(jù)本發(fā)明一不同實(shí)施例的分析器的框圖。圖8的分析器包括用于接收如上所述的其他數(shù)據(jù)的輸入裝置801。該分析器的其他模塊與圖7中的類似。
前面已參照?qǐng)D7提到,多個(gè)不同的模塊可以運(yùn)行在分析器202上。然而,有時(shí)存在不能按對(duì)節(jié)點(diǎn)透明的方式從由節(jié)點(diǎn)傳送的數(shù)據(jù)中檢測(cè)出的缺失信息。例如,將節(jié)點(diǎn)的MAC地址映射到交換機(jī)端口地址。然而,這是非限制性的,存在產(chǎn)生缺失信息的其他原因。有時(shí)信息因尚未被檢測(cè)到而是缺失的,通過進(jìn)一步等待,分析器可能會(huì)檢測(cè)到它并對(duì)它進(jìn)行分析。例如,節(jié)點(diǎn)檢測(cè)器601檢測(cè)到在網(wǎng)絡(luò)上存在某個(gè)節(jié)點(diǎn),但是由于尚未檢測(cè)到DHCP分組或SYN分組,所以O(shè)S監(jiān)測(cè)器沒有檢測(cè)出正在該節(jié)點(diǎn)上運(yùn)行的是什么操作系統(tǒng)。還有一種可能性是,存在在很長(zhǎng)時(shí)間段之前檢測(cè)到的信息。由于不確定該信息是否仍然有效,所以分析器可以將其視為缺失信息。
當(dāng)分析器202識(shí)別到缺失信息時(shí),其可以指示查詢引擎204針對(duì)該缺失信息而查詢網(wǎng)絡(luò)中的一個(gè)或更多個(gè)節(jié)點(diǎn)。以下對(duì)由查詢引擎204執(zhí)行的操作進(jìn)行詳細(xì)描述。
為了指示查詢引擎針對(duì)缺失信息進(jìn)行查詢,分析器202可以對(duì)可提供給信息收集器201的數(shù)據(jù)(如存儲(chǔ)在數(shù)據(jù)庫中的數(shù)據(jù))進(jìn)行檢驗(yàn)。當(dāng)發(fā)現(xiàn)了不完整記錄時(shí),分析器可以指示查詢引擎針對(duì)其中缺失的信息進(jìn)行查詢。根據(jù)一不同實(shí)施例,只有當(dāng)經(jīng)過了預(yù)定時(shí)間間隔時(shí)(在此過程中可能檢測(cè)到了該信息)才將不完整記錄中缺失的信息識(shí)別為缺失信息。例如,如果檢測(cè)到一節(jié)點(diǎn),則在預(yù)定時(shí)間間隔內(nèi)應(yīng)當(dāng)檢測(cè)到在其上運(yùn)行的相應(yīng)操作系統(tǒng)。如果分析器檢測(cè)到在該節(jié)點(diǎn)的相應(yīng)記錄中缺失了操作系統(tǒng)信息,但是尚未經(jīng)過預(yù)定時(shí)間間隔,則分析器不將該操作系統(tǒng)信息識(shí)別為缺失信息。
應(yīng)當(dāng)認(rèn)識(shí)到,對(duì)于不同類型和類別的缺失信息,可以存在不同的預(yù)定時(shí)間間隔。例如,操作系統(tǒng)檢測(cè)可以具有一個(gè)預(yù)定時(shí)間間隔(稱為“OS檢測(cè)時(shí)間間隔”),而期望在不同的時(shí)間間隔(稱為“會(huì)話檢測(cè)時(shí)間間隔”)中識(shí)別出TCP會(huì)話相關(guān)數(shù)據(jù)。與OS檢測(cè)時(shí)間間隔相比,會(huì)話檢測(cè)時(shí)間間隔在持續(xù)時(shí)間上可以更短或更長(zhǎng),或者它們可以相等。此外,代替使用預(yù)定時(shí)間間隔,有時(shí)使用可配置時(shí)間間隔,如在后述示例中的TCP會(huì)話的持續(xù)時(shí)間。對(duì)于不能從檢測(cè)到的數(shù)據(jù)中收集到的信息,可以使用基本上等于零的預(yù)定時(shí)間間隔,或者根本沒有預(yù)定時(shí)間間隔。
圖17是例示根據(jù)本發(fā)明一個(gè)實(shí)施例的對(duì)缺失信息進(jìn)行識(shí)別的流程圖。在1701處,分析器對(duì)可提供給信息收集器的數(shù)據(jù)進(jìn)行檢驗(yàn),如對(duì)數(shù)據(jù)庫中的記錄進(jìn)行檢驗(yàn)。如果在1702處分析器找到了不完整記錄,則在1703處其確定缺失數(shù)據(jù)時(shí)標(biāo)和缺失數(shù)據(jù)的相應(yīng)預(yù)定時(shí)間間隔(在1704處)。
應(yīng)當(dāng)理解,為了讓分析器能夠確定是否已經(jīng)過預(yù)定時(shí)間間隔,需要時(shí)標(biāo)來表示從其開始測(cè)量該預(yù)定時(shí)間間隔的時(shí)間。時(shí)標(biāo)的示例是第一次檢測(cè)到節(jié)點(diǎn)的時(shí)間、開啟TCP會(huì)話的時(shí)間、節(jié)點(diǎn)啟動(dòng)的時(shí)間等。
如果在1705處分析器(例如通過對(duì)當(dāng)前時(shí)間減去時(shí)標(biāo)是否大于預(yù)定時(shí)間間隔進(jìn)行檢查)確定已經(jīng)過預(yù)定時(shí)間間隔,則其將所述數(shù)據(jù)識(shí)別為缺失數(shù)據(jù)(見1706)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,分析器可以將數(shù)據(jù)標(biāo)記為缺失數(shù)據(jù)。另選地,它可以將該數(shù)據(jù)列于缺失數(shù)據(jù)表或列表中。然后查詢激活器處理可以對(duì)該列表進(jìn)行檢索,并激活查詢引擎以針對(duì)缺失數(shù)據(jù)進(jìn)行查詢。然而,這是非限制性的,并且也可以使用其他實(shí)施例。例如,根據(jù)一不同實(shí)施例,當(dāng)分析器識(shí)別出缺失數(shù)據(jù)時(shí)(在1706處),其可以指示查詢引擎針對(duì)該缺失數(shù)據(jù)進(jìn)行查詢。
應(yīng)當(dāng)指出,圖17的實(shí)施例是非限制性的,也可以使用用于識(shí)別缺失數(shù)據(jù)并且/或者用于指示查詢引擎針對(duì)缺失數(shù)據(jù)進(jìn)行查詢的不同實(shí)施例和策略,例如,可能的話也可以使用事件驅(qū)動(dòng)策略。例如,在檢測(cè)到特定節(jié)點(diǎn)在短持續(xù)時(shí)間內(nèi)開啟了許多TCP會(huì)話的事件中,分析器懷疑這是惡意活動(dòng)。為了確定這是否確實(shí)是這種情況,需要關(guān)于該節(jié)點(diǎn)的其他信息、其相應(yīng)的操作系統(tǒng)以及其歷史活動(dòng)。然而,根據(jù)本示例,分析器發(fā)現(xiàn)尚未檢測(cè)到操作系統(tǒng)。在此情況下,即使尚未經(jīng)過預(yù)定時(shí)間間隔,分析器也可以指示查詢引擎對(duì)操作系統(tǒng)信息進(jìn)行查詢。
下面轉(zhuǎn)向?qū)Σ樵円?04進(jìn)行描述,圖18是例示根據(jù)本發(fā)明一個(gè)實(shí)施例的查詢引擎204的框圖。該查詢引擎包括幾個(gè)模塊,如節(jié)點(diǎn)探查器1801、操作系統(tǒng)(OS)查詢模塊1802、協(xié)議和服務(wù)探查器1803、拓?fù)浣Y(jié)構(gòu)追蹤器1804、應(yīng)用監(jiān)測(cè)器1805、審核測(cè)試器1806、告警生成器1807,以及響應(yīng)合法性監(jiān)測(cè)器1808。本實(shí)施例是示例性的而非限制性的,可以使用另選實(shí)施例。例如,查詢引擎可以只包括模塊1801到1807中的幾個(gè)模塊,可以包括不同的或附加的多個(gè)模塊,或者包括它們的組合。附加模塊的一個(gè)示例是配置控制和適應(yīng)性模塊,其用于驗(yàn)證對(duì)節(jié)點(diǎn)的配置和安裝是遵照還是違背了在機(jī)構(gòu)中采用的實(shí)施。
此外,查詢引擎還可以包括查詢消息生成器1809,其生成用于發(fā)送給待查詢節(jié)點(diǎn)的查詢消息;和輸出裝置1810,用于將該查詢消息傳送(或發(fā)送)給待查詢的節(jié)點(diǎn)。查詢引擎還可以包括輸入裝置1811,用于接收對(duì)應(yīng)于查詢消息的至少一個(gè)響應(yīng);和響應(yīng)處理器1812,用于對(duì)所述至少一個(gè)響應(yīng)進(jìn)行處理以獲取與缺失信息相對(duì)應(yīng)的信息。
查詢引擎204中包括的一些模塊每個(gè)都針對(duì)缺失信息對(duì)在通信網(wǎng)絡(luò)101中運(yùn)行的一個(gè)或更多個(gè)節(jié)點(diǎn)進(jìn)行查詢。幾個(gè)模塊對(duì)與通信網(wǎng)絡(luò)的和/或其中包括的節(jié)點(diǎn)的不同特征有關(guān)的信息進(jìn)行查詢。這種模塊例如是節(jié)點(diǎn)探查器1801、OS查詢模塊1802、拓?fù)浣Y(jié)構(gòu)追蹤器1804以及審核測(cè)試器1806。節(jié)點(diǎn)探查器1801發(fā)送數(shù)據(jù),以針對(duì)在網(wǎng)絡(luò)中運(yùn)行的節(jié)點(diǎn)和/或與這些節(jié)點(diǎn)有關(guān)的信息進(jìn)行查詢。OS查詢模塊1802針對(duì)與在檢測(cè)到的節(jié)點(diǎn)上運(yùn)行的操作系統(tǒng)有關(guān)的信息進(jìn)行查詢。拓?fù)浣Y(jié)構(gòu)追蹤器1804針對(duì)與網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)有關(guān)的信息進(jìn)行查詢。審核測(cè)試器1806針對(duì)會(huì)話信息(如與TCP/IP會(huì)話有關(guān)的信息)進(jìn)行查詢,由此使得可以識(shí)別當(dāng)前在一個(gè)或更多個(gè)節(jié)點(diǎn)上運(yùn)行的網(wǎng)絡(luò)服務(wù)。
應(yīng)當(dāng)指出,到目前為止描述的查詢引擎中的模塊是對(duì)在分析器上運(yùn)行的模塊的補(bǔ)充,例如,它們針對(duì)不能或尚未由分析器檢測(cè)到的信息進(jìn)行查詢。應(yīng)當(dāng)理解,查詢引擎可以包括并非是對(duì)分析器模塊的補(bǔ)充的附加模塊。這種模塊可以在分析器中具有或不具有等同物。
告警生成器1807是查詢引擎模塊的一個(gè)示例,當(dāng)在網(wǎng)絡(luò)中和/或在查詢引擎中發(fā)生了預(yù)定事件時(shí),其向操作員提供告警。例如,OS監(jiān)測(cè)器1802不能檢測(cè)到在相應(yīng)節(jié)點(diǎn)上運(yùn)行的操作系統(tǒng);某個(gè)節(jié)點(diǎn)似乎在防火墻的背后,等等。應(yīng)當(dāng)理解,告警生成器1807等同于分析器的告警生成器707,而不是對(duì)后者的補(bǔ)充。
在給出對(duì)查詢引擎中包括的模塊的詳細(xì)描述和它們的操作方法的建議實(shí)施例之前,應(yīng)當(dāng)認(rèn)識(shí)到,通過針對(duì)信息進(jìn)行查詢,或者換句話說,通過使用測(cè)量流量,可以理解并研究與通信網(wǎng)絡(luò)有關(guān)的信息,如現(xiàn)有技術(shù)中已知的那樣(例如,參見在本發(fā)明的“背景技術(shù)”中提到的文章“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”)。測(cè)量流量包括特殊構(gòu)造的分組,即,其多個(gè)域包括被指定用于查詢的目的的特定值的分組。根據(jù)需要的被查詢信息,例如,根據(jù)從分析器202接收的指令,來確定分組的類型和內(nèi)容。
例如,如上所述,為了將MAC地址映射到交換機(jī)端口地址,查詢引擎可以例如通過使用合適的SNMP呼叫,來提取或重構(gòu)交換機(jī)的CAM(內(nèi)容可尋址存儲(chǔ)器)表。
圖19是總體上例示根據(jù)本發(fā)明一個(gè)實(shí)施例的查詢引擎的操作的流程圖。根據(jù)本實(shí)施例,查詢引擎構(gòu)造或生成查詢消息。該查詢消息對(duì)應(yīng)于所需要的信息,即,缺失信息。在后一示例中該消息是SNMP消息。然后查詢引擎將所生成的消息發(fā)送給待查詢的一個(gè)或更多個(gè)節(jié)點(diǎn)。
應(yīng)當(dāng)理解,接收到查詢消息的節(jié)點(diǎn)可以生成并發(fā)送對(duì)應(yīng)的響應(yīng)消息。在此情況下,由網(wǎng)絡(luò)檢測(cè)器203來檢測(cè)該響應(yīng)消息,并由分析器202來對(duì)其進(jìn)行分析。另選地,由于是查詢引擎發(fā)送查詢消息,所以最有可能的是向查詢引擎發(fā)送響應(yīng)消息。因此,如果適用的話,還可以在查詢引擎中對(duì)響應(yīng)進(jìn)行處理或分析,以獲取與缺失信息相對(duì)應(yīng)的信息。
還應(yīng)當(dāng)理解,即使在分析器202檢測(cè)到并處理響應(yīng)的情況下,查詢引擎仍然可以接收該響應(yīng),并完全地或部分地對(duì)其進(jìn)行處理,以獲取信息。例如,響應(yīng)合法性監(jiān)測(cè)器1808可以檢查響應(yīng),以確信該響應(yīng)是真實(shí)的響應(yīng)而不是人為杜撰的響應(yīng)。人為杜撰的響應(yīng)例如表示節(jié)點(diǎn)的多個(gè)內(nèi)核參數(shù)中的某些被蓄意改變了。
例如,如果查詢消息是SYN請(qǐng)求,則該響應(yīng)可以是以下中的一個(gè)SYN-ACK,RST,或者沒有響應(yīng)。然而,如果響應(yīng)合法性監(jiān)測(cè)器1808發(fā)現(xiàn)該響應(yīng)是SYN-FIN消息,那么這表示該消息是人為杜撰的。
圖20是例示根據(jù)節(jié)點(diǎn)探查器1801的一個(gè)實(shí)施例的節(jié)點(diǎn)探查的流程圖。節(jié)點(diǎn)探查器接收在網(wǎng)絡(luò)上運(yùn)行的一地址范圍(如IP子網(wǎng))。應(yīng)當(dāng)理解,子網(wǎng)包括受限已知數(shù)量個(gè)可能的IP地址,分析器已檢測(cè)到其中一些IP地址,即,已將其中一些IP地址映射到在網(wǎng)絡(luò)上運(yùn)行的多個(gè)節(jié)點(diǎn)。因此,對(duì)于所述范圍中的每個(gè)地址,如果尚未將該地址映射到一節(jié)點(diǎn),則節(jié)點(diǎn)探查器對(duì)該地址進(jìn)行探查,以查看是否存在帶有該地址的節(jié)點(diǎn)。
存在幾種方式用來探查地址。如果地址是(例如IP子網(wǎng)中的)IP地址,則節(jié)點(diǎn)探查器可以生成ARP請(qǐng)求并將其發(fā)送給所探查的地址。如果存在帶有該地址的節(jié)點(diǎn),則該節(jié)點(diǎn)將通過發(fā)送標(biāo)識(shí)相應(yīng)的MAC地址的回復(fù),來對(duì)該ARP請(qǐng)求作出響應(yīng)。應(yīng)當(dāng)理解,可以由網(wǎng)絡(luò)檢測(cè)器203對(duì)ARP請(qǐng)求進(jìn)行檢測(cè),并由分析器202對(duì)其進(jìn)行分析。另選地,由于查詢引擎發(fā)送了ARP請(qǐng)求,所以它也將接收回復(fù)。因此,如果適用的話,也可以在查詢引擎中對(duì)回復(fù)進(jìn)行分析,并由其將IP地址映射到MAC地址。然而,沒有接收到回復(fù)表示該地址未映射到網(wǎng)絡(luò)上的節(jié)點(diǎn),或者該節(jié)點(diǎn)可能當(dāng)前不在運(yùn)行,或者它在防火墻背后。
根據(jù)一不同實(shí)施例,節(jié)點(diǎn)探查器可以通過構(gòu)造ICMP回應(yīng)請(qǐng)求并將其發(fā)送給一地址來對(duì)該地址進(jìn)行探查。同樣,沒有接收到回復(fù)表示該地址未映射到網(wǎng)絡(luò)上的節(jié)點(diǎn),或者該節(jié)點(diǎn)可能當(dāng)前不在運(yùn)行,或者它在防火墻背后。
如本領(lǐng)域的技術(shù)人員可以理解的,存在其他探查可能性。一些是向地址上的某個(gè)端口發(fā)送TCP-SYN請(qǐng)求、向地址上的某個(gè)端口發(fā)送人為構(gòu)造的TCP-ACK響應(yīng)或向地址上的關(guān)閉端口發(fā)送UDP數(shù)據(jù)報(bào)。如本領(lǐng)域的技術(shù)人員公知的,例如,可以根據(jù)因特網(wǎng)號(hào)碼分配機(jī)構(gòu)(IANA)的已用端口列表來選擇關(guān)閉端口。在所有這些示例中,沒有接收到響應(yīng)表示該地址未映射到網(wǎng)絡(luò)上的節(jié)點(diǎn),或者該節(jié)點(diǎn)可能當(dāng)前不在運(yùn)行,或者它在防火墻背后。
活動(dòng)審核測(cè)試器1806對(duì)特定的一個(gè)或更多個(gè)節(jié)點(diǎn)上的特定端口是開啟的還是關(guān)閉的(即,當(dāng)前正在使用該端口還是不在對(duì)該端口進(jìn)行偵聽)進(jìn)行測(cè)試。本領(lǐng)域的技術(shù)人員將理解,SYN-ACK響應(yīng)表示該端口當(dāng)前是開啟的,而RST表示它是關(guān)閉的。
活動(dòng)審核測(cè)試器1806還對(duì)接收到的數(shù)據(jù)進(jìn)行監(jiān)測(cè),以找到對(duì)變化的指示。例如,交換機(jī)的MAC表中的變化可以表示一個(gè)或更多個(gè)MAC地址已移動(dòng)到該交換機(jī)上的其他端口。告警生成器1807將生成告警,根據(jù)該告警,網(wǎng)絡(luò)操作員可以對(duì)該交換機(jī)進(jìn)行檢查,以確信它沒有被破壞。
應(yīng)用監(jiān)測(cè)器1805對(duì)分析器所檢測(cè)到的運(yùn)行進(jìn)程的活動(dòng)進(jìn)行監(jiān)測(cè)。應(yīng)用監(jiān)測(cè)器可以監(jiān)測(cè)到該進(jìn)程是活動(dòng)的,也可以監(jiān)測(cè)到它們的響應(yīng)時(shí)間。應(yīng)當(dāng)理解,長(zhǎng)響應(yīng)時(shí)間可能表示該節(jié)點(diǎn)承受了負(fù)荷,并且響應(yīng)時(shí)間的波動(dòng)可能表示影響該節(jié)點(diǎn)的變化的負(fù)荷。
為了對(duì)應(yīng)用進(jìn)行監(jiān)測(cè),應(yīng)用監(jiān)測(cè)器1805使用該應(yīng)用的協(xié)議向該應(yīng)用發(fā)送數(shù)據(jù)報(bào)和請(qǐng)求。例如,為了對(duì)web服務(wù)器的活動(dòng)進(jìn)行監(jiān)測(cè),應(yīng)用監(jiān)測(cè)器1805可以使用TCP握手序列開啟一連接,接著對(duì)根頁面進(jìn)行HTTPGET請(qǐng)求。對(duì)響應(yīng)時(shí)間的監(jiān)測(cè)(如果確實(shí)接收到響應(yīng)的話)提供了對(duì)該web服務(wù)器的狀況的指示。
拓?fù)浣Y(jié)構(gòu)追蹤器1804根據(jù)分析器收集到的信息確定缺失的網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。如上所述,將缺失拓?fù)浣Y(jié)構(gòu)信息視為缺失數(shù)據(jù)。這樣,拓?fù)浣Y(jié)構(gòu)追蹤器1804例如通過使用SNMP或交換機(jī)的API(甚至可能是拓?fù)浣Y(jié)構(gòu)追蹤器1804被設(shè)計(jì)成通過其進(jìn)行操作和通信的專用API),來提取或重構(gòu)交換機(jī)的CAM表。拓?fù)浣Y(jié)構(gòu)追蹤器1804還提取路由器的擇路表。使用SNMP和路由器的API也可以執(zhí)行這種提取。應(yīng)當(dāng)理解,通過發(fā)送ARP消息并對(duì)其響應(yīng)進(jìn)行處理,拓?fù)浣Y(jié)構(gòu)追蹤器1804可以嘗試重構(gòu)擇路表。由于熟悉擇路表,所以拓?fù)浣Y(jié)構(gòu)追蹤器1804可以獲知子網(wǎng)和用于路程段(hop)的其他路由器以及針對(duì)這些子網(wǎng)的擇路數(shù)據(jù)。
這是非限制性的,拓?fù)浣Y(jié)構(gòu)追蹤器1804可以具有其他任務(wù)和責(zé)任。例如,使用SNMP和API,拓?fù)浣Y(jié)構(gòu)追蹤器1804可以獲知路由器的接口,如它們相應(yīng)的MAC地址、IP地址以及掩碼。子網(wǎng)掩碼例如可以提供關(guān)于連接到該路由器的其他子網(wǎng)的信息。
協(xié)議和服務(wù)探查器1803例如根據(jù)圖21的流程圖嘗試對(duì)在端口上運(yùn)行的服務(wù)和協(xié)議進(jìn)行識(shí)別。在開啟到端口的TCP連接之后,協(xié)議和服務(wù)探查器1803嘗試與在其上運(yùn)行的服務(wù)進(jìn)行通信。首先,協(xié)議和服務(wù)探查器1803可以嘗試按端口號(hào)碼的IANA列表中列出的協(xié)議進(jìn)行通信(參見http//www.iana.org/assignments/port-numbers),如果其中確實(shí)列出了該端口的話。如果沒有接收到響應(yīng),或者如果在IANA列表中未列出該端口,則協(xié)議和服務(wù)探查器1803可以嘗試使用被預(yù)配置使用的公共協(xié)議。例如,HTTP、telnet,甚至專用協(xié)議。
除了嘗試開啟TCP端口以外,或者與嘗試開啟TCP端口并行地,協(xié)議和服務(wù)探查器1803可以嘗試開啟UDP端口,并執(zhí)行與前面針對(duì)TCP描述的操作類似的操作,但是此時(shí)使用UDP數(shù)據(jù)報(bào)執(zhí)行該操作。應(yīng)當(dāng)理解,當(dāng)嘗試開啟關(guān)閉的UDP端口時(shí),協(xié)議和服務(wù)探查器1803將接收到ICMP端口不可達(dá)錯(cuò)誤消息。如果成功地開啟了該端口,則協(xié)議和服務(wù)探查器1803可以嘗試使用IANA端口列表和/或應(yīng)用的可配置列表對(duì)在該端口上運(yùn)行的應(yīng)用的標(biāo)識(shí)進(jìn)行探查。
應(yīng)當(dāng)理解,結(jié)合圖21的以上描述是非限制性的,并且除TCP和UDP以外,協(xié)議和服務(wù)探查器1803還可以測(cè)試其他協(xié)議,如ICMP、IGMP(因特網(wǎng)組管理協(xié)議)等。例如,協(xié)議和服務(wù)探查器1803可以檢查協(xié)議的IANA列表(參見http//www.iana.org/assignments/protocol-numbers),以找出所謂的標(biāo)準(zhǔn)協(xié)議或公知協(xié)議。同樣,也可以使用協(xié)議的再配置列表(也包括專用協(xié)議),以嘗試與節(jié)點(diǎn)進(jìn)行通信。
OS查詢模塊1802利用操作系統(tǒng)指紋測(cè)試來確定在節(jié)點(diǎn)上運(yùn)行的操作系統(tǒng)。應(yīng)當(dāng)理解,所執(zhí)行的測(cè)試受到由分析器202確定的缺失數(shù)據(jù)的字符的影響。
例如,分析器已接收到由在網(wǎng)絡(luò)上運(yùn)行的節(jié)點(diǎn)發(fā)送的SYN請(qǐng)求并對(duì)其進(jìn)行了分析。該SYN請(qǐng)求參數(shù)如下tcp_syn_window_size=16384tcp_syn_IP_ID=!0tcp_syn_DF=1tcp_syn_TTL=128tcp_syn_options_order=”mss(1460)NOP NOP sackok”tcp_syn_size=48由于這些參數(shù)既表征微軟的視窗2000又表征微軟的視窗2003,所以分析器不能確定這兩個(gè)中的哪一個(gè)是正在該節(jié)點(diǎn)上運(yùn)行的操作系統(tǒng),即,在此情況下操作系統(tǒng)是缺失數(shù)據(jù)。然而,在此情況下,將選項(xiàng)縮減為所述兩個(gè)操作系統(tǒng)中的一個(gè)。因此,例如,很清楚該操作系統(tǒng)不是Linux。
OS查詢模塊1802將通過執(zhí)行操作系統(tǒng)指紋測(cè)試來嘗試區(qū)分所述兩個(gè)操作系統(tǒng)。應(yīng)當(dāng)理解,存在許多操作系統(tǒng)指紋測(cè)試,如發(fā)送ICMP回應(yīng)請(qǐng)求的測(cè)試,發(fā)送SYN請(qǐng)求的測(cè)試,嘗試向UDP端口發(fā)送數(shù)據(jù)的測(cè)試,等等。根據(jù)本發(fā)明的一個(gè)實(shí)施例,一專用子模塊執(zhí)行其相應(yīng)的各類型的測(cè)試。在本示例中,將子模塊稱為子模塊A、子模塊B、子模塊C等。
為了避免執(zhí)行OS查詢模塊1802可獲取的所有操作系統(tǒng)指紋測(cè)試,OS查詢模塊1802具有可訪問到的列表組,其中,該組中的每個(gè)列表都包括響應(yīng)于由一個(gè)子模塊執(zhí)行的測(cè)試而從一個(gè)操作系統(tǒng)接收到的指紋。圖22A例示了表征微軟視窗2000操作系統(tǒng)的指紋的示例性列表,而圖22B例示了表征微軟視窗2000操作系統(tǒng)的指紋的示例性列表。這是非限制性的,可以存在其他操作系統(tǒng)的其他指紋列表。此外,圖22A和22B的列表包括從由6個(gè)不同的子模塊(即,A、B、C、D、E以及F)表示的6個(gè)不同的測(cè)試接收到的指紋。應(yīng)當(dāng)理解,該數(shù)量(6個(gè))也是非限制性的,并且OS查詢模塊1802可以通過任意數(shù)量個(gè)子模塊執(zhí)行任意數(shù)量個(gè)測(cè)試,包括在本示例中未例示的其他測(cè)試,替換本示例中的那些測(cè)試的不同測(cè)試,甚至可以執(zhí)行更少的測(cè)試。
對(duì)由子模塊A接收的結(jié)果(即,通過向視窗2000操作系統(tǒng)與視窗2003操作系統(tǒng)發(fā)送ICMP回應(yīng)請(qǐng)求而接收到的指紋)進(jìn)行對(duì)比,說明了其指紋是相同的,即,它們不能分辨在相應(yīng)的節(jié)點(diǎn)上運(yùn)行的是所述兩個(gè)操作系統(tǒng)中的哪一個(gè)。類似地,通過子模塊B、C、D以及F的測(cè)試而接收到的指紋也是不可分辨的。然而,對(duì)通過子模塊E的測(cè)試而接收到的結(jié)果進(jìn)行的比較,揭示了視窗2000的指紋與視窗2003的指紋之間的差異。子模塊E向節(jié)點(diǎn)上的關(guān)閉節(jié)點(diǎn)發(fā)送人為杜撰的UDP數(shù)據(jù)報(bào),其中,在視窗2000中所述響應(yīng)(ICMP UDP端口不可達(dá)錯(cuò)誤消息)包括“icmp_unreach_echoed_dtsize=8”,而在視窗2003中它包括“icmp_unreach_echoed_dtsize=>64”。
知道這一點(diǎn)以后,應(yīng)當(dāng)理解,OS查詢模塊1802可以避免執(zhí)行子模塊A、B、C、D以及F的測(cè)試,而子模塊E的測(cè)試應(yīng)當(dāng)可以分辨所述兩個(gè)操作系統(tǒng)。
在后一示例中,只存在一個(gè)可以揭示在視窗2000的指紋與視窗2003的指紋之間的差異的測(cè)試(即,子模塊E的測(cè)試)。然而,這里恰好存在一個(gè)以上這種測(cè)試。在此情況下,可以在這些測(cè)試中進(jìn)行隨機(jī)選擇。然而,有時(shí)需要在兩個(gè)以上操作系統(tǒng)之間進(jìn)行分辨,這使查詢處理變復(fù)雜了。在這種示例中,有時(shí)需要執(zhí)行一個(gè)以上測(cè)試。選擇執(zhí)行什么測(cè)試和按什么順序執(zhí)行測(cè)試可能變成重要的任務(wù)。
根據(jù)本發(fā)明一實(shí)施例,可以將由OS查詢模塊1802執(zhí)行的操作系統(tǒng)指紋測(cè)試與不同的權(quán)重關(guān)聯(lián)起來,這些權(quán)重表示各測(cè)試的重要性。對(duì)于參與操作系統(tǒng)指紋處理的每個(gè)操作系統(tǒng)指紋測(cè)試(即,對(duì)于每個(gè)子模塊)都分配了權(quán)重。對(duì)于每個(gè)測(cè)試中的每個(gè)參數(shù)也分配了權(quán)重。執(zhí)行統(tǒng)計(jì)分析,以對(duì)每個(gè)測(cè)試和每個(gè)測(cè)試參數(shù)值應(yīng)當(dāng)具有的重要性進(jìn)行識(shí)別,使得可以對(duì)它們執(zhí)行權(quán)重分配。
可以使用的一個(gè)統(tǒng)計(jì)算法是本領(lǐng)域的技術(shù)人員公知的支持向量機(jī)算法。另一個(gè)是矩陣型指紋匹配統(tǒng)計(jì)算法。后一算法基于對(duì)如下所述的每個(gè)執(zhí)行測(cè)試的分?jǐn)?shù)進(jìn)行統(tǒng)計(jì)計(jì)算,該計(jì)算是OCR識(shí)別的簡(jiǎn)化形式。
如果存在i個(gè)可能的操作系統(tǒng)(OS1、OS2、……、OSi),當(dāng)初始化時(shí),被實(shí)現(xiàn)為獨(dú)立的子模塊的每個(gè)指紋測(cè)試針對(duì)每個(gè)操作系統(tǒng)(OS→(OS1、OS2、……、OSi))建立它自己的可能的“測(cè)試匹配”的向量。一旦執(zhí)行了指紋測(cè)試,程序就對(duì)作為指紋測(cè)試的結(jié)果而接收到的分組進(jìn)行檢查,并將合適的‘分?jǐn)?shù)’置于合適的操作系統(tǒng)行。例如,“分?jǐn)?shù)”值可以具有以下多個(gè)值中的一個(gè)●是(3)●可能是(2)●可能不是(1)●不是(0)一旦完成了所有測(cè)試,針對(duì)所有列執(zhí)行遍歷,在此過程中計(jì)算出各操作系統(tǒng)的概要。將分?jǐn)?shù)最高的OS{x}(X、Y、Z或D)斷言為最終結(jié)果。
這例示于下表1中
表1最后,應(yīng)當(dāng)理解,可以將上述方法和系統(tǒng)用于提供安全性控制和網(wǎng)絡(luò)管理能力。例如,前面已提到,通過提取交換機(jī)CAM表可以檢測(cè)到對(duì)交換機(jī)的破壞。還曾提到,響應(yīng)合法性監(jiān)測(cè)器1808可以檢查響應(yīng),以對(duì)該響應(yīng)是真實(shí)的響應(yīng)而不是人為杜撰的響應(yīng)進(jìn)行驗(yàn)證。應(yīng)當(dāng)理解,例如,通過對(duì)進(jìn)入網(wǎng)絡(luò)的實(shí)際入侵進(jìn)行檢測(cè)并通過區(qū)分有效入侵與虛假入侵,安全性控制提供了對(duì)網(wǎng)絡(luò)的至少一個(gè)弱點(diǎn)的管理。
此外,已提到,應(yīng)用監(jiān)測(cè)器1805對(duì)運(yùn)行活動(dòng)(包括它們的響應(yīng)時(shí)間,其表示影響節(jié)點(diǎn)的負(fù)荷)進(jìn)行監(jiān)測(cè)。應(yīng)當(dāng)理解,沉重的負(fù)荷可能表示存在安全性問題,然而它也可能表示需要對(duì)網(wǎng)絡(luò)或其中的節(jié)點(diǎn)進(jìn)行升級(jí)。
權(quán)利要求
1.一種用于收集有關(guān)通信網(wǎng)絡(luò)的信息的方法,該方法包括以下步驟檢測(cè)步驟,按對(duì)在通信網(wǎng)絡(luò)中運(yùn)行的多個(gè)節(jié)點(diǎn)透明的方式,對(duì)由所述多個(gè)節(jié)點(diǎn)傳送的數(shù)據(jù)進(jìn)行檢測(cè);分析步驟,對(duì)檢測(cè)到的數(shù)據(jù)進(jìn)行分析,以識(shí)別有關(guān)通信網(wǎng)絡(luò)的信息并識(shí)別缺失信息;以及查詢步驟,針對(duì)所述缺失信息,查詢所述多個(gè)節(jié)點(diǎn)中的一個(gè)或更多個(gè)節(jié)點(diǎn)。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述信息不包括有關(guān)網(wǎng)絡(luò)性能的信息。
3.根據(jù)權(quán)利要求1或2所述的方法,其中接收到有關(guān)通信網(wǎng)絡(luò)的其他數(shù)據(jù);并且所述分析步驟還對(duì)所述其他數(shù)據(jù)進(jìn)行分析,以識(shí)別所述缺失信息。
4.根據(jù)權(quán)利要求1或2所述的方法,其中,所述信息包括與所述多個(gè)節(jié)點(diǎn)中的至少一些節(jié)點(diǎn)有關(guān)的節(jié)點(diǎn)信息。
5.根據(jù)權(quán)利要求4所述的方法,其中,所述節(jié)點(diǎn)信息包括有關(guān)相應(yīng)操作系統(tǒng)的操作系統(tǒng)信息。
6.根據(jù)權(quán)利要求5所述的方法,其中,所述檢測(cè)步驟包括以下步驟從包括動(dòng)態(tài)主機(jī)配置協(xié)議消息和同步控制標(biāo)志分組的組中檢測(cè)至少一個(gè)類型的消息。
7.根據(jù)權(quán)利要求5或6所述的方法,其中,所述分析步驟包括以下步驟接收與由節(jié)點(diǎn)傳送的數(shù)據(jù)相對(duì)應(yīng)的數(shù)據(jù);針對(duì)已知操作系統(tǒng)的特征,對(duì)所接收到的數(shù)據(jù)進(jìn)行檢驗(yàn);以及如果所述數(shù)據(jù)與所述特征相符合,則表示所述已知操作系統(tǒng)運(yùn)行在所述節(jié)點(diǎn)上。
8.根據(jù)權(quán)利要求4或5所述的方法,其中,所述節(jié)點(diǎn)信息包括有關(guān)運(yùn)行進(jìn)程的運(yùn)行時(shí)信息。
9.根據(jù)權(quán)利要求8所述的方法,其中,所述有關(guān)運(yùn)行進(jìn)程的信息包括與在通信網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)上運(yùn)行的網(wǎng)絡(luò)運(yùn)行進(jìn)程有關(guān)的信息。
10.根據(jù)權(quán)利要求8所述的方法,其中,所述有關(guān)運(yùn)行進(jìn)程的信息包括與在通信網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)上運(yùn)行的本機(jī)運(yùn)行進(jìn)程有關(guān)的信息。
11.根據(jù)權(quán)利要求4、5或8中的任何一項(xiàng)所述的方法,其中,所述節(jié)點(diǎn)信息包括有關(guān)與相應(yīng)節(jié)點(diǎn)相關(guān)聯(lián)的硬件組件的硬件信息。
12.根據(jù)任一前述權(quán)利要求所述的方法,其中,所述信息包括與通信網(wǎng)絡(luò)的物理拓?fù)浣Y(jié)構(gòu)有關(guān)的拓?fù)浣Y(jié)構(gòu)信息。
13.根據(jù)任一前述權(quán)利要求所述的方法,其中,所述檢測(cè)步驟包括以下步驟捕獲有關(guān)網(wǎng)絡(luò)連接流量的數(shù)據(jù);從所捕獲的數(shù)據(jù)分離出包括關(guān)于通信網(wǎng)絡(luò)的信息在內(nèi)的網(wǎng)絡(luò)連接數(shù)據(jù);以及傳送該網(wǎng)絡(luò)連接數(shù)據(jù)中包括的信息。
14.根據(jù)任一前述權(quán)利要求所述的方法,其中,所述查詢步驟包括以下步驟生成步驟,生成與所述缺失信息相對(duì)應(yīng)的用于發(fā)送給待查詢的多個(gè)節(jié)點(diǎn)的查詢消息;發(fā)送步驟,將所述查詢消息發(fā)送給所述待查詢的多個(gè)節(jié)點(diǎn)。
15.根據(jù)權(quán)利要求14所述的方法,其中,所述查詢步驟還包括以下步驟接收與所述查詢消息相對(duì)應(yīng)的至少一個(gè)響應(yīng);和對(duì)所述至少一個(gè)響應(yīng)進(jìn)行處理,以獲取與所述缺失信息相對(duì)應(yīng)的信息。
16.根據(jù)權(quán)利要求14或15所述的方法,其中,所述查詢消息是地址解析協(xié)議請(qǐng)求。
17.根據(jù)權(quán)利要求14或15所述的方法,其中,所述查詢消息是網(wǎng)際控制消息協(xié)議回應(yīng)請(qǐng)求。
18.根據(jù)權(quán)利要求14或15所述的方法,其中,所述查詢消息是傳輸控制協(xié)議同步控制標(biāo)志請(qǐng)求。
19.根據(jù)權(quán)利要求14所述的方法,其中,根據(jù)測(cè)試策略執(zhí)行所述生成步驟。
20.根據(jù)權(quán)利要求19所述的方法,其中,從一組可用測(cè)試策略中選擇所述測(cè)試策略。
21.根據(jù)權(quán)利要求20所述的方法,其中,根據(jù)統(tǒng)計(jì)計(jì)算選擇所述測(cè)試策略。
22.根據(jù)權(quán)利要求14所述的方法,其中,所述缺失信息涉及在相應(yīng)節(jié)點(diǎn)上運(yùn)行的至少一個(gè)運(yùn)行進(jìn)程。
23.根據(jù)權(quán)利要求14所述的方法,使用時(shí)用于管理所述至少一個(gè)運(yùn)行進(jìn)程。
24.根據(jù)權(quán)利要求14所述的方法,其中,所述由多個(gè)節(jié)點(diǎn)傳送的數(shù)據(jù)包括對(duì)應(yīng)于所述查詢消息的至少一個(gè)響應(yīng)。
25.根據(jù)任一前述權(quán)利要求所述的方法,使用時(shí)用于提供安全性控制。
26.根據(jù)任一前述權(quán)利要求所述的方法,使用時(shí)用于提供管理能力。
27.一種用于收集與在通信網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)上運(yùn)行的操作系統(tǒng)有關(guān)的信息的方法,該方法包括以下步驟接收步驟,按對(duì)節(jié)點(diǎn)透明的方式,接收與由所述節(jié)點(diǎn)傳送的動(dòng)態(tài)主機(jī)配置協(xié)議消息相對(duì)應(yīng)的數(shù)據(jù);檢驗(yàn)步驟,針對(duì)已知操作系統(tǒng)的特征對(duì)所接收的數(shù)據(jù)進(jìn)行檢驗(yàn);以及表示步驟,如果所接收到的數(shù)據(jù)與所述特征相符合,則表示所述已知操作系統(tǒng)運(yùn)行在所述節(jié)點(diǎn)上。
28.根據(jù)權(quán)利要求27所述的方法,其中,所述檢驗(yàn)步驟包括以下步驟對(duì)所述接收到的數(shù)據(jù)中的一個(gè)或更多個(gè)參數(shù)與所述特征進(jìn)行比較。
29.根據(jù)權(quán)利要求27或28所述的方法,其中,所述檢驗(yàn)步驟包括以下步驟檢查在所述接收到的數(shù)據(jù)中是否存在一個(gè)或更多個(gè)參數(shù),其中,所述一個(gè)或更多個(gè)參數(shù)包括在所述特征中。
30.根據(jù)權(quán)利要求27、28或29中的任何一項(xiàng)所述的方法,其中,所述檢驗(yàn)步驟包括以下步驟對(duì)所述接收到的數(shù)據(jù)中的一個(gè)或更多個(gè)參數(shù)中包括的內(nèi)容進(jìn)行檢查,并對(duì)所述內(nèi)容與所述特征進(jìn)行比較。
31.一種用于收集有關(guān)通信網(wǎng)絡(luò)的信息的網(wǎng)絡(luò)信息收集器(201、301),該系統(tǒng)包括網(wǎng)絡(luò)檢測(cè)器(203),用于按對(duì)在通信網(wǎng)絡(luò)(101)中運(yùn)行的多個(gè)節(jié)點(diǎn)(103、104、106)透明的方式,對(duì)由所述多個(gè)節(jié)點(diǎn)傳送的數(shù)據(jù)進(jìn)行檢測(cè);分析器(202),用于對(duì)所檢測(cè)到的數(shù)據(jù)進(jìn)行分析,以識(shí)別有關(guān)通信網(wǎng)絡(luò)的信息并識(shí)別缺失信息;以及查詢引擎(204),用于針對(duì)所述缺失信息查詢所述多個(gè)節(jié)點(diǎn)中的一個(gè)或更多個(gè)節(jié)點(diǎn)。
32.根據(jù)權(quán)利要求31所述的網(wǎng)絡(luò)信息收集器(201、301),其中,所述信息不包括有關(guān)網(wǎng)絡(luò)性能的信息。
33.根據(jù)權(quán)利要求31或32所述的網(wǎng)絡(luò)信息收集器(201、301),還包括輸入裝置(801),用于接收有關(guān)通信網(wǎng)絡(luò)的其他數(shù)據(jù);并且其中,分析器(202)還對(duì)所述其他數(shù)據(jù)進(jìn)行分析以識(shí)別所述缺失信息。
34.根據(jù)權(quán)利要求31或32所述的網(wǎng)絡(luò)信息收集器(201、301),其中,所述信息包括與所述多個(gè)節(jié)點(diǎn)中的至少一些節(jié)點(diǎn)有關(guān)的節(jié)點(diǎn)信息。
35.根據(jù)權(quán)利要求34所述的網(wǎng)絡(luò)信息收集器(201、301),其中,所述節(jié)點(diǎn)信息包括有關(guān)多個(gè)操作系統(tǒng)的操作系統(tǒng)信息。
36.根據(jù)權(quán)利要求35所述的網(wǎng)絡(luò)信息收集器(201、301),其中,對(duì)由所述多個(gè)節(jié)點(diǎn)傳送的數(shù)據(jù)進(jìn)行檢測(cè)的步驟包括以下步驟從包括動(dòng)態(tài)主機(jī)配置協(xié)議消息和同步控制標(biāo)志分組的組中檢測(cè)至少一個(gè)類型的消息。
37.根據(jù)權(quán)利要求35或36所述的網(wǎng)絡(luò)信息收集器(201、301),其中,所述分析器還包括輸入裝置(1501),用于接收數(shù)據(jù),該數(shù)據(jù)與由節(jié)點(diǎn)傳送的數(shù)據(jù)相對(duì)應(yīng);數(shù)據(jù)檢驗(yàn)器(1502),用于針對(duì)已知操作系統(tǒng)的特征對(duì)所接收到的數(shù)據(jù)進(jìn)行檢驗(yàn);以及數(shù)據(jù)標(biāo)志器(1503),用于表示所述已知操作系統(tǒng)運(yùn)行在所述節(jié)點(diǎn)上。
38.根據(jù)權(quán)利要求34或35所述的網(wǎng)絡(luò)信息收集器(201、301),其中,所述節(jié)點(diǎn)信息包括有關(guān)運(yùn)行進(jìn)程的運(yùn)行時(shí)信息。
39.根據(jù)權(quán)利要求38所述的網(wǎng)絡(luò)信息收集器(201、301),其中,有關(guān)運(yùn)行進(jìn)程的信息包括與在通信網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)上運(yùn)行的網(wǎng)絡(luò)運(yùn)行進(jìn)程有關(guān)的信息。
40.根據(jù)權(quán)利要求38所述的網(wǎng)絡(luò)信息收集器(201、301),其中,有關(guān)運(yùn)行進(jìn)程的信息包括與在通信網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)上運(yùn)行的本機(jī)運(yùn)行進(jìn)程有關(guān)的信息。
41.根據(jù)權(quán)利要求34、35或38所述的網(wǎng)絡(luò)信息收集器(201、301),其中,所述節(jié)點(diǎn)信息包括有關(guān)與相應(yīng)節(jié)點(diǎn)相關(guān)聯(lián)的硬件組件的硬件信息。
42.根據(jù)權(quán)利要求31到41中的任何一項(xiàng)所述的網(wǎng)絡(luò)信息收集器(201、301),其中,所述信息包括與通信網(wǎng)絡(luò)的物理拓?fù)浣Y(jié)構(gòu)有關(guān)的拓?fù)浣Y(jié)構(gòu)信息。
43.根據(jù)權(quán)利要求31到42中的任何一項(xiàng)所述的網(wǎng)絡(luò)信息收集器(201、301),其中,所述網(wǎng)絡(luò)檢測(cè)器(203)包括至少一個(gè)探測(cè)器(206),其捕獲有關(guān)網(wǎng)絡(luò)連接流量的數(shù)據(jù);濾選器(601),用于從所捕獲的數(shù)據(jù)分離出包括關(guān)于通信網(wǎng)絡(luò)的信息在內(nèi)的網(wǎng)絡(luò)連接數(shù)據(jù);以及輸出裝置(602),用于傳送所述網(wǎng)絡(luò)連接數(shù)據(jù)中包括的所述信息。
44.根據(jù)權(quán)利要求31到43中的任何一項(xiàng)所述的網(wǎng)絡(luò)信息收集器(201、301),其中,所述查詢引擎(204)包括查詢消息生成器(1809),用于生成與所述缺失信息相對(duì)應(yīng)的用于發(fā)送給待查詢的多個(gè)節(jié)點(diǎn)的查詢消息;和輸出裝置(1810),用于將所述查詢消息傳送給所述待查詢的多個(gè)節(jié)點(diǎn)。
45.根據(jù)權(quán)利要求44所述的網(wǎng)絡(luò)信息收集器(201、301),其中,所述查詢引擎(204)還包括輸入裝置(1811),用于接收與所述查詢消息相對(duì)應(yīng)的至少一個(gè)響應(yīng);和響應(yīng)處理器(1812),用于對(duì)所述至少一個(gè)響應(yīng)進(jìn)行處理,以獲取與所述缺失信息相對(duì)應(yīng)的信息。
46.一種操作系統(tǒng)監(jiān)測(cè)器(702),用于收集與在通信網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)上運(yùn)行的操作系統(tǒng)有關(guān)的信息,該操作系統(tǒng)監(jiān)測(cè)器包括輸入裝置(1301),用于接收數(shù)據(jù),該數(shù)據(jù)按對(duì)節(jié)點(diǎn)透明的方式與由所述節(jié)點(diǎn)傳送的動(dòng)態(tài)主機(jī)配置協(xié)議消息相對(duì)應(yīng);動(dòng)態(tài)主機(jī)配置協(xié)議檢驗(yàn)器(1302),用于針對(duì)已知操作系統(tǒng)的特征對(duì)所接收到的數(shù)據(jù)進(jìn)行檢驗(yàn);以及數(shù)據(jù)標(biāo)志器(1303),用于表示所述已知操作系統(tǒng)運(yùn)行在所述節(jié)點(diǎn)上。
全文摘要
本發(fā)明提供了用于收集有關(guān)通信網(wǎng)絡(luò)的信息的方法和系統(tǒng)。按對(duì)在通信網(wǎng)絡(luò)中運(yùn)行的節(jié)點(diǎn)透明的方式,對(duì)由這些節(jié)點(diǎn)傳送的數(shù)據(jù)進(jìn)行檢測(cè)。對(duì)所檢測(cè)到的數(shù)據(jù)進(jìn)行分析,以識(shí)別有關(guān)通信網(wǎng)絡(luò)的信息并識(shí)別缺失信息。為了使缺失信息完整,對(duì)一個(gè)或更多個(gè)節(jié)點(diǎn)進(jìn)行查詢。
文檔編號(hào)H04L29/06GK1886935SQ200480035380
公開日2006年12月27日 申請(qǐng)日期2004年11月28日 優(yōu)先權(quán)日2003年11月28日
發(fā)明者奧菲·阿金 申請(qǐng)人:因塞提克有限公司