河南農業職業學院 袁社鋒 李 磊
基于C/S的實時網絡監控軟件的開發與實現
河南農業職業學院 袁社鋒 李 磊
本文主要介紹了多層分布式體系結構的設計方案。其工作原理是在計算機啟動后自動運行客戶端程序,并與應用程序服務器建立通信。網絡管理員可以通過服務器程序對客戶端計算機進行監控和智能化管理,計算機將根據服務器執行相應的操作,發送操作指令。該系統實現了整個系統框架的主要模塊,網絡監測數據初始化模塊,網絡數據傳輸模塊,圖像編碼和解碼模塊,充分利用現有局域網資源,傳輸及時,管理信息系統。
網絡監控;軟件;開發
發展現代網絡信息技術,在國家的政治、經濟和軍事方面起著決定性的作用,人工監控和管理計算機已不能滿足高標準、高需求的信息社會而被逐漸被淘汰,智能網絡監測系統取而代之,監測的效果更動態,實時,準確,高效。
本系統結合傳統的防火墻,網絡入侵檢測,黑客監控系統的諸多優點,主要采用多層分布式C/S架構開發。控制臺監控,數據中心服務器,運行控制器和嗅探器四部分組成整個監控代理系統。多個監控代理可以是一個數據中心服務器,也可以通過監控控制訪問,然后監控代理接收由數據中心服務器控制臺命令轉發。運行后,網絡管理員可以實時動態監測所有的通信計算機之間,外部網絡,內部網絡,在同一時間的應用集設計、報警、跟蹤和審計等功能于一體的智能監控網絡系統。
客戶端程序和服務器端程序是構成C/S模式的遠程控制軟件的兩個部分。將客戶端程序安裝到主控端電腦上,將服務器端程序安裝到被控端電腦上,這兩個操作都是在使用之前進行的。客戶端和服務器往往分別是相距甚遠的兩臺電腦,將用戶請求的任務提交到服務器程序這個由客戶端程序去完成,然后服務器程序以一種具體的形式作為結果返回,對用戶顯示;接收客戶端程序提出的服務請求,并做出相應的處理,然后把結果返回給客戶端程序,這些都是服務器程序需完成的任務。如圖1所示,主要控制管理模塊、各個功能模塊和網絡通信性模塊通常組成客戶端程序;服務器程序通常包括一個網絡通信模塊,一個功能執行模塊,它包括自我保護和反逆向模塊等。

圖1 C / S模式系統結構圖
大型計算機應用系統被劃分成若干個相互獨立的子系統,客戶端是整個應用系統資源的存儲和管理的中心,多臺服務器機分別對應的處理功能,共同實現完整的應用程序,這就是系統結構的C/S模式。由客戶端和服務器構成遠程控制系統的主要組成部分,客戶端程序在系統中實現主控制功能,服務器程序是用戶指令執行部分。
基于C/S模式的遠程監控系統,分為客戶端和服務器端程序,網絡環境要求不是很嚴格,可以是局域網,也可以是一個廣域網。安裝到個人電腦上的客戶端管理,用于控制區域內的電腦,包括界面信息顯示、屏幕控制、信息反饋、網絡通信、任務管理等功能。區域內作為服務器的電腦,具有包括自啟動、服務器隱藏和網絡通信等功能。大多數機房的計算機屬于局域網絡,服務器可以安裝在局域網內部的電腦上,通過互聯網連接的客戶端建立連接,遠程監控和協助客戶接受。該系統的目的是同時向多臺服務器提供遠程屏幕監控和遠程協助服務,系統結構如圖2所示。

