專利名稱:一種網(wǎng)絡(luò)應(yīng)用層信息監(jiān)控的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)應(yīng)用層信息監(jiān)控技術(shù),這項技術(shù)是寬帶業(yè)務(wù)終端的核心之 一,其主旨是監(jiān)控、記錄、顯示、統(tǒng)計經(jīng)過業(yè)務(wù)終端設(shè)備的各種網(wǎng)絡(luò)數(shù)據(jù),如 郵件、網(wǎng)頁訪問、聊天記錄,為網(wǎng)絡(luò)管理人員提供高效便捷的網(wǎng)絡(luò)行為分析服 務(wù)。防止網(wǎng)絡(luò)使用者濫用互聯(lián)網(wǎng)、消耗資源和浪費工作時間甚至泄露公司機密。
背景技術(shù):
隨著寬帶網(wǎng)絡(luò)的發(fā)展,網(wǎng)絡(luò)安全和管理問題也日益凸顯。網(wǎng)絡(luò)為工作提供 便利的同時也分散著企業(yè)員工的注意力。 一些缺乏自律的員工在工作時間看新 問、玩游戲、聊天,更有甚者干私活、泄密公司資料。這些做法輕則消耗公司 資源,重則影響到工作效率、破壞辦公氛圍,已經(jīng)成為很多公司運作發(fā)展的嚴(yán) 重隱患。而引入網(wǎng)絡(luò)監(jiān)控軟硬件設(shè)備來管理控制網(wǎng)絡(luò)也就成為了公司管理者的 必然選擇。
對于網(wǎng)絡(luò)監(jiān)控功能,主要有兩種實現(xiàn)方式聘用專職網(wǎng)管設(shè)計實現(xiàn),或者購 買網(wǎng)絡(luò)監(jiān)控軟硬件產(chǎn)品。前者對網(wǎng)管人員的技術(shù)水平要求很高,而后者又往往 價格不菲。另外,兩者有個共同的局限性監(jiān)控主機上的監(jiān)控功能完全由用戶 態(tài)軟件實現(xiàn),程序效率不高。其結(jié)果是要么監(jiān)控功能影響到網(wǎng)絡(luò)的通暢,對辦 公造成負面影響;要么監(jiān)控不夠完整,信息大量丟失;要么為達到要求付出高 昂的硬件成本
發(fā)明內(nèi)容
本發(fā)明的目的在于利用一種與傳統(tǒng)網(wǎng)絡(luò)監(jiān)控方式相比高效得多的監(jiān)控技 術(shù),實現(xiàn)網(wǎng)絡(luò)應(yīng)用層數(shù)據(jù)監(jiān)控分析,為企業(yè)用戶提供便捷低成本的網(wǎng)絡(luò)監(jiān)控、 數(shù)據(jù)存儲、分析、統(tǒng)計一體化解決方案。
本發(fā)明根植于Linux這個開源系統(tǒng)平臺,采用模塊化設(shè)計理念,可以方便地 進行功能擴展。而不依賴具體硬件的特點,使其在各式32/64位主機上都能運行 良好,現(xiàn)已順利移植到國產(chǎn)龍芯64位平臺,經(jīng)測試可以充分發(fā)掘其執(zhí)行潛力, 完全可以滿足功能完善、低能耗高效率的使用要求。
本發(fā)明主要部分包括
(a) 效率極高的內(nèi)核收包模塊
(b) 用戶態(tài)的分類解析模塊
(c) 存儲統(tǒng)計模塊 以下就各部分作詳細介紹
(a)效率極高的內(nèi)核收包模塊 這個模塊是本發(fā)明的核心,與其它監(jiān)控技術(shù)所采用的用戶態(tài)程序收包方式 相比,內(nèi)核收包經(jīng)測試可以獲得10倍以上的效率提升。其主要過程是
(al)與用戶態(tài)程序建立連接,創(chuàng)建高速緩沖區(qū),這一步驟只在程序啟動 時執(zhí)行,資源開銷是一次性的。
U2)操作系統(tǒng)內(nèi)核通過網(wǎng)絡(luò)協(xié)議棧接受數(shù)據(jù)包,將其存入緩沖區(qū)。由于收 包的主要操作在內(nèi)核中實現(xiàn),不需要用戶態(tài)程序頻繁切換到內(nèi)核態(tài)獲取數(shù)據(jù), 因此可以獲得很大程度的性能提升。
(a3)通過與用戶態(tài)程序建立的連接將數(shù)據(jù)包傳遞到用戶空間,完成后繼 續(xù)第二步。由于采用底層的內(nèi)核態(tài)與用戶態(tài)通信機制,并且采用了批量傳遞機 制,這一步的系統(tǒng)開銷極少。(b) 用戶態(tài)的分類解析模塊
用戶態(tài)程序得到內(nèi)核的提示后,可以通過與內(nèi)核態(tài)程序建立的連接方便地 得到網(wǎng)絡(luò)數(shù)據(jù)包。但此時的數(shù)據(jù)包是含IP頭的原始包,要得到對用戶所需要的 結(jié)果,還需要做以下處理
(bl)重組數(shù)據(jù)包,得到完整的數(shù)據(jù)流。這一步完全依照TCP/IP標(biāo)準(zhǔn)實現(xiàn), 顯大限度地保證兼容性和擴展性。此外也引入緩沖區(qū)機制,將不完整的數(shù)據(jù)保 存到啟動時開辟的緩沖區(qū),等數(shù)據(jù)獲取完整后再統(tǒng)一處理。
(b2)對數(shù)據(jù)流進行分析,截取需要的數(shù)據(jù)。這一步也是效率提升的關(guān)鍵 之一,本模塊利用高級的數(shù)據(jù)結(jié)構(gòu),關(guān)鍵性的代碼由匯編實現(xiàn),很好地達到了 設(shè)計要求。
(b3)對于個別的網(wǎng)絡(luò)應(yīng)用無需重組數(shù)據(jù)包,只要分析各數(shù)據(jù)包中的關(guān)鍵 字即可獲得需要的數(shù)據(jù),這也有助于本模塊乃至整套監(jiān)控系統(tǒng)可以進一步提升 效率。
目前,用戶態(tài)模塊可以分析的網(wǎng)絡(luò)應(yīng)用主要有電子郵件、網(wǎng)頁瀏覽、聊天
通訊,除卻個別加密或涉及版權(quán)的網(wǎng)絡(luò)應(yīng)用以外,整體的監(jiān)控識別率在95%以 上。用戶態(tài)模塊還可以很方便的進行定制,根據(jù)用戶的需求單獨開啟某一項、 幾項監(jiān)控功能,更支持由用戶指定受監(jiān)控的主機、時段等條件,最大限度地為 用戶提供使用上的靈活性。
(c) 存儲統(tǒng)計模塊
得到所需要的數(shù)據(jù)后,需要將數(shù)據(jù)存入數(shù)據(jù)庫。這部分的設(shè)計重點是解決 由于數(shù)據(jù)量過大帶來的數(shù)據(jù)庫過于龐大,存儲査詢極耗費資源的問題。解決方
案是
(cl)對要保存的數(shù)據(jù)進行壓縮,在存儲空間和處理時間之間取得最佳平衡點
(c2)優(yōu)化存儲結(jié)構(gòu),合理設(shè)計數(shù)據(jù)表的格式,對于尺寸龐大的數(shù)據(jù)比如 幾十MB的郵件作單獨的保存,數(shù)據(jù)庫中只保存其查詢路徑。
(c3)采用"査詢時解析"的原則,部分?jǐn)?shù)據(jù)的分析相對耗時,不如直接 保存完整內(nèi)容,待到用戶提交査詢請求時再檢索并解析。而用戶往往只會査詢 所有記錄中的一小部分。這樣,盡管占用了較多的硬盤空間且單筆查詢的開銷 有所增加,但從整體來看,系統(tǒng)資源可以有很大的節(jié)約。
以上的功能模塊,可以通過后臺運行,也可以通過特定的接口與webserver 配合運行。后者隱藏了所有的實現(xiàn)細節(jié),為使用者提供了便捷易懂的操作環(huán)境, 可以很好地降低使用的技術(shù)門檻,并提供-一定的功能拓展。其它相關(guān)的功能模 塊還包括日志記錄,數(shù)據(jù)庫備份,掉電恢復(fù)等等,這些功能與3個主要模塊相 配合,可以為用戶使用設(shè)備、管理網(wǎng)絡(luò)提供進一步的幫助。
總上所述,本發(fā)明通過收包、解析、存儲這3個模塊完整地實現(xiàn)了網(wǎng)絡(luò)應(yīng) 川層信息監(jiān)控功能,在每個步驟都以提升執(zhí)行效率為優(yōu)先,兼顧系統(tǒng)兼容性和 穩(wěn)定性,盡可能為企業(yè)用戶提供高效率、易管理、低成本的一體化業(yè)務(wù)終端平
臺
圖l是本發(fā)明的整體框架結(jié)構(gòu); 圖2是本發(fā)明的內(nèi)核收包模塊的工作流程; 圖3用戶態(tài)分類解析模塊的工作流程; 圖4存儲統(tǒng)計模塊的工作流程
具體實施例方式
如圖1所示,為本發(fā)明的整體框架結(jié)構(gòu)圖。顯示了本發(fā)明對數(shù)據(jù)包11的處
理過程,內(nèi)核收包模塊20從內(nèi)核協(xié)議棧12得到數(shù)據(jù)包后隨即將數(shù)據(jù)包11存入 高速緩沖區(qū)。然后用戶態(tài)的解析模塊30會從高速緩沖區(qū)中獲得完整包,依照傳 輸層、應(yīng)用層協(xié)議標(biāo)準(zhǔn)對其進行重組分析,以得到所需要信息,并將其傳遞到 存儲統(tǒng)計模塊40。后者將數(shù)據(jù)分類優(yōu)化后存入數(shù)據(jù)庫供用戶查詢14。具體實施
方式如下
1、 Linux系統(tǒng)啟動后,加載相應(yīng)的網(wǎng)絡(luò)規(guī)則,通過端口號配置所要監(jiān)控的協(xié)議 類型。網(wǎng)絡(luò)規(guī)則被加載后,本發(fā)明的內(nèi)核收包模塊20部分以內(nèi)核模塊的形式被 載入內(nèi)核運行,該模塊的運行流程如下(見圖2):
1.1.初始化21,注冊啟動退出例程22;
1. 2.初始化與用戶態(tài)程序建立通信23的Link機制;
1.3. 創(chuàng)建高速緩沖區(qū)24;
1.4. 循環(huán)讀取內(nèi)核網(wǎng)絡(luò)協(xié)議棧,通過讀取內(nèi)核協(xié)議棧得到數(shù)據(jù)包,得到的 數(shù)據(jù)包被放入高速緩沖區(qū)25;
1.5. 根據(jù)端口號匹配以確定這個數(shù)據(jù)包的所屬連接是否需要被監(jiān)控26;
1.6. 如果匹配成功,數(shù)據(jù)包通過Link機制傳遞到用戶空間27;
2、 在上一步的網(wǎng)絡(luò)規(guī)則加載完成后,用戶態(tài)的分類解析模塊以單獨守護進程的 形式在系統(tǒng)后臺開始執(zhí)行。該模塊的運行流程如下(見圖3):
2. 1.基本數(shù)據(jù)結(jié)構(gòu)初始化31,讀取數(shù)據(jù)庫或文件得到啟動參數(shù);
2. 2.對用于數(shù)據(jù)包重組并生成完整數(shù)據(jù)流的子模塊進行初始化32; 2. 3.初始化與內(nèi)核態(tài)程序建立通信的Link機制33;2.4. 與內(nèi)核態(tài)程序建立連接后,開始循環(huán)獲取網(wǎng)絡(luò)數(shù)據(jù)包34;
2.5. 將獲取到的網(wǎng)絡(luò)數(shù)據(jù)包進行類型匹配35,丟棄無需監(jiān)控的數(shù)據(jù)包,將 其余包送入數(shù)據(jù)包重組子模塊來形成完整的數(shù)據(jù)流,這些信息在完全獲取 以前將依照尺寸的大小分類保存在內(nèi)存或磁盤中36;
2.6. 當(dāng)數(shù)據(jù)流獲取完整后,根據(jù)具體的應(yīng)用層協(xié)議對其進行解析,得到用 戶所需要的信息37;
2.7. 對于個別的網(wǎng)絡(luò)應(yīng)用無需重組數(shù)據(jù)包,數(shù)據(jù)不必送入包重組子模塊, 直接對其進行解析38,得到所需的信息;
2. 8.調(diào)用存儲統(tǒng)計模塊對上兩步的所得到的信息進行處理39。
3、存儲統(tǒng)計模塊在邏輯上獨立,在仍包括在用戶態(tài)的單獨守護進程中,其主要 流程如下(見圖4):
3.1. 接受存儲請求41;
3.2. 對上一步得到的信息進行壓縮調(diào)整42;
3.3. 連接數(shù)據(jù)庫43;
3.4. 保存信息到數(shù)據(jù)庫44;
3.5. 斷開數(shù)據(jù)庫連接45;
3.6. 根據(jù)配置,有選擇地將操作的結(jié)果寫入日志46。
權(quán)利要求
1、一種網(wǎng)絡(luò)應(yīng)用層監(jiān)控的方法。是根植于Linux這個開源系統(tǒng)平臺,采用模塊化設(shè)計理念,可以方便地進行功能擴展。而不依賴具體硬件的特點,使其在各式32/64位主機上都能運行良好,現(xiàn)已順利移植到國產(chǎn)龍芯64位平臺,經(jīng)測試可以充分發(fā)掘其執(zhí)行潛力,完全可以滿足功能完善、低能耗高效率的使用要求。其特征在于,包括以下主要部分(a)效率極高的內(nèi)核收包模塊(b)用戶態(tài)的分類解析模塊(c)存儲統(tǒng)計模塊
2、 根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)層監(jiān)控的方法,其特征在于,內(nèi)容(a)還包拈以下歩驟這個模塊是本發(fā)明的核心,與其它監(jiān)控技術(shù)所采用的用戶態(tài)程序收包方式相比,內(nèi)核收包經(jīng)測試可以獲得10倍以上的效率提升。其主要過程是(al)與用戶態(tài)程序建立連接,創(chuàng)建高速緩沖區(qū),這一步驟只在程序啟動時執(zhí)行,資源開銷是一次性的。(a2)操作系統(tǒng)內(nèi)核通過網(wǎng)絡(luò)協(xié)議棧接受數(shù)據(jù)包,將其存入緩沖區(qū)。由于收包的主要操作在內(nèi)核中實現(xiàn),不需要用戶態(tài)程序頻繁切換到內(nèi)核態(tài)獲取數(shù)據(jù),因此可以獲得很大程度的性能提升。(a3)通過與用戶態(tài)程序建立的連接將數(shù)據(jù)包傳遞到用戶空間,完成后繼續(xù)第二步。由于采用底層的內(nèi)核態(tài)與用戶態(tài)通信機制,并且釆用了批量傳遞機制,這一步的系統(tǒng)開銷極少。
3、 根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)層監(jiān)控的方法,其特征在于,內(nèi)容(b)還 包括以下步驟用戶態(tài)程序得到內(nèi)核的提示后,可以通過與內(nèi)核態(tài)程序建立的連接方便地得到網(wǎng)絡(luò)數(shù)據(jù)包。但此時的數(shù)據(jù)包是含IP頭的原始包,要得到對用戶所需要的 結(jié)果,還需要做以下處理(bl)重組數(shù)據(jù)包,得到完整的數(shù)據(jù)流。這一步完全依照TCP/IP標(biāo)準(zhǔn)實現(xiàn), 最大限度地保證兼容性和擴展性。此外也引入緩沖區(qū)機制,將不完整的數(shù)據(jù)保 存到啟動時開辟的緩沖區(qū),等數(shù)據(jù)獲取完整后再統(tǒng)一處理。(b2)對數(shù)據(jù)流進行分析,截取需要的數(shù)據(jù)。這一步也是效率提升的關(guān)鍵 之一,本模塊利用高級的數(shù)據(jù)結(jié)構(gòu),關(guān)鍵性的代碼由匯編實現(xiàn),很好地達到了 設(shè)計要求。(b3)對于個別的網(wǎng)絡(luò)應(yīng)用無需重組數(shù)據(jù)包,只要分析各數(shù)據(jù)包中的關(guān)鍵 字即可獲得需要的數(shù)據(jù),這也有助于本模塊乃至整套監(jiān)控系統(tǒng)可以進一步提升效率。目前,用戶態(tài)模塊可以分析的網(wǎng)絡(luò)應(yīng)用主要有電子郵件、網(wǎng)頁瀏覽、聊天通訊,除卻個別加密或涉及版權(quán)的網(wǎng)絡(luò)應(yīng)用以外,整體的監(jiān)控識別率在95%以 上。用戶態(tài)模塊還可以很方便的進行定制,根據(jù)用戶的需求單獨開啟某一項、 幾項監(jiān)控功能,更支持由用戶指定受監(jiān)控的主機、時段等條件,最大限度地為 用戶提供使用上的靈活性。
4、根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)層監(jiān)控的方法,其特征在于,內(nèi)容(c)還包括以下步驟得到所需要的數(shù)據(jù)后,需要將數(shù)據(jù)存入數(shù)據(jù)庫。這部分的設(shè)計重點是解決 由于數(shù)據(jù)量過大帶來的數(shù)據(jù)庫過于龐大,存儲查詢極耗費資源的問題。解決方案是(Cl)對要保存的數(shù)據(jù)進行壓縮,在存儲空間和處理時間之間取得最佳平衡點(C2)優(yōu)化存儲結(jié)構(gòu),合理設(shè)計數(shù)據(jù)表的格式,對于尺寸龐大的數(shù)據(jù)比如 幾十MB的郵件作單獨的保存,數(shù)據(jù)庫中只保存其査詢路徑。(C3)采用"査詢時解析"的原則,部分?jǐn)?shù)據(jù)的分析相對耗時,不如直接 保存完整內(nèi)容,待到用戶提交査詢請求時再檢索并解析。而用戶往往只會查詢 所有記錄中的一小部分。這樣,盡管占用了較多的硬盤空間且單筆查詢的開銷 有所增加,但從整體來看,系統(tǒng)資源可以有很大的節(jié)約。
全文摘要
本發(fā)明是一種網(wǎng)絡(luò)應(yīng)用層信息監(jiān)控的方法,其主旨是監(jiān)控、記錄、顯示、統(tǒng)計經(jīng)過業(yè)務(wù)終端設(shè)備的各種網(wǎng)絡(luò)數(shù)據(jù),如郵件、網(wǎng)頁訪問、聊天記錄,為網(wǎng)絡(luò)管理人員提供高效便捷的網(wǎng)絡(luò)行為分析服務(wù)。防止網(wǎng)絡(luò)使用者濫用互聯(lián)網(wǎng)、消耗資源和浪費工作時間甚至泄露公司機密。本發(fā)明根植于Linux這個開源系統(tǒng)平臺,采用模塊化設(shè)計理念,可以方便地進行功能擴展。本發(fā)明主要部分包括(a)效率極高的內(nèi)核收包模塊;(b)用戶態(tài)的分類解析模塊;(c)存儲統(tǒng)計模塊。
文檔編號H04L12/26GK101588275SQ20081024149
公開日2009年11月25日 申請日期2008年12月25日 優(yōu)先權(quán)日2008年12月25日
發(fā)明者王彬文, 鄒政軍 申請人:深圳市宇沃德信息技術(shù)有限公司