摘要:隨著計算機及網(wǎng)絡(luò)技術(shù)的日益發(fā)展,實驗室的科研條件得到了很大的改善,但同時也給實驗室機房管理帶來了新的問題,因此需要開發(fā)一個“監(jiān)控系統(tǒng)”來對實驗室進行網(wǎng)絡(luò)管理。首先對實驗室的實際需求進行分析,了解網(wǎng)絡(luò)監(jiān)控系統(tǒng)的功能特點,在此基礎(chǔ)上設(shè)計了系統(tǒng)的框架和數(shù)據(jù)結(jié)構(gòu),劃分了功能模塊。最后使用Delphi 7.0 開發(fā)工具實現(xiàn)了所設(shè)計的系統(tǒng)。
關(guān)鍵詞:網(wǎng)絡(luò)監(jiān)控;主控機;受控機;控件
中圖分類號: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 引言
計算機網(wǎng)絡(luò)是利用通信設(shè)施將地理上分布的具有自治功能的計算機系統(tǒng)互連起來,實現(xiàn)信息資源共享、可互操作和協(xié)作處理的系統(tǒng)。它是計算機與通信技術(shù)逐步發(fā)展、日益密切融合的產(chǎn)物。隨著計算機及網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,越來越多的實驗室購置了大量的計算機設(shè)備并建立了局域網(wǎng),為研究工作提供了良好的環(huán)境,改善了工作條件,但同時也給實驗室機房管理帶來了新的問題[1]。所以開發(fā)此“監(jiān)控系統(tǒng)”來進行實驗室網(wǎng)絡(luò)管理,以提高網(wǎng)絡(luò)的監(jiān)控效果,保證實驗室的網(wǎng)絡(luò)管理科學(xué)到位。
2 系統(tǒng)需求分析
目前最好的網(wǎng)絡(luò)管理方法是遠程監(jiān)控。采用軟件結(jié)合硬件系統(tǒng),通過網(wǎng)絡(luò)傳輸協(xié)議,利用主控機監(jiān)視遠程受控機的屏幕來了解該客戶對微機的使用情況,從而進行控制[2-3]。在本系統(tǒng)中,若發(fā)現(xiàn)該用戶在作違紀的事情時可及時對其發(fā)出警告并進行制止,以此來配合正常研究工作。
本系統(tǒng)軟件包含2個程序,1個(isprite.exe)在主控機使用,1個(fserver.exe)在受控機使用。
1) 主控機功能模塊劃分
① 搜索模塊:搜索局域網(wǎng)內(nèi)的每一臺機器,搜索正在運行受控程序的精靈“用戶”們。② 屏幕控制:顯示受控機的一幅圖像或者其動態(tài)圖像,監(jiān)視受控機的屏幕,用鼠標和鍵盤在本機模擬受控機的操作,對受控機進行控制。③ 操縱受控機:取得受控機的有關(guān)信息;對受控機進行控制操作。④ 文件管理:對受控機的文件系統(tǒng)進行管理操作。⑤ 短消息:對受控機發(fā)送短消息進行提示或警告。⑥ 說明:對系統(tǒng)的使用進行說明。
2) 受控機功能說明:
后臺運行,接受主控機發(fā)送的信息,對其進行響應(yīng)和處理,將一定的處理結(jié)果返回給主控機。
3 系統(tǒng)設(shè)計
系統(tǒng)主要完成對局域網(wǎng)內(nèi)的任意一臺機器的屏幕進行監(jiān)視,并對其操縱控制,配合實驗室管理,使實驗室管理人員能隨時得知其他人正在做什么,從而更有效地提高實驗室防泄密防竊密的能力。
系統(tǒng)涉及到主控機和受控機,采用Client/Server結(jié)構(gòu),編制兩個應(yīng)用程序,一個為isprite.exe,裝在主控機上;另一個為fserver.exe,裝在受控機上。系統(tǒng)體系結(jié)構(gòu)如圖1所示。
3.1 系統(tǒng)主要功能設(shè)計
系統(tǒng)主要實現(xiàn)遠程操作、實時監(jiān)控、網(wǎng)絡(luò)會話等功能。
1) 操作部分:
① 文件管理:對受控機的文件系統(tǒng)進行管理操作。② 搜索受控機、精靈:搜索網(wǎng)絡(luò)中的所有機器并進行顯示,對運行受控端程序(fserver.exe)的機器建立連接,以備監(jiān)視其屏幕;進入精靈會館,搜索已經(jīng)建立連接的網(wǎng)絡(luò)精靈。③ 發(fā)送短消息:項受控機發(fā)送消息,對使用者進行提示或警告。
2) 屏幕控制:
顯示受控機的一幅圖像或者其動態(tài)圖像,監(jiān)視受控機的屏幕,用鼠標和鍵盤在本機模擬受控機的操作,對受控機進行控制。
3) 操縱受控機:
取得密碼、上網(wǎng)記錄、系統(tǒng)信息、驅(qū)動器信息、安裝的應(yīng)用程序、正在運行的程序等有關(guān)信息;對受控機進行關(guān)機、重啟動、注銷操縱;刪除控制程序。
4) 精靈會館:進行網(wǎng)絡(luò)聊天,為了方便用戶表達自己的情感,設(shè)置了8種表情供用戶選擇。
5) 說明:對系統(tǒng)的使用進行說明。
系統(tǒng)主要功能如圖2所示。
3.2 系統(tǒng)流程圖
系統(tǒng)流程圖如圖3所示。
4 系統(tǒng)實現(xiàn)
主機程序工作在Windows 2000操作系統(tǒng)平臺,使用Delphi7.0編程軟件進行開發(fā)[4]。
Delphi是目前用來開發(fā)Windows應(yīng)用程序的強大工具之一,是一個可視化應(yīng)用程序開發(fā)工具,用途很廣泛。它是開發(fā)客戶機/服務(wù)器(Client/ Server)結(jié)構(gòu)應(yīng)用程序的最佳工具。Delphi提供了大量的網(wǎng)絡(luò)編程控件,其中封裝了網(wǎng)絡(luò)的底層協(xié)議和Windows API函數(shù),使得用Delphi進行網(wǎng)絡(luò)編程更加簡化[5-6]。
4.1 界面設(shè)計
衡量一個操作系統(tǒng)人性化程度的標準,往往是以它的界面設(shè)計為基礎(chǔ)的,因此在整個系統(tǒng)的設(shè)計當(dāng)中,把重點放在界面框架的搭建當(dāng)中,合理而又美觀的設(shè)計了系統(tǒng)主界面、搜索界面、模擬界面、受控端界面等四個界面,這樣在系統(tǒng)的實際操作過程中,能最大程度的體現(xiàn)設(shè)計的人性化。
4.2 主要程序設(shè)計
在這里主要以TNMUDP和Ttimer兩個控件為例來詳細介紹程序的設(shè)計過程。
4.2.1 TNMUDP控件
1) 受控方TNMUDP控件功能設(shè)計:
將受控方TNMUDP控件Name屬性設(shè)為“CUDP”。控件CUDP的主要屬性與默認值的不同為:
Object CUDP: TNMUDP
RemotePort=8848
LocalPort=3721
End
CUDP的 LocalPort 屬性設(shè)為“3721”,讓控件 CUDP 監(jiān)視受控機的“3721”端口,當(dāng)有數(shù)據(jù)發(fā)送到該端口時,觸發(fā)控件 CUDP 的 OnDataReceived事件;RemotePort 屬性設(shè)為“8848”,當(dāng)控件 CUDP 發(fā)送數(shù)據(jù)時,將數(shù)據(jù)發(fā)到主控機的“8848”端口。
2) 主控方TNMUDP控件功能設(shè)計::
① 將主控方主界面的TNMUDP控件Name屬性設(shè)為“SUDP”。控件SUDP的主要屬性與默認值的不同為:
Object SUDP: TNMUDP
RemotePort=3721
LocalPort=8848
End
SUDP的 LocalPort 屬性設(shè)為“8848”,與受控機的RemotePort屬性一致,讓控件 SUDP 監(jiān)視主控機的“8848”端口,當(dāng)有數(shù)據(jù)發(fā)送到該端口時,觸發(fā)控件 SUDP 的 OnDataReceived事件;RemotePort 屬性設(shè)為“3721”,與受控機的LocalPort屬性一致,當(dāng)控件 SUDP 發(fā)送數(shù)據(jù)時,將數(shù)據(jù)發(fā)到受控機的“3721”端口。
② 將主控方搜索界面的TNMUDP控件Name屬性設(shè)為“SUDP2”??丶UDP2的主要屬性與默認值的不同為:
Object SUDP2: TNMUDP
RemotePort=3721
LocalPort=8864
End
SUDP2的LocalPort屬性設(shè)為“8864”,與受控機的RemotePort屬性一致,讓控件 SUDP2 監(jiān)視主控機的“8864”端口,當(dāng)有數(shù)據(jù)發(fā)送到該端口時,觸發(fā)控件 SUDP2 的 OnDataReceived事件;RemotePort 屬性設(shè)為“3721”,與受控機的LocalPort屬性一致,當(dāng)控件 SUDP2 發(fā)送數(shù)據(jù)時,將數(shù)據(jù)發(fā)到受控機的“3721”端口。
4.2.2 TTimer控件
用來從網(wǎng)上服務(wù)器得到時間。
屬性ReportLevel=0
此屬性控制OnStatus時間和Status屬性所報告的細節(jié)的多少,有如下6個取值:
Status_None=0
Status_Informational=1
Status_Basic=2
Status_Routines=4
Status_Debug=8
Status_Trace=16
設(shè)置的級別越高,則得到的細節(jié)越多。
屬性TimeOut=500
此屬性指定在例外發(fā)生和當(dāng)前操作失敗前等待端口響應(yīng)的時間。其值主要視網(wǎng)速決定[7]。
4.3 實驗測試
在系統(tǒng)完成之后進行了簡單的測試,測試結(jié)果如下圖所示。圖4顯示的是搜索結(jié)果,圖5顯示的是操縱受控機結(jié)果。
4 結(jié)論
在對實驗室實際需求進行詳細分析的基礎(chǔ)上,詳細了解和分析了對網(wǎng)絡(luò)監(jiān)控系統(tǒng)的功能需求,并在此基礎(chǔ)上設(shè)計了系統(tǒng)的框架和數(shù)據(jù)結(jié)構(gòu),劃分了功能模塊。然后使用Delphi 7.0 開發(fā)工具對所設(shè)計的系統(tǒng)進行了編程開發(fā),在開發(fā)過程中共使用了30多種控件,4個Form組成的界面和Page Control的5個頁面。系統(tǒng)初步實現(xiàn)了操作受控機、屏幕監(jiān)控等遠程監(jiān)控的基本功能達到了設(shè)計的目的。
參考文獻:
[1] 于海濤,蔣凡.網(wǎng)絡(luò)監(jiān)控的應(yīng)用[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2004,11:27-30.
[2] 張楠,張振國.客戶端/服務(wù)器模式中傳輸層協(xié)議的比較與選擇[J].網(wǎng)絡(luò)與通信,2006,22(9-3):200-202.
[3] 明日科技,宋坤,鄒天思.Delphi數(shù)據(jù)庫系統(tǒng)開發(fā)完全手冊[M].北京:人民郵電出版社,2006.
[4] 黃穎,張小飛.網(wǎng)絡(luò)監(jiān)控系統(tǒng)的設(shè)計和實現(xiàn)[J].計算機工程與應(yīng)用,2003,22:161-163.
[5] 欒昌海.異構(gòu)網(wǎng)絡(luò)下的Web監(jiān)控系統(tǒng)設(shè)計研究[J].微計算機信息,2008,24(7-3):81,101-102.
[6] 邊萌.Delphi編程技巧-網(wǎng)絡(luò)與數(shù)據(jù)庫篇[M].北京:機械工業(yè)出版社,2001.
[7] 明日科技,宋坤,鄒天思.Delphi數(shù)據(jù)庫系統(tǒng)開發(fā)完全手冊[M].北京:人民郵電出版社,2006.