圖2 基于C/S模式的遠程監控系統
客戶端通過主控界面獲取服務器的基本信息,這標志著服務器端成功的返回到客戶端。當客戶端程序啟動時任務數顯示為0,說明不需要服務器發送任務指令。當服務器和客戶端連接成功后,服務器將默認的數據包,調用基本的信息采集功能模塊獲取系統的基本信息,實現基本信息數據結構,并根據包頭自定義協議封裝,發送到客戶端。傳輸過程中,首先,需要對數據進行加密和壓縮,同時,需要對接收到的數據進行解壓和解密。
傳輸的數據通過線程被客戶端接收,數據的報頭首先被接收到,然后根據數據包定義的大小,把接收到的數據包的基本信息,發送一個消息發送到主控制界面,更新服務器窗口列表,顯示信息服務器。客戶端界面更新完成后,明確任務模塊。該服務器成功傳輸數據之后,退出信息采集線程清理任務模塊,從而完成了第一個默認任務。
為了方便客戶統一管理任務,所有的任務由客戶端發往服務器,當客戶端反饋數據時,根據相應的任務模塊調用相應的功能,處理任務結果,并要求由服務器程序發起請求倡議,在客戶端接收所創建的線程數據,同時服務器創建任務線程處理的請求,當服務器發送請求協助指令時,客戶端可以找到相應的任務處理模塊。
客戶端收到服務器請求任務后,將消息發送到主控制界面,服務器列表中突出顯示,并在“任務數”一欄更改為1,以提醒用戶注意到服務器遠程協助請求。如果用戶選擇立即控制服務器上的屏幕,然后改變主界面“任務數”顯示為0,同時將消息發送給服務器,彈出提示“是遠程協助”。因此,一個完整的請求援助過程,服務器要明確相應的任務,而客戶端只發布數據,保存請求協助任務模塊,等待一下個請求任務的發生。
通用消息包括消息的色彩模式(WM_CMOD)、網格數(WM_GRID)和壓縮消息(WM_WM_COMP)。用戶可以根據他們的公共對話框數據傳輸需求及局域網,選擇不同的色彩模式、網格數算法和數據壓縮集,以獲取滿意效果。
下面以數據壓縮為例:


(1)學生選擇客戶端的IP地址并連接到服務器。
(2)保持輪詢和接收客戶端發送的初始化數據。服務器啟動一個線程,使用循環停止接收客戶端給學生在線程的初始化數據,并將接收到的數據顯示在服務器上。
(3)調用Loadwinsock加載并初始化Winsock,綁定本地地址,創建監聽套接字,等待客戶端接收。套接字主要用于接受客戶端請求,并作出相應處理的反饋消息發送到客戶端Sokcet。因為這部分在學生操作數據初始化模塊的實現中已經進行了詳細的討論,這里不再贅述。
(4)調用客戶端請求處理客戶端線程函數,處理客戶端請求。
客戶端線程是一個客戶端的線程通訊功能,該功能是等待從客戶端程序發送消息。如果消息是“REFRESH”,則將其發送當前的桌面畫面(更新網格);如果該消息是“Dicsonnect”,則連接這端和客戶端;如果該消息用“WM_”開頭,那么根據消息的類型,服務器執行的消息,發送結果返回給客戶端。
本文以Windows操作系統為開發平臺,利用VC++ 6.0作為開發工具,利用網絡通信技術,Winsock技術,通信技術的過程和面向對象的軟件技術,實現了系統框架的主要模塊,網絡監測數據初始化模塊,網絡傳輸模塊,圖像數據編碼和解碼模塊。同時網絡數據傳輸的可靠性和實時采取了一些編程技巧和技術實現方法,該系統在局域網中運行狀況良好。科技大學,2012.
[2]劉創.網絡流量監控系統的設計與實現[D].北京郵電大學,2013.
[3]冷寧.網絡流量監控系統的研究和應用[D].合肥工業大學,2004.
[4]朱文燕.網絡流量監控與實現[J].電腦編程技巧與維護,2010:66-68.
[5]周忠英,李歸祁.多媒體計算機圖像數據壓縮的實現[J].桂林電子工業學院學報,1996.1.
[1]許堅.計算機網絡流量監控的設計與實現[D].電子
袁社鋒(1981—),男,碩士,河南農業職業學院電子信息工程系講師,研究方向:多媒體技術、程序設計。
李磊(1981—),男,河南洛陽人,河南農業職業學院電子信息工程系講師,研究方向:計算機網絡。