李 杰, 熊育文
(中國(guó)聯(lián)通茂名市分公司,廣東 茂名 525000)
數(shù)據(jù)采集,又稱數(shù)據(jù)獲取,通常使用一種裝置或一種接口,從外部環(huán)境或外部系統(tǒng)收集數(shù)據(jù),輸入到內(nèi)部供系統(tǒng)使用[1]。在通常情況下,需要數(shù)據(jù)采集裝置,或者需要數(shù)據(jù)采集接口,而且采集到的數(shù)據(jù)格式必須是已知,這樣才能夠?qū)Σ杉降臄?shù)據(jù)進(jìn)行分析處理和進(jìn)一步的加工應(yīng)用。但是,在很多情況下,出于成本、性能等各種原因,外部系統(tǒng)不提供數(shù)據(jù)采集接口,或沒(méi)有數(shù)據(jù)格式資料,在這種情況下進(jìn)行數(shù)據(jù)采集非常困難。本單位的GSM基站包括MOTOROLA和華為兩種類型,分別負(fù)責(zé)不同區(qū)域基站的告警工作,但是告警終端沒(méi)有統(tǒng)一的聲音告警,值班人員必須時(shí)刻盯著這些告警終端,才能及時(shí)了解基站告警情況。長(zhǎng)期這樣工作,給值班人員的身心造成了較大的壓力,不利于告警信息及時(shí)、準(zhǔn)確地發(fā)布和處理,所以需要采集這兩種不同告警的數(shù)據(jù),加工處理后進(jìn)行統(tǒng)一的展示和聲音告警。
MOTOROLA告警終端使用的是SUN工作站和SOLARIS操作系統(tǒng),華為告警終端使用的是PC機(jī)和WINDOWS操作系統(tǒng),告警終端分別連接在兩個(gè)完全隔離的網(wǎng)絡(luò)中,而且兩種告警系統(tǒng)都沒(méi)有數(shù)據(jù)格式資料和數(shù)據(jù)采集接口,無(wú)法使用常規(guī)的方法進(jìn)行數(shù)據(jù)采集,必須使用一種新的方法,才可能獲取到數(shù)據(jù)。
為了解決這個(gè)難題,必須對(duì)傳統(tǒng)的數(shù)據(jù)采集方法進(jìn)行創(chuàng)新,考慮到原系統(tǒng)沒(méi)有數(shù)據(jù)采集接口,要獲取數(shù)據(jù)還可以利用網(wǎng)絡(luò)監(jiān)聽(tīng)技術(shù)捕獲告警終端與服務(wù)器之間的網(wǎng)絡(luò)通訊包,篩選過(guò)濾并分析通訊包數(shù)據(jù)內(nèi)容,獲取分離出有用的告警數(shù)據(jù),達(dá)到數(shù)據(jù)采集的目的。
網(wǎng)絡(luò)管理離不開(kāi)網(wǎng)絡(luò)嗅探Sniffer,它能用來(lái)檢測(cè)、分析網(wǎng)絡(luò)性能和流量,查找網(wǎng)絡(luò)漏洞,提高網(wǎng)絡(luò)的運(yùn)行性能[2],也可以用于網(wǎng)絡(luò)通訊包捕獲。這里使用一臺(tái)安裝了Sniffer軟件的電腦,使用集線器(不能使用交換機(jī))連接到告警網(wǎng)絡(luò)(如圖1所示),也可以使用交換機(jī)端口鏡像的方法連接,這里不再詳細(xì)介紹。
1.1.1 捕獲MOTOROLA告警數(shù)據(jù)
將監(jiān)聽(tīng)電腦和集線器按圖1的方法連入MOTOROLA告警網(wǎng)絡(luò),開(kāi)始用Sniffer捕獲通訊包,同時(shí)記錄告警終端上的告警信息,包括告警流水號(hào)、基站編號(hào)、基站名稱、告警時(shí)間、告警編號(hào)、告警名稱等,終端上顯示幾條告警后停止捕獲通訊包,然后將通訊包保存下來(lái),供下一步篩選和分析使用。下面是記錄的一條告警信息。
1.1.2 捕獲華為告警數(shù)據(jù)
將監(jiān)聽(tīng)電腦和集線器按圖1的方法連入華為告警網(wǎng)絡(luò),開(kāi)始用Sniffer捕獲通訊包,同時(shí)記錄告警終端上的告警信息,包括告警流水號(hào)、基站編號(hào)、基站名稱、告警時(shí)間、告警類別、告警名稱等,終端上顯示幾條告警后停止捕獲通訊包,然后將通訊包保存下來(lái),供下一步篩選和分析使用。一條典型的告警信息例子:對(duì)象號(hào)“24”、對(duì)象名稱“信宜三中M1800”、告警名稱“缺相告警”、告警類別“故障告警”、告警日期“2007/5/15”、告警時(shí)間“16:16:26”、告警流水號(hào)“1066840”,由于告警信息有告警名稱但沒(méi)有告警編號(hào),所以需從華為告警系統(tǒng)查找編號(hào),這里查詢到缺相告警的編號(hào)是2246。
采用由簡(jiǎn)到繁的方法篩選分析包數(shù)據(jù),第一步是觀察法,在Sniffer中直接瀏覽,左邊列顯示的是十六進(jìn)制數(shù)據(jù),右邊列顯示的是對(duì)應(yīng)的ASCII字符,檢查右邊列是否有直觀的有用數(shù)據(jù)。第二步是十進(jìn)制搜索法,在數(shù)據(jù)包中搜索十進(jìn)制信息,考慮到雙字節(jié)或多字節(jié)信息不容易重復(fù),具有較好的唯一確定性,一般先搜索流水號(hào)、年份、月份等,由于各個(gè)外部系統(tǒng)的數(shù)據(jù)存儲(chǔ)方式未知,有些可能是按照從低位到高位的方式,有些可能是按照從高位到低位的方式,所以可能需要將待搜索的信息數(shù)據(jù)位置互換后再搜索,例如搜索流水號(hào)“2444”,如果未發(fā)現(xiàn)則再搜索“4424”。第三步是十六進(jìn)制搜索法,將十進(jìn)制數(shù)據(jù)轉(zhuǎn)換為十六進(jìn)制后按照第二步的方法進(jìn)行搜索,一般情況下計(jì)算機(jī)系統(tǒng)很少直接存儲(chǔ)十進(jìn)制數(shù)據(jù),所以第二步搜索成功的幾率較小。
1.2.1 篩選分析MOTOROLA告警數(shù)據(jù)
首先使用觀察法,經(jīng)過(guò)瀏覽發(fā)現(xiàn)其中有一個(gè)數(shù)據(jù)包含有告警名稱“High Temperature (3)”,由此可初步判斷此數(shù)據(jù)包是告警數(shù)據(jù)包,記錄包的端口和包長(zhǎng)度,然后檢查“High Temperature (3)”前一字節(jié)為十六進(jìn)制的15,轉(zhuǎn)換為十進(jìn)制是21,正好為“High Temperature (3)”的長(zhǎng)度加上一個(gè)字符串終止字節(jié)“00”的數(shù)量,所以初步判斷這個(gè)字節(jié)的含義為字符串長(zhǎng)度。如果沒(méi)有其他有用的字符串信息則進(jìn)行下一步分析。
接下來(lái)是十進(jìn)制搜索法,告警流水號(hào)大于256,是雙字節(jié)信息,所以先在數(shù)據(jù)包中搜索告警流水號(hào)2444,先檢查是否按十進(jìn)制存儲(chǔ),搜索“2444”或“4424”,沒(méi)有發(fā)現(xiàn)則轉(zhuǎn)換為十六進(jìn)制為“098c”,使用十六進(jìn)制搜索法搜索“098c”或“8c 09”的位置,發(fā)現(xiàn)數(shù)據(jù)包中存在“098c”,記錄其位置。在數(shù)據(jù)包搜索日期時(shí)間信息,先搜索年份,看是否包含“2007”或“0720”,如果沒(méi)有則將2007轉(zhuǎn)換為十六進(jìn)制即“07 d7”,再次搜索,發(fā)現(xiàn)數(shù)據(jù)包中有“07 d7”,而且其附近的信息很像日期時(shí)間信息,“370000001e 000000090000000f 00000004000007 d7”,進(jìn)一步驗(yàn)證可知其排列為秒分時(shí)日月年,轉(zhuǎn)換為十進(jìn)制即與告警信息的“15/05/2007 09:30:55”相一致。接著搜索告警編號(hào)18(十六進(jìn)制12)的位置,由于告警編號(hào)僅有一個(gè)字節(jié),所以可能有其他數(shù)據(jù)包含“12”造成多個(gè)位置搜索到“12”,將這幾個(gè)位置記錄下來(lái)用其他的告警數(shù)據(jù)包進(jìn)行驗(yàn)證。用此法可確定基站號(hào)45(十六進(jìn)制2d)的位置。至此,已經(jīng)可以確定告警流水號(hào)、基站編號(hào)、告警日期時(shí)間、告警編號(hào)、告警名稱等關(guān)鍵信息的在數(shù)據(jù)包中位置,基站名稱雖然不包含在數(shù)據(jù)包中,但可以根據(jù)基站編號(hào)確定。
圖1 監(jiān)聽(tīng)電腦連接方式
1.2.2 篩選分析華為告警數(shù)據(jù)
首先使用觀察法,經(jīng)過(guò)瀏覽沒(méi)有發(fā)現(xiàn)有用的字符串信息,需進(jìn)行下一步分析。
接下來(lái)使用十進(jìn)制搜索法,先搜索告警流水號(hào)1066840的位置,先搜索“01066840”,沒(méi)有則搜索“40680601”,如果沒(méi)有發(fā)現(xiàn)則轉(zhuǎn)換為十六進(jìn)制104758,繼續(xù)搜索“104758”或“584710”,發(fā)現(xiàn)有數(shù)據(jù)包含有“584710”,初步判斷此包是告警數(shù)據(jù)包,而且數(shù)據(jù)存儲(chǔ)格式為十六進(jìn)制,由低位到高位排列,記錄包的端口和包長(zhǎng)度。在數(shù)據(jù)包搜索日期時(shí)間信息,考慮到先搜索年份,將2007轉(zhuǎn)換為十六進(jìn)制即“07 d7”,搜索“07 d7”或“d707”,沒(méi)有發(fā)現(xiàn),說(shuō)明年份不是保存2007,使用上述十六進(jìn)制搜索法搜索日期時(shí)間信息,發(fā)現(xiàn)“07050f 10101f”,進(jìn)一步驗(yàn)證可知其排列為年月日時(shí)分秒,轉(zhuǎn)換為十進(jìn)制即與告警信息的“2007/5/1516:16:26”相一致。接著搜索告警編號(hào)2246(十六進(jìn)制8c6)的位置和基站編號(hào)24(十六進(jìn)制18)的位置,至此,已經(jīng)可以確定告警流水號(hào)、基站編號(hào)、告警日期時(shí)間、告警編號(hào)等關(guān)鍵信息的在數(shù)據(jù)包中位置,告警名稱雖然不包含在數(shù)據(jù)包中,但可以根據(jù)告警編號(hào)確定。
確定網(wǎng)絡(luò)通訊包的端口、長(zhǎng)度,以及告警流水號(hào)、基站編號(hào)、告警日期時(shí)間、告警編號(hào)等關(guān)鍵數(shù)據(jù)在通訊包中的位置后,即可進(jìn)行系統(tǒng)設(shè)計(jì)將這些關(guān)鍵數(shù)據(jù)從捕獲的所有通訊包中篩選、過(guò)濾并分離出來(lái),由于要同時(shí)監(jiān)聽(tīng)兩個(gè)不同的網(wǎng)絡(luò),所以需要采用多線程編程,設(shè)立不同的數(shù)據(jù)緩沖區(qū)接收捕獲的通訊包數(shù)據(jù),如果通訊包的端口和長(zhǎng)度不符合要求,則直接丟棄,然后根據(jù)關(guān)鍵數(shù)據(jù)在包中的位置提取并轉(zhuǎn)換出來(lái),即完成告警數(shù)據(jù)的采集,后期的數(shù)據(jù)加工處理、統(tǒng)一展示和聲音告警等工作不在此處詳細(xì)介紹。
2.1.1 無(wú)需數(shù)據(jù)采集接口
有些系統(tǒng)廠商需另外收取費(fèi)用,才提供數(shù)據(jù)采集接口,或者有些系統(tǒng)使用時(shí)間較長(zhǎng),廠商已不再提供新的接口開(kāi)發(fā)服務(wù),而使用網(wǎng)絡(luò)監(jiān)聽(tīng)技術(shù)采集數(shù)據(jù)無(wú)需原系統(tǒng)提供接口,不受這些情況制約,可節(jié)約成本費(fèi)用。
2.1.2 無(wú)需數(shù)據(jù)格式資料
對(duì)于使用時(shí)間較長(zhǎng),資料已丟失,或者廠商本來(lái)就沒(méi)有提供資料的情況,使用網(wǎng)絡(luò)監(jiān)聽(tīng)技術(shù)采集數(shù)據(jù)可以較好地解決這些難題,具有較明顯的優(yōu)勢(shì)。
2.1.3 實(shí)時(shí)性高
由于網(wǎng)絡(luò)監(jiān)聽(tīng)技術(shù)采集的是網(wǎng)絡(luò)實(shí)時(shí)通訊數(shù)據(jù),與原系統(tǒng)幾乎是同時(shí)獲取數(shù)據(jù),所以具有很高的實(shí)時(shí)性。
2.1.4 對(duì)原有系統(tǒng)沒(méi)有任何影響
利用網(wǎng)絡(luò)監(jiān)聽(tīng)技術(shù)采集數(shù)據(jù),無(wú)需在原系統(tǒng)上安裝任何硬件或軟件,所以對(duì)原系統(tǒng)的數(shù)據(jù)、性能、安全等不會(huì)造成任何影響。
利用網(wǎng)絡(luò)監(jiān)聽(tīng)技術(shù)采集數(shù)據(jù)也存在著一些缺點(diǎn),例如:①在數(shù)據(jù)加密或壓縮的情況下,使用網(wǎng)絡(luò)監(jiān)聽(tīng)技術(shù)捕獲的數(shù)據(jù)包很難分析出有用的信息;②某些情況下無(wú)法接入監(jiān)聽(tīng)電腦,也就無(wú)法使用網(wǎng)絡(luò)監(jiān)聽(tīng)技術(shù)[3-5]。
基于網(wǎng)絡(luò)監(jiān)聽(tīng)技術(shù)的無(wú)接口數(shù)據(jù)采集方法創(chuàng)新地將網(wǎng)絡(luò)監(jiān)聽(tīng)技術(shù)應(yīng)用于網(wǎng)絡(luò)管理和網(wǎng)絡(luò)安全之外的領(lǐng)域,擴(kuò)展了網(wǎng)絡(luò)監(jiān)聽(tīng)技術(shù)的應(yīng)用范圍,成功地解決了不同硬件和操作系統(tǒng)的數(shù)據(jù)采集問(wèn)題,具有無(wú)需接口和數(shù)據(jù)格式資料、實(shí)時(shí)性高、對(duì)原系統(tǒng)沒(méi)有任何影響等優(yōu)點(diǎn)。根據(jù)這種方法成功開(kāi)發(fā)了基站綜合告警系統(tǒng),目前已平穩(wěn)運(yùn)行了4年多,該系統(tǒng)克服了原有告警系統(tǒng)沒(méi)有聲音的缺點(diǎn),使值班人員能更加及時(shí)準(zhǔn)確地處理基站告警,降低了勞動(dòng)強(qiáng)度,為提高網(wǎng)絡(luò)質(zhì)量和基站防盜提供了強(qiáng)有力的支撐,取得了良好的效果。
[1]百度百科.數(shù)據(jù)采集[EB/OL].(2011-12-9)[2011-12-28].http://baike.baidu.com/view/709701.htm.
[2]李丹,趙剛,劉玲.交換式網(wǎng)絡(luò)中監(jiān)聽(tīng)技術(shù)的原理及實(shí)現(xiàn)[J].信息安全與通信保密,2007(06):150-152.
[3]鳴澗.網(wǎng)絡(luò)黑客常用攻擊手段[J].信息安全與通信保密,2001(10):68.
[4]網(wǎng)絡(luò)入侵取證調(diào)查研究[J].通信技術(shù),2008,41(07):219-221.
[5]廖祥波,鄧銀波,陳前斌,等.基于移動(dòng) IPv6環(huán)境中的安全威脅類型研究[J].通信技術(shù),2008,41(11):153-155.