摘要:隨著計算機及網絡技術的日益發展,實驗室的科研條件得到了很大的改善,但同時也給實驗室機房管理帶來了新的問題,因此需要開發一個“監控系統”來對實驗室進行網絡管理。首先對實驗室的實際需求進行分析,了解網絡監控系統的功能特點,在此基礎上設計了系統的框架和數據結構,劃分了功能模塊。最后使用Delphi 7.0 開發工具實現了所設計的系統。
關鍵詞:網絡監控;主控機;受控機;控件
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2009)15-3869-02
Design and Implementation of Lab Network Surveillance System
LI Cheng-yun1,ZHI Dong-dong2, FENG Shuan-guo2
(1.Naval Headquarters, Beijing 100841, China; 2.Naval Logistics Department, Beijing 100841, China)
Abstract: With the increasing development of computers and network technology, it improves the condition of research of Lab, but at the time it also brings new problem to the administrators of lab's computers' room. The surveillant and manipulative system has been executed. First, we analysis the need of the surveillant and manipulative system in detail according to the effective demand of the Lab, then, we design the frame and the data structure of the system and divide the modes of the function on this foundation. And then we use Delphi7.0 to design the system.
Key words: network surveillance; controlling computer; controlled computer; control
1 引言
計算機網絡是利用通信設施將地理上分布的具有自治功能的計算機系統互連起來,實現信息資源共享、可互操作和協作處理的系統。它是計算機與通信技術逐步發展、日益密切融合的產物。隨著計算機及網絡技術的飛速發展,越來越多的實驗室購置了大量的計算機設備并建立了局域網,為研究工作提供了良好的環境,改善了工作條件,但同時也給實驗室機房管理帶來了新的問題[1]。所以開發此“監控系統”來進行實驗室網絡管理,以提高網絡的監控效果,保證實驗室的網絡管理科學到位。
2 系統需求分析
目前最好的網絡管理方法是遠程監控。采用軟件結合硬件系統,通過網絡傳輸協議,利用主控機監視遠程受控機的屏幕來了解該客戶對微機的使用情況,從而進行控制[2-3]。在本系統中,若發現該用戶在作違紀的事情時可及時對其發出警告并進行制止,以此來配合正常研究工作。
本系統軟件包含2個程序,1個(isprite.exe)在主控機使用,1個(fserver.exe)在受控機使用。
1) 主控機功能模塊劃分
① 搜索模塊:搜索局域網內的每一臺機器,搜索正在運行受控程序的精靈“用戶”們。② 屏幕控制:顯示受控機的一幅圖像或者其動態圖像,監視受控機的屏幕,用鼠標和鍵盤在本機模擬受控機的操作,對受控機進行控制。③ 操縱受控機:取得受控機的有關信息;對受控機進行控制操作。④ 文件管理:對受控機的文件系統進行管理操作。⑤ 短消息:對受控機發送短消息進行提示或警告。⑥ 說明:對系統的使用進行說明。
2) 受控機功能說明:
后臺運行,接受主控機發送的信息,對其進行響應和處理,將一定的處理結果返回給主控機。
3 系統設計
系統主要完成對局域網內的任意一臺機器的屏幕進行監視,并對其操縱控制,配合實驗室管理,使實驗室管理人員能隨時得知其他人正在做什么,從而更有效地提高實驗室防泄密防竊密的能力。
系統涉及到主控機和受控機,采用Client/Server結構,編制兩個應用程序,一個為isprite.exe,裝在主控機上;另一個為fserver.exe,裝在受控機上。系統體系結構如圖1所示。
3.1 系統主要功能設計
系統主要實現遠程操作、實時監控、網絡會話等功能。
1) 操作部分:
① 文件管理:對受控機的文件系統進行管理操作。② 搜索受控機、精靈:搜索網絡中的所有機器并進行顯示,對運行受控端程序(fserver.exe)的機器建立連接,以備監視其屏幕;進入精靈會館,搜索已經建立連接的網絡精靈。③ 發送短消息:項受控機發送消息,對使用者進行提示或警告。
2) 屏幕控制:
顯示受控機的一幅圖像或者其動態圖像,監視受控機的屏幕,用鼠標和鍵盤在本機模擬受控機的操作,對受控機進行控制。
3) 操縱受控機:
取得密碼、上網記錄、系統信息、驅動器信息、安裝的應用程序、正在運行的程序等有關信息;對受控機進行關機、重啟動、注銷操縱;刪除控制程序。
4) 精靈會館:進行網絡聊天,為了方便用戶表達自己的情感,設置了8種表情供用戶選擇。
5) 說明:對系統的使用進行說明。
系統主要功能如圖2所示。
3.2 系統流程圖
系統流程圖如圖3所示。
4 系統實現
主機程序工作在Windows 2000操作系統平臺,使用Delphi7.0編程軟件進行開發[4]。
Delphi是目前用來開發Windows應用程序的強大工具之一,是一個可視化應用程序開發工具,用途很廣泛。它是開發客戶機/服務器(Client/ Server)結構應用程序的最佳工具。Delphi提供了大量的網絡編程控件,其中封裝了網絡的底層協議和Windows API函數,使得用Delphi進行網絡編程更加簡化[5-6]。
4.1 界面設計
衡量一個操作系統人性化程度的標準,往往是以它的界面設計為基礎的,因此在整個系統的設計當中,把重點放在界面框架的搭建當中,合理而又美觀的設計了系統主界面、搜索界面、模擬界面、受控端界面等四個界面,這樣在系統的實際操作過程中,能最大程度的體現設計的人性化。
4.2 主要程序設計
在這里主要以TNMUDP和Ttimer兩個控件為例來詳細介紹程序的設計過程。
4.2.1 TNMUDP控件
1) 受控方TNMUDP控件功能設計:
將受控方TNMUDP控件Name屬性設為“CUDP”。控件CUDP的主要屬性與默認值的不同為:
Object CUDP: TNMUDP
RemotePort=8848
LocalPort=3721
End
CUDP的 LocalPort 屬性設為“3721”,讓控件 CUDP 監視受控機的“3721”端口,當有數據發送到該端口時,觸發控件 CUDP 的 OnDataReceived事件;RemotePort 屬性設為“8848”,當控件 CUDP 發送數據時,將數據發到主控機的“8848”端口。
2) 主控方TNMUDP控件功能設計::
① 將主控方主界面的TNMUDP控件Name屬性設為“SUDP”。控件SUDP的主要屬性與默認值的不同為:
Object SUDP: TNMUDP
RemotePort=3721
LocalPort=8848
End
SUDP的 LocalPort 屬性設為“8848”,與受控機的RemotePort屬性一致,讓控件 SUDP 監視主控機的“8848”端口,當有數據發送到該端口時,觸發控件 SUDP 的 OnDataReceived事件;RemotePort 屬性設為“3721”,與受控機的LocalPort屬性一致,當控件 SUDP 發送數據時,將數據發到受控機的“3721”端口。
② 將主控方搜索界面的TNMUDP控件Name屬性設為“SUDP2”。控件SUDP2的主要屬性與默認值的不同為:
Object SUDP2: TNMUDP
RemotePort=3721
LocalPort=8864
End
SUDP2的LocalPort屬性設為“8864”,與受控機的RemotePort屬性一致,讓控件 SUDP2 監視主控機的“8864”端口,當有數據發送到該端口時,觸發控件 SUDP2 的 OnDataReceived事件;RemotePort 屬性設為“3721”,與受控機的LocalPort屬性一致,當控件 SUDP2 發送數據時,將數據發到受控機的“3721”端口。
4.2.2 TTimer控件
用來從網上服務器得到時間。
屬性ReportLevel=0
此屬性控制OnStatus時間和Status屬性所報告的細節的多少,有如下6個取值:
Status_None=0
Status_Informational=1
Status_Basic=2
Status_Routines=4
Status_Debug=8
Status_Trace=16
設置的級別越高,則得到的細節越多。
屬性TimeOut=500
此屬性指定在例外發生和當前操作失敗前等待端口響應的時間。其值主要視網速決定[7]。
4.3 實驗測試
在系統完成之后進行了簡單的測試,測試結果如下圖所示。圖4顯示的是搜索結果,圖5顯示的是操縱受控機結果。
4 結論
在對實驗室實際需求進行詳細分析的基礎上,詳細了解和分析了對網絡監控系統的功能需求,并在此基礎上設計了系統的框架和數據結構,劃分了功能模塊。然后使用Delphi 7.0 開發工具對所設計的系統進行了編程開發,在開發過程中共使用了30多種控件,4個Form組成的界面和Page Control的5個頁面。系統初步實現了操作受控機、屏幕監控等遠程監控的基本功能達到了設計的目的。
參考文獻:
[1] 于海濤,蔣凡.網絡監控的應用[J].網絡安全技術與應用,2004,11:27-30.
[2] 張楠,張振國.客戶端/服務器模式中傳輸層協議的比較與選擇[J].網絡與通信,2006,22(9-3):200-202.
[3] 明日科技,宋坤,鄒天思.Delphi數據庫系統開發完全手冊[M].北京:人民郵電出版社,2006.
[4] 黃穎,張小飛.網絡監控系統的設計和實現[J].計算機工程與應用,2003,22:161-163.
[5] 欒昌海.異構網絡下的Web監控系統設計研究[J].微計算機信息,2008,24(7-3):81,101-102.
[6] 邊萌.Delphi編程技巧-網絡與數據庫篇[M].北京:機械工業出版社,2001.
[7] 明日科技,宋坤,鄒天思.Delphi數據庫系統開發完全手冊[M].北京:人民郵電出版社,2006.