黃林 李欣宇
【摘要】隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)技術(shù)已經(jīng)滲透各個領(lǐng)域,即時通信技術(shù)為企業(yè)對員工行為的有效控制增加了一定的難度,這樣就可能出現(xiàn)企業(yè)的機密泄露到外界,或者重要資料被竊取等情況,給企業(yè)帶來不同程度的損失。因此,針對企業(yè)對即時通信安全的需求,設(shè)計一個有效的監(jiān)控系統(tǒng),即協(xié)議分析企業(yè)所使用的MSN Messenger,基于此,建立一個叫MSNAnalyzer的監(jiān)控分析系統(tǒng)。利用這個系統(tǒng)能夠?qū)崟r監(jiān)控企業(yè)內(nèi)部網(wǎng)絡(luò),保護企業(yè)的信息安全。
【關(guān)鍵詞】即時通信監(jiān)控系統(tǒng)設(shè)計實現(xiàn)
一、即時通信協(xié)議的工作原理
MSNP Messenger主要是指出席即時通信系統(tǒng),即時通信就是和其他用戶之間的對話。即時通信協(xié)議主要是建立在TCP/IP系統(tǒng)上的,除了文件傳輸和語音聊天是直接點對點通信外,其他的都需要通過服務(wù)器中轉(zhuǎn),在MSNP協(xié)議中共有派遣服務(wù)器、通知服務(wù)器以及交換服務(wù)器,三種服務(wù)器在系統(tǒng)中各有各的功能更和作用[1]。
二、即時通信監(jiān)控系統(tǒng)的設(shè)計
在快速發(fā)展且競爭激烈的環(huán)境,為了能夠?qū)崿F(xiàn)對有害的文本進行監(jiān)控,則需要對即時通信文本的數(shù)據(jù)以及消息進行深度的分析,其即時通信分析環(huán)境如下圖所示,其中即時通信分析環(huán)境的硬件部分主要包括客戶機、集線器網(wǎng)關(guān)等。其中軟件部分主要包括網(wǎng)絡(luò)分析軟件、即時通信軟件等。通過進行分析數(shù)據(jù)并采用一定的格式將其保存在文件中,然后從文件中讀取數(shù)據(jù)幀并將數(shù)據(jù)幀交給協(xié)議分析處理模塊,最后保存在磁盤中。經(jīng)過分析,得出系統(tǒng)總體實現(xiàn)模型和模塊劃分。
1、數(shù)據(jù)采集與存儲。該系統(tǒng)中,對數(shù)據(jù)的采集使用的是基于網(wǎng)絡(luò)嗅探技術(shù)的方法,使用的開發(fā)工具為WinPcap4.0.1,這樣能夠有效捕獲數(shù)據(jù)包,并對其進行過濾,從而得到與系統(tǒng)相關(guān)的數(shù)據(jù),有利于提高系統(tǒng)的工作效率。基于此,要對采集到的數(shù)據(jù)進行及時存儲,并能夠保證數(shù)據(jù)報的安全,因而必須考慮內(nèi)存緩沖技術(shù)、磁盤I/O能力、CPU處理能力、網(wǎng)絡(luò)接口能力等多種因素的影響,采用有效的存儲策略來保證數(shù)據(jù)存儲的安全。該系統(tǒng)在數(shù)據(jù)存儲時引入了內(nèi)存緩沖處理技術(shù),采用環(huán)形緩沖區(qū)對數(shù)據(jù)包緩沖有很好的性能,,將用戶緩沖器和內(nèi)核緩沖器的大小分別設(shè)置為1MB和6MB,同時將二者之間一次傳送的最小數(shù)據(jù)塊的大小設(shè)置為512 KB。
2、數(shù)據(jù)分析和處理。(1)命令解析。在數(shù)據(jù)分析階段,首先要進行命令解析。MSNP協(xié)議涉及的命令多達(dá)幾十個,客戶端所使用的命令也不同于服務(wù)器使用的命令。該系統(tǒng)重點解析了數(shù)據(jù)傳輸命令和握手命令。對于服務(wù)器端命令,主要對“JOI”“USR”“IRO”和“MSG”進行解析;客戶端主要解析“ANS”與“MSG”。(2)重組協(xié)議數(shù)據(jù)。對協(xié)議數(shù)據(jù)進行重組,主要針對的是P2P消息,若二進制頭與尾之間的消息內(nèi)容大小>1202 B,則消息將會被分片傳輸。二進制頭中總共包括9個字段,其中有3個字段與消息分片密切相關(guān),這3個字段分別為:“Total Date Size(總數(shù)據(jù)大小)”、“Data Offset(數(shù)據(jù)偏移量)”和“Message Length(本條消息長度)”。由于TCP處理模塊已經(jīng)處理了無序和重復(fù)的數(shù)據(jù)流,因此MSNP協(xié)議模塊中所輸入的數(shù)據(jù)流都是由一定順序的,只需要按順序取出數(shù)據(jù)即能完成協(xié)議數(shù)據(jù)重組。(3)數(shù)據(jù)存儲。重組協(xié)議數(shù)據(jù)后,要分析重組后的協(xié)議數(shù)據(jù),并進行數(shù)據(jù)提取。數(shù)據(jù)分析時,主要針對的是負(fù)責(zé)建立和結(jié)束會話的MSNSLP消息,在對其分析時,不僅要分析取得傳輸?shù)念愋?,同時還要提取文件名,為數(shù)據(jù)存儲時的使用做好充分準(zhǔn)備。以Unicode格式將傳輸文件的文件名存儲在INVITE方法的Context中;將自定義表情和顯示圖片的文件名封裝在其各自的MSNObj對象中。
三、即時通信監(jiān)控系統(tǒng)的實現(xiàn)及調(diào)試
即時通信監(jiān)控系統(tǒng)設(shè)計完成之后,要對其實現(xiàn)進行分析,即進行性能測試,檢查系統(tǒng)對指定數(shù)據(jù)的監(jiān)聽提取能力。此次測試給定的工作環(huán)境為:一臺監(jiān)控服務(wù)器主機,若干客戶機,客戶機通過交換機連接在一個局域網(wǎng)中,同時與因特網(wǎng)互聯(lián)。測試時間為周一至周五,共5天,每天測試時間為08:00~20:00,同時每天客戶機的數(shù)量維持在123~167.系統(tǒng)測試最終結(jié)果文件傳輸?shù)奶崛÷手挥?1.7%,造成這種結(jié)果的原因可歸納為以下三點:首先是丟包率;其次是協(xié)議分析中對NAT穿越的判斷結(jié)果。再次就是當(dāng)傳輸?shù)碾p方在同一個局域網(wǎng)時,實際數(shù)據(jù)沒有通過服務(wù)器中轉(zhuǎn),導(dǎo)致該系統(tǒng)僅能監(jiān)聽到傳輸邀請,而對實際傳輸?shù)臄?shù)據(jù)的監(jiān)聽卻無法實現(xiàn)。自定義表情與顯示圖片的提取率都大于96%,造成數(shù)據(jù)的原因主要是丟包,該系統(tǒng)在數(shù)據(jù)包捕獲時采用的是過濾策略,在網(wǎng)絡(luò)流量比較大的情況下,就會導(dǎo)致一定程度的丟包率,從而使結(jié)果受到影響。測試結(jié)果中沒有文字信息的相關(guān)評估,主要是因為文字信息的傳輸缺少握手過程,評估起來比較困難。該系統(tǒng)的設(shè)計實現(xiàn)可以確保較小丟包率的基礎(chǔ)上,使文字信息的提取率能夠接近或達(dá)到100%。
參考文獻
[1]張茜.即時通信視頻傳輸封堵系統(tǒng)設(shè)計與實現(xiàn).現(xiàn)代商貿(mào)工業(yè),2010(3):102-103