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