遠程計算機網(wǎng)絡(luò)管理系統(tǒng)的設(shè)計畢業(yè)論文_第1頁
已閱讀1頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p><b>  摘 要</b></p><p>  隨著計算機和通信技術(shù)的發(fā)展,遠程監(jiān)控技術(shù)與網(wǎng)絡(luò)技術(shù)的密切結(jié)合使計算機監(jiān)控軟件在工業(yè)自動化領(lǐng)域空前成功,這對提高企業(yè)的生產(chǎn)效率發(fā)揮了巨大的作用。同時也給計算機監(jiān)控軟件朝著辦公自動化領(lǐng)域發(fā)展起到巨大的推動作用。</p><p>  本文討論遠程計算機網(wǎng)絡(luò)管理系統(tǒng)的設(shè)計思路和開發(fā)方法。首先對開發(fā)該系統(tǒng)使

2、用到的一些基本原理做一個簡單的介紹包括:RMON標(biāo)準(zhǔn)、開發(fā)采用的平臺。同時重點分析開發(fā)模式(客戶端\服務(wù)器端模式)、網(wǎng)絡(luò)通信技術(shù)、多線程技術(shù)以及這些核心技術(shù)在該系統(tǒng)開發(fā)過程中的應(yīng)用。其次介紹面向?qū)ο蟪绦蛟O(shè)計思想以及方法、確定該系統(tǒng)使用的開發(fā)方法后,從系統(tǒng)的工作流程出發(fā)分別從客戶端、服務(wù)器端各功能模塊的設(shè)計和實現(xiàn)做一個詳細的介紹。最后對本文對該系統(tǒng)開發(fā)的結(jié)果做一個總結(jié),并且對指出該系統(tǒng)的擴展方向。</p><p>

3、  遠程計算機網(wǎng)絡(luò)管理系統(tǒng)是基于C/S模式的應(yīng)用系統(tǒng);客戶端通過獲取服務(wù)器端網(wǎng)絡(luò)狀態(tài),以及相關(guān)的進程等信息從而實現(xiàn)對該遠程網(wǎng)絡(luò)管理功能。</p><p>  該系統(tǒng)于Windows XP sp2下開發(fā),采用Visual Basic2005作為開發(fā)工具。</p><p>  關(guān)鍵詞:計算機;監(jiān)控;網(wǎng)絡(luò)管理;客戶/服務(wù)器模式</p><p><b>  Abs

4、tract</b></p><p>  With the development of computer and communications technology, remote monitoring technology and network technology closely integration makes computer monitoring software succeed in

5、the areas of industrial automation, and play a tremendous role in improving the production efficiency. This will also greatly promote computer monitoring software turning to the field of office automation </p><

6、;p>  The dissertation discusses the design and realization of a Remote computer network management system. Firstly, discuss some of the basic theory briefly including RMON standards and the development of the platform

7、. Then while focusing on the analysis of the development model (the client \server pattern), network communications technology, Multithreading technology, and the core technology in the system development process applica

8、tions. Secondly, giving an introduction of object-oriented programmi</p><p>  Remote computer network management system is based on Client/Server mode; Client achieved a remote network management functions t

9、hrough the server’s network state and the relevant information of the process.</p><p>  The system developed in Windows XP sp2, with visual basic 2005 as a development tool.</p><p>  Keywords:co

10、mputer;monitoring;network Management;client/server pattern</p><p><b>  目 錄</b></p><p><b>  第一章 緒論1</b></p><p>  1.1 課題研究背景1</p><p>  1.2 國內(nèi)

11、外研究現(xiàn)狀2</p><p>  1.3 本文的主要工作3</p><p>  第二章 系統(tǒng)使用基本概念4</p><p>  2.1 RMON4</p><p>  2.2 C/S軟件開發(fā)模式4</p><p>  2.3 網(wǎng)絡(luò)通信技術(shù)6</p><p>  2.3.1 socke

12、t簡介6</p><p>  2.3.2 socket套接字編程原理7</p><p>  2.3.3 通信方式選擇8</p><p>  2.3.4 套接字工作流程9</p><p>  2.4 多線程技術(shù)10</p><p>  2.5 開發(fā)平臺-------Visual Basic 200511<

13、;/p><p>  第三章 面向?qū)ο蟪绦蛟O(shè)計方法12</p><p>  3.1 面向?qū)ο笏枷?2</p><p>  3.2 面向?qū)ο箝_發(fā)在系統(tǒng)中的應(yīng)用12</p><p>  第四章 遠程計算機管理軟件實現(xiàn)14</p><p>  4.1 系統(tǒng)要求及功能要求14</p><p>  4

14、.1.1 系統(tǒng)要求14</p><p>  4.1.2 功能要求14</p><p>  4.2 系統(tǒng)采用主要技術(shù)15</p><p>  4.3 遠程計算機網(wǎng)絡(luò)管理軟件的設(shè)計框架16</p><p>  4.4 遠程計算機網(wǎng)絡(luò)管理系統(tǒng)核心功能及實現(xiàn)17</p><p>  4.4.1系統(tǒng)界面設(shè)計17<

15、;/p><p>  4.4.2 通信模塊18</p><p>  4.5 遠程計算機網(wǎng)絡(luò)管理系統(tǒng)客戶端設(shè)計實現(xiàn)20</p><p>  4.5.1 客戶端應(yīng)用的實現(xiàn)功能20</p><p>  4.5.2 系統(tǒng)客戶端子功能模塊劃分20</p><p>  4.5.3 主要子模塊設(shè)計實現(xiàn)21</p>

16、<p>  4.6 遠程計算機網(wǎng)絡(luò)管理系統(tǒng)的服務(wù)器端設(shè)計實現(xiàn)28</p><p>  4.6.1 服務(wù)器端開機自啟動的實現(xiàn)28</p><p>  4.6.2 服務(wù)器端托盤運行模式29</p><p>  4.6.3 網(wǎng)絡(luò)監(jiān)控數(shù)據(jù)采集30</p><p>  第五章 結(jié)束語33</p><p>  

17、5.1 工作成果33</p><p>  5.2 工作展望33</p><p><b>  致 謝34</b></p><p><b>  參考文獻35</b></p><p><b>  第一章 緒論</b></p><p>  遠程計算

18、機網(wǎng)絡(luò)管理系統(tǒng)是采用C/S模式主要研究了網(wǎng)絡(luò)狀態(tài)監(jiān)控的關(guān)鍵技術(shù)以及如何實現(xiàn)該系統(tǒng)。該系統(tǒng)利用現(xiàn)代通信技術(shù)、Socket編程、數(shù)據(jù)采集、多線程以及面向?qū)ο蟮溶浖_發(fā)技術(shù)實現(xiàn)系統(tǒng)管理、用戶驗證、網(wǎng)絡(luò)監(jiān)控、數(shù)據(jù)顯示等功能;其優(yōu)點是具有良好的人機交互性,便于用戶使用,同時不需要硬件設(shè)備的支持;具有較好的性價比。以遠程計算機的網(wǎng)絡(luò)管理為中心,實現(xiàn)信息,資源的共享和遠程管理。</p><p>  第一章主要介紹本課題的提出、

19、研究背景,以及國內(nèi)外發(fā)展現(xiàn)狀;本章最后對本文的主要工作做了一個簡單的介紹。</p><p>  1.1 課題研究背景</p><p>  自從1946年馮·諾伊曼提出“程序存儲”和“程序計算”,從而制造出人類歷史上的第一臺計算機以來,計算機就以無法抵擋的威力深入到人們生活的各個領(lǐng)域。而1969年開始建立名為ARPNET的網(wǎng)絡(luò)開始,到現(xiàn)在internet的全方位普及,計算機時刻都在

20、深刻的影響著我們的生活。近年由于互聯(lián)網(wǎng)的飛速發(fā)展,計算機的應(yīng)用逐漸擴展到了各個行業(yè)的內(nèi)部,為了實現(xiàn)內(nèi)部資源的共享,局域網(wǎng)的應(yīng)用得到了飛快的發(fā)展。為了更方便的獲取信息和實現(xiàn)資源共享,越來越多的公司企業(yè)、學(xué)校以及各種職能部門都實現(xiàn)了互聯(lián)網(wǎng)的連接。毋庸置疑在信息化社會的今天,極大的方便了企業(yè)內(nèi)部和企業(yè)間的協(xié)作,提高了企業(yè)的工作效率。然而利用網(wǎng)絡(luò)觀看網(wǎng)絡(luò)電視,聊QQ、瀏覽不良網(wǎng)站、或者由于誤操作、木馬病毒入侵造成企業(yè)秘密泄漏等也給企業(yè)造成很大的

21、負面影響。據(jù)國外數(shù)據(jù)統(tǒng)計,開通互聯(lián)網(wǎng)辦公的企業(yè)中,企業(yè)員工平均每天有超過二分之一的上班時間用來上網(wǎng)聊天,瀏覽娛樂色情網(wǎng)站或者處理個人事務(wù)。這既浪費了有限網(wǎng)絡(luò)資源,使網(wǎng)絡(luò)得不到充分的利用,也影響了正常的辦公業(yè)務(wù)。因此如何加強對計算機的管理,更好地利用網(wǎng)絡(luò)資源,成為了日益突出的問題。由于這些行為的隱蔽性和難管理性,因此</p><p>  監(jiān)控系統(tǒng)的一個簡單含義就是通過某種方法對一些特定情況進行實時跟蹤,如有異?,F(xiàn)象

22、發(fā)生,則發(fā)出警報信息同時對異常進行相應(yīng)的處理,而減輕了工作強度。從使用設(shè)備類型的角度上來劃分,監(jiān)控系統(tǒng)可以分為兩類:以硬件為主的監(jiān)控系統(tǒng)和以軟件為主的監(jiān)控系統(tǒng)。前者主要是通過攝像頭和各種傳感器來完成監(jiān)控功能,例如銀行使用的閉路電視監(jiān)視系統(tǒng),就是采用攝像頭來錄制任意一個時刻營業(yè)廳周圍的場景;后者是隨著網(wǎng)絡(luò)和計算機的發(fā)展而產(chǎn)生的新的監(jiān)控系統(tǒng),互聯(lián)網(wǎng)的普及和發(fā)展,既帶來信息共享和資源交換方便的益處,同時也不可避免地帶來了消極的因素,如網(wǎng)絡(luò)病毒

23、、惡意黑客程序等一直在威脅著計算機的安全,各種不健康的內(nèi)容充斥著互聯(lián)網(wǎng),嚴重影響了網(wǎng)絡(luò)的健康發(fā)展。為了抵御各種新的威脅,產(chǎn)生了以軟件為主的監(jiān)控系統(tǒng),這類監(jiān)控系統(tǒng)主要以防火墻為代表,本文開發(fā)的遠程計算機網(wǎng)絡(luò)管理系統(tǒng)則屬于后者。</p><p>  1.2 國內(nèi)外研究現(xiàn)狀</p><p>  遠程計算機網(wǎng)絡(luò)管理系統(tǒng)主要是對遠程的某臺或者若干臺計算機進行監(jiān)控,用來查看任意一段時間內(nèi)被控端計算機的

24、網(wǎng)絡(luò)情況,使用的是遠程控制技術(shù)。遠程控制軟件是在遠方機器允許的情況下,對其進行監(jiān)控的一類軟件。它由客戶端(Client)和服務(wù)器端(Server)兩部分組成。Server 端是應(yīng)用于被控端計算機上的軟件,Client 端是運行于監(jiān)控端計算機上的軟件。這與木馬技術(shù)具有很大的相似性均采用遠程監(jiān)控技術(shù),只不過木馬具有隱蔽性和非授權(quán)性的特點。</p><p>  從遠程監(jiān)控程序的發(fā)展來看,基本上可以分為兩個階段,最初產(chǎn)生

25、于以 UNIX 平臺為主要操作系統(tǒng)時期,當(dāng)時木馬程序的功能相對簡單,往往是將一段程序嵌入到系統(tǒng)文件中,用跳轉(zhuǎn)指令來執(zhí)行一些木馬的功能,在這個時期木馬的設(shè)計著和使用者大都是些技術(shù)人員,必須具備相當(dāng)?shù)木W(wǎng)絡(luò)和編程知識。而后隨著 Windows 平臺的日益普及,一些基于圖形操作的木馬程序也出現(xiàn)了,用戶界面的改善,遠程監(jiān)控技術(shù)采用的技術(shù)也朝著一下幾個方面發(fā)展:</p><p>  1.跨平臺性:主要是針對 Windows

26、系統(tǒng)而言,如何讓監(jiān)控程序能夠在不同的Windows 平臺上運行是一個需要解決的難點。因為 Windows NT/2000/XP 都具有了權(quán)限的概念,這和 Windows 95/98 是不同的。另外一般的監(jiān)控程序多少都使用了某些Windows 系統(tǒng)下特定的 APT,因此如何能夠設(shè)計出與 Windows 平臺版本無關(guān)的監(jiān)控系統(tǒng)是所有開發(fā)商們面臨的一個難點。</p><p>  2.模塊化設(shè)計:模塊化設(shè)計是一種潮流,現(xiàn)

27、在的遠程監(jiān)控軟件同樣采用了模塊化設(shè)計的概念。</p><p>  3.更新更強的感染模式:傳統(tǒng)的修改 INI 文件和注冊表的手法,已經(jīng)不能適應(yīng)更加隱蔽的需要,目前很多木馬的感染方式已經(jīng)開始改變,象病毒一樣感染W(wǎng)indows 下的文件,監(jiān)控軟件也需要解決隱蔽性的問題,因此木馬的傳播方式仍然可以借鑒。</p><p>  4.即時通信:如果目標(biāo)使用的是動態(tài) IP,以掃描方式找 IP 地址太慢,

28、現(xiàn)在的木馬已經(jīng)有了即使通知的功能,如 IRC、ICQ 通知等。</p><p>  隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展和監(jiān)控范圍的擴大,監(jiān)控系統(tǒng)由過去的單機監(jiān)控過渡到現(xiàn)在的網(wǎng)絡(luò)監(jiān)控,但目前還存在著一些問題。</p><p>  首先,網(wǎng)絡(luò)通信技術(shù)不足的問題。網(wǎng)絡(luò)通信技術(shù)是遠程監(jiān)控技術(shù)中最為關(guān)鍵的技術(shù),然而,目前網(wǎng)絡(luò)通信一般簡單采用 Socket 技術(shù),甚至 FTP 或 E-Mail 等,這些技術(shù)無論在

29、傳輸?shù)臄?shù)據(jù)量、編程的靈活性還是安全性方面都有很大的欠缺,特別是對于現(xiàn)場多個端點的數(shù)據(jù)采集,會大大增加編程的復(fù)雜度,不能滿足遠程監(jiān)控技術(shù)對網(wǎng)絡(luò)通信的需求。</p><p>  其次,網(wǎng)絡(luò)通信中多種結(jié)構(gòu)并存的問題。目前的遠程監(jiān)控系統(tǒng)結(jié)構(gòu)大多比較復(fù)雜,分布距離遠,而且還存在著不同局域網(wǎng),不同平臺,甚至在同一局域網(wǎng)中的操作平臺以及編程語言也可能有不同的問題,這就要求集成網(wǎng)絡(luò)中的不同平臺,實現(xiàn)相互之間的通信,而這些問題采用

30、傳統(tǒng)方法是難以解決的。</p><p>  遠程監(jiān)控是國內(nèi)外研究的前沿課題,國內(nèi)外都展開了積極的研究。1997 年 1 月,首屆基于 Internet 的遠程監(jiān)控診斷工作會議由斯坦福大學(xué)和麻省理工學(xué)院聯(lián)合主辦,有來自 30多個公司和研究機構(gòu)的 50 多位代表到會。會議主要討論了有關(guān)遠程監(jiān)控系統(tǒng)開放式體系、診斷信息規(guī)程、傳輸協(xié)議及對用戶的合法限制等,并對未來技術(shù)發(fā)展作了展望。</p><p>

31、;  1.3 本文的主要工作</p><p>  本課題采用了計算機網(wǎng)絡(luò)通信、多線程、木馬等多個領(lǐng)域技術(shù)同時整合在管理系統(tǒng)中使整個系統(tǒng)具有良好的人機交互性、實時性、安全性、和可擴性。本課題要完成的主要任務(wù)是基于 C/S 模式的遠程計算機網(wǎng)絡(luò)管理系統(tǒng)設(shè)計開發(fā),從系統(tǒng)功能要求到具體模塊設(shè)計和實現(xiàn),重點完成客戶端和服務(wù)器端中各模塊的設(shè)計,并保證整個系統(tǒng)的易用性、實時性、安全性;并充分考慮后續(xù)階段的開發(fā)。</p&g

32、t;<p>  第二章 系統(tǒng)使用基本概念</p><p><b>  2.1 RMON</b></p><p>  遠程監(jiān)控(RMON)是一個標(biāo)準(zhǔn)監(jiān)控規(guī)范,它可以使各種網(wǎng)絡(luò)監(jiān)控器和控制臺系統(tǒng)之間交換網(wǎng)絡(luò)監(jiān)控數(shù)據(jù)。RMON為網(wǎng)絡(luò)管理員選擇符合特殊網(wǎng)絡(luò)需求的控制臺和網(wǎng)絡(luò)監(jiān)控探測器提供了更多的自由。RMON首先實現(xiàn)了對異構(gòu)環(huán)境進行一致的遠程管理,它為通過端口遠

33、程監(jiān)視網(wǎng)段提供了解決方案。主要實現(xiàn)對一個網(wǎng)段乃至整個網(wǎng)絡(luò)的數(shù)據(jù)流量的監(jiān)視功能,目前已成為成功的網(wǎng)絡(luò)管理標(biāo)準(zhǔn)之一。 </p><p>  遠程計算機網(wǎng)絡(luò)管理系統(tǒng)選擇采用RMON標(biāo)準(zhǔn)主要是為了更有效的管理計算機,通過積極主動地監(jiān)測遠程計算機的網(wǎng)絡(luò)狀況,做到快速發(fā)現(xiàn)網(wǎng)絡(luò)狀況異常,及時糾正網(wǎng)絡(luò)故障,防止病毒木馬等影響。RMON MIB的實現(xiàn)可以記錄某些網(wǎng)絡(luò)事件,可以記錄網(wǎng)絡(luò)性能數(shù)據(jù)和故障歷史,可以在任何時候訪問故障歷史數(shù)

34、據(jù)以有利于進行有效地故障診斷。由于采用主動探測可以減少了本地計算機與遠程計算機之間的數(shù)據(jù)流量,使簡單而有力地管理大型網(wǎng)絡(luò)成為可能。 </p><p>  下圖給出計算機遠程通信。</p><p>  圖2-1 計算機遠程通信</p><p>  2.2 C/S軟件開發(fā)模式</p><p>  隨著Internet網(wǎng)絡(luò)應(yīng)用技術(shù)的發(fā)展,基于客戶/

35、服務(wù)器的系統(tǒng)設(shè)計已經(jīng)被廣泛的應(yīng)用于各類的系統(tǒng)的軟件設(shè)計和開發(fā)中,其基本思想是把應(yīng)用分布在客戶機和服務(wù)器上,他主要是用于主從計算機的應(yīng)用程序,其中的每一臺計算機負責(zé)維護一項特別功能,這種變成方式改變了我們傳統(tǒng)的單機應(yīng)用程序和系統(tǒng)實現(xiàn)方式。簡單的說,這種模型的工作方式就是Client端向Server端提出訪問請求,或者提交一個任務(wù),Server端在接受該任務(wù)后,經(jīng)過一些處理,將處理結(jié)果返回給Client端。</p><p

36、>  客戶機/服務(wù)器結(jié)構(gòu)在最初階段是以終端/主機結(jié)構(gòu)的形式出現(xiàn)的。這種體系結(jié)構(gòu)使得用戶可以盡可能地使用共享資源。這里的共享資源包括了數(shù)據(jù)和程序的共享。終端的任務(wù)只是簡單的輸入命令,顯示結(jié)果,而相關(guān)的工作一切都交給了主機去完成,在這樣的機構(gòu)中,由于終端完成的工作很簡單,必須隨著信息業(yè)的發(fā)展經(jīng)常更新但是主機負責(zé)了所有數(shù)據(jù)的處理任務(wù),隨著信息量的增加,它在功能和性能上也必須跟隨發(fā)展。</p><p>  終端/主

37、機的結(jié)構(gòu)特別是資源得到充分的共享,但用戶界面不友好,主機負荷過大,因此客戶機/服務(wù)器模式就產(chǎn)生了。從客戶/服務(wù)器應(yīng)以上來說,它代表一個具有定義好的特定功能平臺;也就是說,一個平臺指的就是一臺計算機所使用的軟件和硬件的組合,在一個兩層系統(tǒng)中。</p><p>  計算機圖形化的快速發(fā)展,網(wǎng)絡(luò)技術(shù)日益成熟,在各種遠程管理軟件中,C/S(Client/Server,客戶機/服務(wù)器)結(jié)構(gòu)應(yīng)日出成熟。C/S結(jié)構(gòu)在最初階段是

38、以終端/主機結(jié)構(gòu)新式出現(xiàn)的,這種體系結(jié)構(gòu)的能夠盡可能地使用共享該主機的資源,而終端只是負責(zé)提交數(shù)據(jù)和顯示數(shù)據(jù)而中間的處理數(shù)據(jù)由主機完成。但是隨著信息量處理的增加,導(dǎo)致主機負荷過大,在這種情況下C/S模式由于客戶端和服務(wù)器端都有一套完整的應(yīng)用程序都具備了數(shù)據(jù)處理的能力。</p><p>  圖2-2 C/S通信模型</p><p>  客戶機/服務(wù)器結(jié)構(gòu)通?;譃樗膶?,從客戶機到服務(wù)器分別為

39、:</p><p>  1.?dāng)?shù)據(jù)捕獲層:人機交互的捕獲和轉(zhuǎn)換,包括鍵盤,鼠標(biāo),虛擬現(xiàn)實接口設(shè)備和未來的語音,手勢和神經(jīng)傳導(dǎo),以及輸出設(shè)備如顯示器,打印機,磁帶機等。該層的編程操做是將數(shù)據(jù)以預(yù)定的格式展現(xiàn)出來。</p><p>  2.業(yè)務(wù)規(guī)則層:該層負責(zé)將數(shù)據(jù)轉(zhuǎn)換為業(yè)務(wù)關(guān)聯(lián)數(shù)據(jù)。增加有關(guān)業(yè)務(wù)規(guī)則的信息。業(yè)務(wù)規(guī)則層不處理數(shù)據(jù),僅僅是涉及規(guī)則。</p><p>  3.

40、應(yīng)用接口層:該層負責(zé)將業(yè)務(wù)關(guān)聯(lián)數(shù)據(jù)轉(zhuǎn)換為技術(shù)關(guān)聯(lián)數(shù)據(jù)。如SQL語句,以供應(yīng)用服務(wù)器層使用。</p><p>  4.應(yīng)用服務(wù)器層:該層負責(zé)處理數(shù)據(jù),如存儲數(shù)據(jù)和計算出結(jié)果。</p><p>  這種體系結(jié)構(gòu)最初的出現(xiàn)時為了緩解終端/主機結(jié)構(gòu)中主機的繁重工作負擔(dān),通過在客戶和服務(wù)器之間劃分各自所包含的層次,則可以提高應(yīng)用的計算效率。于是將主機要做的一部分工作轉(zhuǎn)移到了客戶機上,顯然這也就增加了

41、對客戶機的要求,但隨著PC業(yè)的發(fā)展,這一點已經(jīng)不成為什么問題了。</p><p>  在兩層結(jié)構(gòu)的體系里,業(yè)務(wù)規(guī)則可能混雜在客戶端的用戶界面控制流中,也可能潛入在服務(wù)器端的數(shù)據(jù)庫中,更常見的是客戶端和服務(wù)器端各實現(xiàn)一部分業(yè)務(wù)邏輯,通過網(wǎng)絡(luò),客戶端把SQL語句,文件系統(tǒng)的調(diào)用以及其他請求送到服務(wù)器中,服務(wù)器對請求進行處理,然后把原始結(jié)果回送到客戶端。</p><p>  兩層結(jié)構(gòu)的最大特點在

42、于:具有成熟的設(shè)計開發(fā)方法和工具。經(jīng)過多年的積累,基于Client/Server模式的系統(tǒng)設(shè)計開發(fā)方法已經(jīng)被用戶所熟悉和掌握。并且,眾多的數(shù)據(jù)庫和軟件生產(chǎn)商提供了各種可視化工具和編程語言來實現(xiàn)支持開發(fā)。交互性強,界面友好;各個Client上運行的應(yīng)用程序是針對特定的用戶和任務(wù)設(shè)計的,同時具有在線幫助和提示出錯等等的功能。</p><p>  1.?dāng)?shù)據(jù)通信量小,安全性高。</p><p> 

43、 2.兩層結(jié)構(gòu)對于規(guī)模相對來說較小,專用型的系統(tǒng)應(yīng)用程序來說非常合適。</p><p>  2.3 網(wǎng)絡(luò)通信技術(shù)</p><p>  2.3.1 socket簡介</p><p>  80年代初,美國政府的高級研究工程機構(gòu)(ARPA)給加利福尼亞大學(xué)Berkeley分校提供了資金,讓他們在UNIX操作系統(tǒng)下實現(xiàn)TCP/IP協(xié)議。在這個項目中,研究人員為TCP/IP網(wǎng)

44、絡(luò)通信開發(fā)了一個API(應(yīng)用程序接口)。這個API稱為Socket接口(套接字)。今天,SOCKET接口是TCP/IP網(wǎng)絡(luò)最為通用的API,也是在INTERNET上進行應(yīng)用開發(fā)最為通用的API。90年代初,由Microsoft聯(lián)合了其他幾家公司共同制定了一套WINDOWS下的網(wǎng)絡(luò)編程接口,即Windows Sockets規(guī)范。它是Berkeley Sockets的重要擴充,主要是增加了一些異步函數(shù),并增加了符合Windows消息驅(qū)動特性

45、的網(wǎng)絡(luò)事件異步選擇機制。WINDOWS SOCKETS規(guī)范是一套開放的、支持多種協(xié)議的Windows下的網(wǎng)絡(luò)編程接口。從1991年的1.0版到1995年的2.0.8版,經(jīng)過不斷完善并在Intel、Microsoft、Sun、SGI、Informix、Novell等公司的全力支持下,已成為Windows網(wǎng)絡(luò)編程的事實上的標(biāo)準(zhǔn)。目前,在實際應(yīng)用中的WINDOWS SOKCETS</p><p>  Socket作為支

46、持TCP/IP協(xié)議的網(wǎng)絡(luò)通信的基本操作單元.它提供了不同主機間進程通信的斷點,這些進程在通信前各自建立一個Socket,通過調(diào)用Socket的API實現(xiàn)網(wǎng)絡(luò)通信,而Socket利用下層的網(wǎng)絡(luò)通信協(xié)議和操作系統(tǒng)的調(diào)用完成網(wǎng)絡(luò)通信。如圖2-3所示,這樣就屏蔽了網(wǎng)絡(luò)底層的結(jié)構(gòu)和協(xié)議,應(yīng)用程序在網(wǎng)絡(luò)上傳輸,接收數(shù)據(jù)都通過Socket接口來實現(xiàn),在應(yīng)用開發(fā)中就像使用句柄一樣,可以對Socket句柄進行讀,寫操作。</p><p

47、><b>  圖2-3網(wǎng)絡(luò)通信</b></p><p>  2.3.2 socket套接字編程原理</p><p>  套接字有三種類型:流式套接字(Stream Socket)、數(shù)據(jù)報套接字(Datagram Socket)及原始套接字(Raw Socket)。</p><p>  流式套接字式是最常用的套接字是TCP/IP協(xié)議中TCP

48、協(xié)議使用的接口。它提供可靠的面向連接服務(wù)。實現(xiàn)了無差錯無重復(fù)的順序數(shù)據(jù)傳輸。數(shù)據(jù)報套接字是TCP/IP協(xié)議中UDP協(xié)議的使用接口。它定義一種無連接的服務(wù),數(shù)據(jù)通過相互獨立的報文進行傳輸,是無序的,并且不保證可靠,無差錯。原始套接字允許對網(wǎng)絡(luò)底層協(xié)議(如IP和ICMP)直接訪問,主要用于新的網(wǎng)絡(luò)協(xié)議的測試等,不提供給普通用戶使用。</p><p>  一般情況下,我們使用流式套接字和數(shù)據(jù)報套接字來開發(fā)網(wǎng)絡(luò)通信程序,

49、流式套接字提供高可靠的阿服務(wù),數(shù)據(jù)報提供高效率的服務(wù),高可靠的通信用于傳輸需要交換大量報文的場合如文件傳輸、遠程登陸等;高效率的通信用于一次傳輸交換少量的報文如數(shù)據(jù)庫查詢等,其可靠性由應(yīng)用程序保證,應(yīng)為需要交換的信息較少,即使發(fā)生錯誤傳輸需要重傳也不會付出太大的代價。</p><p>  無連接服務(wù)器一般是面向事務(wù)處理的,一個請求一個應(yīng)答就完成了客戶程序和服務(wù)程序之間的相互作用。若使用無連接的套接字編程,程序流程

50、如圖2-4所示:</p><p>  圖2-4無連接的套接字的系統(tǒng)調(diào)用時序圖</p><p>  面向連接服務(wù)器處理的請求比較復(fù)雜,不是一來一去的簡單的請求應(yīng)答所能解決的,所以往往是并發(fā)服務(wù),使用面向連接的套接字編程。</p><p>  圖2-5面向連接的套接字的系統(tǒng)調(diào)用時序圖</p><p>  2.3.3 通信方式選擇 </p

51、><p>  在進行網(wǎng)絡(luò)開發(fā),首先必須選擇阻塞方式還是非阻塞方式進行通信。處于阻塞模式的函數(shù)轉(zhuǎn)調(diào)操作完成后才返回。由于調(diào)用這些函數(shù)的套接字直到返回前不能做任何事,因此被稱為阻塞函數(shù)。而當(dāng)套接字處于非阻塞模式時,API函數(shù)的調(diào)用立刻返回,大多數(shù)情況下這些調(diào)用都會“失敗”,并且返回一個“WSAEAEWOULDBLOCK”錯誤,這意味請求的操作在調(diào)用期間沒有時間完成。</p><p>  在網(wǎng)絡(luò)通訊

52、中,由于網(wǎng)絡(luò)擁擠或一次發(fā)送的數(shù)據(jù)量過大等原因,經(jīng)常會發(fā)生數(shù)據(jù)交換的數(shù)據(jù)在短時間內(nèi)不能傳送完,收發(fā)數(shù)據(jù)的函數(shù)因此不能返回,這就造成了阻塞。利用調(diào)用函數(shù)recv()時,如果數(shù)據(jù)還未到達,系統(tǒng)則在此掛起,直到數(shù)據(jù)到達或接收到高級的中斷信號為止。WinSock對有可能阻塞的函數(shù)提供了兩種處理方式:同步和異步方式。在同步方式下,收發(fā)數(shù)據(jù)的函數(shù)在被調(diào)用后一直要到傳送完畢或者出錯才能返回。對于異步方式,函數(shù)被調(diào)用后立即返回,當(dāng)傳送完成后WinSock

53、給程序發(fā)送一個實現(xiàn)約定好的消息。</p><p>  Berkeley Socket一般采用阻塞的工作方式,這種方式比較適合UNIX操作系統(tǒng)。而Windows下不再適用了。因為一旦發(fā)生阻塞,CPU的控制權(quán)會一直被占用,容易發(fā)生死機。因此,Windows Socket在Berkeley Socket基礎(chǔ)上進行了擴充,提供了一些異步函數(shù),增加了符合Window:消息驅(qū)動特性的網(wǎng)絡(luò)事件異步選擇機制,以開發(fā)符合Windo

54、ws特性的高效率的網(wǎng)絡(luò)程序。</p><p>  在Windows環(huán)境下開發(fā)網(wǎng)絡(luò)通信盡量要采用非阻塞方式操作,因為非阻塞方式在非搶先Windows操作系統(tǒng)下能夠更好得工作。Windows Socket通過異步選擇函數(shù)WSAAsyncSelectQ來實現(xiàn)非阻塞通信,它提供了對網(wǎng)絡(luò)事件基于消息的異步存取,可用該函數(shù)注冊應(yīng)用程序感興趣的網(wǎng)絡(luò)事件,如有數(shù)據(jù)到達、可以發(fā)送數(shù)據(jù)或有程序請求連接等網(wǎng)絡(luò)事件發(fā)生時,會調(diào)用 WIN

55、SOCK.DLL向窗口應(yīng)用程序發(fā)送特定的消息,程序就可以根據(jù)消息作相應(yīng)處理。</p><p>  2.3.4 套接字工作流程</p><p><b>  1.創(chuàng)建套接字</b></p><p>  程序在通信前,首先必須擁有一個套接字,系統(tǒng)調(diào)用socket()向應(yīng)用</p><p>  程序提供創(chuàng)建套接字的手段,其調(diào)用格

56、式如下:</p><p>  Dim clientSocket as New Socket(AddressFamily.InterNetwork,SocketType.Stream, _ProtocolType.Tcp)</p><p>  socket的創(chuàng)建需要三個參數(shù):AddressFamily枚舉指定Socket類用來解析網(wǎng)絡(luò)地址的標(biāo)準(zhǔn)地址族,AddressFamily.InterN

57、etwork是成員指定使用IP 版本4地址族。SocketType枚舉指定套接字的類型,SocketType.Stream 成員表示一個用于發(fā)送和接收數(shù)據(jù)并且支持流控制的標(biāo)準(zhǔn)套接字。ProtocolType 枚舉指定在Socket上通信時使用的網(wǎng)絡(luò)協(xié)議ProtocolType.Tcp指示套接字使用TCP;ProtocolType.Udp指示套接字使用UDP。</p><p>  2.配置socket</p&

58、gt;<p>  當(dāng)一個套接字用socket()創(chuàng)建后,需要使用制定本地的終結(jié)點。bind()將套接字地址(包括本地主機地址和本地端口地址)與所創(chuàng)建的套接字號關(guān)系起來,即將名字賦予套接字,以指定與本地相關(guān)。調(diào)用Bind之前,必須首先創(chuàng)建打算從其進行數(shù)據(jù)通信的本地IPEndPoint。如果對制定的套接字地址沒有要求,則可以用IPAddress.Any作為地址參數(shù)創(chuàng)建一個IPEndPoint,這樣,基礎(chǔ)服務(wù)提供程序?qū)峙渥钸m

59、合的網(wǎng)絡(luò)地址。如果本地存在多個網(wǎng)絡(luò)接口,這將有助于簡化應(yīng)用程序。同樣對于端口不需特定的話,則可以創(chuàng)建一個使用0作為端口號的 IPEndPoint。在這種情況下,服務(wù)提供程序?qū)峙湟粋€可用的端口號。</p><p><b>  其調(diào)用方法如下:</b></p><p>  Dim localEndPoint As New IPEndPoint(Address.ToSt

60、ring 12345) clinetSocket.Bind(localEndPoint)</p><p>  采用面向連接的服務(wù)器需要使用listen()來監(jiān)聽端口同時指出接受請求的隊列長度,其調(diào)用方法如下:</p><p>  listener.Listen(1) '由于該系統(tǒng)使用P2P控制所以設(shè)定隊列長度為1</p><p>  Dim handler

61、 As Socket = listener.Accept() '同意接入請求</p><p>  3.建立套接字連接connect()和accept()</p><p>  這兩個函數(shù)調(diào)用用于完成一個完整相關(guān)的連接,其中connect()用于建立連接。無連接的套接字進程也可以調(diào)用connect(),但這時在進程之間沒有實際的報文交換,調(diào)用將從本地操作系統(tǒng)直接返回。這樣做的優(yōu)點是不必

62、為每一數(shù)據(jù)指定目的地址,而且如果收到的一個數(shù)據(jù)報,其目的端口未與任何套接字建立“連接”,便能判斷該端口不可操作。而accept()用于使服務(wù)器等待來自某客戶進程的實際連接。connect()的調(diào)用方法如下:</p><p>  Public Sub Connect( ByVal remoteEP As EndPoint)</p><p>  accept()用于面向連接服務(wù)器。參數(shù)addr

63、和addrlen存放客戶方的地址信息。調(diào)用前,參數(shù)addr指向一個初始值為空的地址結(jié)構(gòu),而addrlen的初始值為0;調(diào)用accept()后,服務(wù)器等待從編號為s的套接字上接受客戶連接請求,而連接請求是由客戶方的connect()調(diào)用發(fā)出的。當(dāng)有連接請求到達時,accept)調(diào)用將請求連接隊列上的第一個客戶方套接字地址及長度放入addr和addrlen,并創(chuàng)建一個與S有相同特性的新套接字號。新的套接字可用于處理服務(wù)器并發(fā)請求。accep

64、t()調(diào)用方法如下:</p><p>  Public Function Accept() As Socket</p><p>  4.?dāng)?shù)據(jù)傳輸send()和receive()</p><p>  當(dāng)socket建立完成后,調(diào)用這兩個函數(shù)用來傳輸數(shù)據(jù)。send()調(diào)用用于在參數(shù)s指定的己連接的數(shù)據(jù)報或流套接字上發(fā)送輸出數(shù)據(jù),其格式如下:</p><

65、;p>  Overloads Public Function Send( ByVal buffer() As Byte ) As Integer</p><p>  receive()調(diào)用用于在參數(shù)S指定的已連接的數(shù)據(jù)報或流套接字上接收輸入數(shù)據(jù),格式如下:</p><p>  Overloads Public Function Receive( ByVal buffer() As B

66、yte ) As Integer</p><p>  5.socket關(guān)閉</p><p>  Close 方法可關(guān)閉遠程主機連接,并釋放所有與 Socket 關(guān)聯(lián)的托管資源和非托管資源。調(diào)用方法如下:</p><p>  Public Sub Close()</p><p><b>  2.4 多線程技術(shù)</b><

67、;/p><p>  線程是進程的一條執(zhí)行路徑,他包含獨立的堆棧和CPU寄存器狀態(tài),每個線程共享所有的進程資源,一個進程內(nèi)的所有線程使用同一個地址空間,而這些線程的執(zhí)行由系統(tǒng)調(diào)度程序控制,調(diào)度程序決定哪個線程可執(zhí)行以及什么時候執(zhí)行線程。線程有優(yōu)先級別,優(yōu)先權(quán)較低的線程必須等到優(yōu)先權(quán)較高的線程執(zhí)行完后再執(zhí)行。在多處理器的機器上,調(diào)度程序可將多個線程放到不同的處理器上運行,以提高系統(tǒng)的運行效率。</p>&l

68、t;p>  線程是進程內(nèi)部的一個可執(zhí)行路徑,它是CPU調(diào)度的單位,是進程的一個執(zhí)行單元。所謂的多線程就是一個進程內(nèi)可以有一個或多個可獨立執(zhí)行的單元,每個單元就是一個線程。</p><p>  一個應(yīng)用程序可以創(chuàng)建多個線程,多個不同的執(zhí)行流,并同時運行這些線程。線程機制使系統(tǒng)具有了多任務(wù)功能,這樣用戶就可以同時運行多個運用程序,且在每一個應(yīng)用程序中又可以同時運行多個線程。這樣多個線程并發(fā)地在同一進程中。一個進

69、程至少擁有一個線程,即主線程。主線程終止,進程亦終止。主線程以函數(shù)地址形式(通常為Main或winmain函數(shù)的地址)被啟動代碼提供給操作系統(tǒng)。另外,可以根據(jù)需要創(chuàng)建其它線程,每個線程都共享創(chuàng)建它們進程的內(nèi)存空間,全部變量和系統(tǒng)資源。</p><p>  在.NET Framework 中用來創(chuàng)建和維護線程的基類是System.Threading .Thread類。它能夠創(chuàng)建并控制線程,設(shè)置其優(yōu)先級并獲取其狀態(tài);

70、擁有Start, Stop, Resume, Abort, Suspend和Join(waitfor)等方法操縱線程;還可以通過如Sleep, IsAlive, IsBackground,Priority, A part-mentState和ThreadState等方法查詢和設(shè)置線程狀態(tài)。</p><p><b>  1.創(chuàng)建線程</b></p><p>  創(chuàng)

71、建線程非常容易,最簡單直接的方法是創(chuàng)建一個新的Thread對象,然后傳遞給它的一個委托,也就是指向某類方法的一個引用就啟動了這個線程。代碼如下:</p><p>  Dim t As New Thread(AddressOf ThreadProc)</p><p><b>  t.Start()</b></p><p><b>  2

72、.掛起線程</b></p><p>  t.Suspend()</p><p>  2.5 開發(fā)平臺-------Visual Basic 2005</p><p>  Microsoft Visual Basic 2005 從 Visual Basic 語言演變而來,是一種為高效地生成類型安全和面向?qū)ο蟮膽?yīng)用程序而設(shè)計的語言。與所有面向 Microso

73、ft .NET Framework 的語言一樣,使用 Visual Basic 編寫的程序都具有安全性和語言互操作性方面的優(yōu)點。它延續(xù)了基于 .NET Framework 的應(yīng)用程序的傳統(tǒng)。并恢復(fù)了對“編輯并繼續(xù)”的支持,并具有可快速開發(fā)應(yīng)用程序的新功能。其中一種稱為 My 的功能提供了對以下內(nèi)容的快速訪問:由 .NET Framework 提供的常見任務(wù),與應(yīng)用程序及其運行時環(huán)境相關(guān)的信息和默認對象實例。新的語言功能包括循環(huán)繼續(xù)、有保

74、證的資源處置、運算符重載、泛型類型和自定義事件。Visual Basic 與 .NET Framework 和公共語言運行庫 (CLR) 完全集成,它們提供了語言互操作、垃圾回收、增強的安全性和版本管理支持。</p><p>  第三章 面向?qū)ο蟪绦蛟O(shè)計方法</p><p>  3.1 面向?qū)ο笏枷?lt;/p><p>  面向?qū)ο?Object-Oriented)技術(shù)

75、是目前流行的軟件設(shè)計開發(fā)技術(shù),包括面向?qū)ο蠓治龊兔嫦驅(qū)ο笤O(shè)計兩個方面的內(nèi)容。面向?qū)ο蠹夹g(shù)以其獨特的抽象性、封裝性、繼承性和多態(tài)性為軟件開發(fā)帶來了一場變革,與以前的結(jié)構(gòu)化技術(shù)相比,它具有高效率的軟件開發(fā),高可靠的軟件運行,方便的調(diào)試、維護和擴充等優(yōu)點。</p><p>  面向?qū)ο蟪绦蛟O(shè)計的特征可以概括為以下幾個方面:</p><p>  第一,抽象性。抽象是人們認識客觀世界的復(fù)雜性的一種基

76、本方法。抽象是事物或現(xiàn)象的簡單描述,突出事物或現(xiàn)象之間的共性,而暫時不考慮它們之間的差別。抽象分為兩個方面:一是過程抽象,二是數(shù)據(jù)抽象。抽象性按照人類的通常思維來描述問題,可以把大問題分解成小問題,小問題又可以分解成更小的問題來解決。每個小問題都可以是一個獨立的模塊,這種思維的方式非常有利于復(fù)雜問題的解決。</p><p>  第二,封裝性。對象是屬性數(shù)據(jù)和對屬性數(shù)據(jù)進行操作的集合體。而“封裝”把這些數(shù)據(jù)和操作屏

77、蔽起來,使用戶不必知道對象行為的實現(xiàn)細節(jié),只需要根據(jù)對象提供的外部特性接口訪問對象即可。封裝性保證了模塊具有較好的獨立性,對應(yīng)用軟件的修改僅限于“類”的內(nèi)部,使得軟件的維護修改較為容易,并且將這些改動所帶來的影響減少到最低限度,大大提高了軟件開發(fā)的效率和軟件的可靠性。</p><p>  第三,繼承性。繼承性是一種表示對象之間相似性的機制,它使得某類對象可以有另一類對象的特征和行為。不需要對原有的“類”進行任何修

78、改,或是只需要添加一些新的成員,便可以得到新的類。這樣,可以把已有的模塊作為軟件的可重用資源,大大提高了軟件的開發(fā)效率。</p><p>  第四,多態(tài)性。不同對象接收到相同的消息時,會產(chǎn)生不同的動作。所以,當(dāng)實際情況發(fā)生變化時,比如一個對象接收一個消息后的動作要發(fā)生變化時,我們只需要改變這個動作實現(xiàn)即可,其它各個地方都不需要做出任何的改變。因而這種軟件具有良好的穩(wěn)定性,以不變應(yīng)萬變的靈活性,可以大大減少維護的費

79、用。</p><p>  Visual Basic 2005作為一種面向?qū)ο蟮某绦蜷_發(fā)工具。它的三大支柱技術(shù):封裝性、繼承性和多態(tài)性,充分體現(xiàn)了面向?qū)ο笏枷氲木琛U麄€系統(tǒng)的開發(fā),就是建立在這三大支柱技術(shù)的基礎(chǔ)之上。</p><p>  3.2 面向?qū)ο箝_發(fā)在系統(tǒng)中的應(yīng)用</p><p>  由于面向?qū)ο蟮能浖_發(fā)技術(shù)具有優(yōu)越的性能,很快在科研的各個領(lǐng)域中得到廣泛的

80、應(yīng)用,計算機監(jiān)控系統(tǒng)也不例外。目前,面向?qū)ο蟮能浖O(shè)計方法己經(jīng)滲透到計算機監(jiān)控系統(tǒng)軟件開發(fā)的許多方面,給開發(fā)計算機監(jiān)控軟件帶來了巨大的方便。</p><p>  運用面向?qū)ο蟮能浖_發(fā)技術(shù)可以較為容易地分析計算機監(jiān)控系統(tǒng)的功能,進行功能模塊的劃分,進而進行基本“類庫”的創(chuàng)建、進行數(shù)據(jù)操作的封裝。在計算機監(jiān)控系統(tǒng)中,這些“類庫”的功能應(yīng)該反映計算機監(jiān)控系統(tǒng)的實際應(yīng)用情況。同時,對于新增加的功能,類也要具有良好的包容

81、性,當(dāng)某一部分的功能發(fā)生改變時,也不會影響其它功能的正常實現(xiàn)。</p><p>  現(xiàn)代社會發(fā)展很快,對計算機監(jiān)控軟件的功能要求也瞬息萬變,因此,面向?qū)ο蟮能浖_發(fā)技術(shù)可很好地適應(yīng)這一要求,使軟件開發(fā)者可以快速地開發(fā)出安全、穩(wěn)定、實用、高效的計算機監(jiān)控軟件。</p><p>  第四章 遠程計算機管理軟件實現(xiàn)</p><p>  4.1 系統(tǒng)要求及功能要求</

82、p><p>  4.1.1 系統(tǒng)要求</p><p>  雖然該系統(tǒng)是單純的遠程計算機網(wǎng)絡(luò)管理不涉及硬件接入,所以有別于傳統(tǒng)意義上用于計算機控制技術(shù)的監(jiān)控系統(tǒng),但是在系統(tǒng)要求上仍然必須具備以下三個特點: </p><p>  1.時效性:這里的時效性包括實時性和分時性。遠程計算機管理系統(tǒng)作為一種實時計算機系統(tǒng)。實時性就是計算機監(jiān)控系統(tǒng)區(qū)別于其它普通計算機系統(tǒng)的關(guān)鍵特點,

83、也是衡量一個計算機監(jiān)控系統(tǒng)性能的一個重要指標(biāo)。實時性有以下幾層涵義:首先是服務(wù)器端對客戶端請求的及時響應(yīng)能力;其次是系統(tǒng)實時的監(jiān)控數(shù)據(jù)。分時性主要是系統(tǒng)主要采用請求應(yīng)答的方式處理,所以只需在請求的時間上做出反應(yīng)既可。</p><p>  2.可靠性:計算機監(jiān)控系統(tǒng)的可靠性是指系統(tǒng)無故障運行的能力?,F(xiàn)場過程在連續(xù)運行,計算機系統(tǒng)也必須同步連續(xù)運行,并對現(xiàn)場過程進行監(jiān)測和控制。即使系統(tǒng)由于其他原因出現(xiàn)故障和錯誤,計算

84、機監(jiān)控系統(tǒng)仍能照常運行、做出實時響應(yīng)并記錄下完整數(shù)據(jù)??煽啃猿S谩捌骄鶡o故障運行時間”,即平均的故障間隔時間MTBF(mean time between failures)來衡程序</p><p>  3.安全性:安全性是遠程計算機網(wǎng)絡(luò)管理系統(tǒng)極為關(guān)鍵的設(shè)計環(huán)節(jié)?,F(xiàn)在,網(wǎng)絡(luò)上惡意代碼、木馬、黑客程序泛濫成災(zāi)。通過網(wǎng)絡(luò)進行信息盜取和數(shù)據(jù)破壞的情況日益猖撅,對于開放了端口的服務(wù)器端造成了重大威脅。因此為了保障服務(wù)器端

85、的安全性。既要做到遠程接入用戶安全認證,同時也要做到服務(wù)器端信息的存貯安全和傳輸安全,就要采取措施(如,數(shù)據(jù)加密技術(shù)等等)防止有人惡意修改和竊取信息。</p><p>  4.1.2 功能要求</p><p>  近年來出現(xiàn)了很多遠程計算機管理軟件。如諾頓公司的PCANYWHERE,同時一些木馬程序?qū)τ陂_發(fā)遠程計算機網(wǎng)絡(luò)管理系統(tǒng)也有一定的借鑒作用,通過對同類系統(tǒng)的比較和研究的范圍,本軟件必

86、須具有以下基本功能:</p><p>  1.客戶端可以按需察看服務(wù)器(遠程計算機)的網(wǎng)絡(luò)連接狀態(tài)。</p><p>  2.客戶端可以統(tǒng)計某一時間點的IP、TCP、UDP等統(tǒng)計數(shù)據(jù)。</p><p>  3.客戶端可以根據(jù)端口關(guān)聯(lián)進程。</p><p>  4.客戶端可以根據(jù)需要阻塞服務(wù)器某個端口通信。</p><p&g

87、t;  5.客戶端可以控制服務(wù)器的重啟動,關(guān)機等操作。</p><p>  6.客戶端可以向服務(wù)器端發(fā)送信息,用于兩端通信之間的溝通。</p><p>  7.客戶端可以獲取服務(wù)器端進程和服務(wù)信息,并且根據(jù)需要終止進程和服務(wù)。</p><p>  同時為了形成功能更加強大的遠程計算機管理系統(tǒng),它應(yīng)該還具備以下擴展功能:</p><p>  1

88、.客戶端實時監(jiān)控服務(wù)器端屏幕信息</p><p>  2.客戶端可以控制遠程計算機的鍵盤和鼠標(biāo),并且記錄鍵盤輸入的信息。</p><p>  3.客戶端對服務(wù)器端磁盤文件進行各種操作包括察看,修改,增刪。并且可以復(fù)制實現(xiàn)客戶端和服務(wù)器端的文件傳輸。</p><p>  同時為了實現(xiàn)客戶端/服務(wù)器端的協(xié)調(diào)工作,我們必須設(shè)定一個用于通信的規(guī)則如下:</p>

89、<p><b>  1.客戶端發(fā)送規(guī)范</b></p><p>  消息傳遞:SINFO+消息內(nèi)容</p><p>  獲取TCP表:GTCPT</p><p>  獲取UDP表:GUDPT</p><p>  獲取IP統(tǒng)計:GIPC</p><p>  獲取TCP統(tǒng)計:GTCPC&l

90、t;/p><p>  獲取UDP統(tǒng)計:GUDPC</p><p>  刪除網(wǎng)絡(luò)連接:CUTP+信息</p><p>  關(guān)聯(lián)進程:PROCESSANDPORT+端口</p><p>  強制關(guān)機:CLOSE</p><p><b>  退出系統(tǒng):EXIT</b></p><p>

91、;  獲取進程:GPROCESS</p><p>  2.服務(wù)器端發(fā)送規(guī)范</p><p>  消息傳遞:SINFO+消息內(nèi)容</p><p>  發(fā)送TCP表:RTCPT+內(nèi)容</p><p>  發(fā)送UDP表:RUDPT+內(nèi)容</p><p>  發(fā)送IP統(tǒng)計:RIPC+內(nèi)容</p><p>

92、;  發(fā)送TCP統(tǒng)計:RTCPC+內(nèi)容</p><p>  發(fā)送UDP統(tǒng)計:RUDPC+內(nèi)容</p><p>  發(fā)送PORT數(shù)據(jù):RPORT+內(nèi)容</p><p><b>  退出系統(tǒng):EXIT</b></p><p>  4.2 系統(tǒng)采用主要技術(shù) </p><p><b>  1.T

93、CP通信技術(shù)</b></p><p>  主要是基于TCP/IP傳輸協(xié)議的套接字通信技術(shù)。包括套接字類型的選擇、創(chuàng)建、配置到數(shù)據(jù)的發(fā)送和接收等技術(shù)。</p><p><b>  2.端口的選擇</b></p><p>  套接字的通信需要選擇一個合適的端口,一般的選擇在1000以上,而且越大越好,因為1000以下的端口是常用端口。而

94、且使用端口比較大的需要比較長的時間才能發(fā)現(xiàn)。</p><p>  3.網(wǎng)絡(luò)端口掃描技術(shù)</p><p>  設(shè)定一定的端口掃描范圍,然后創(chuàng)建socket,通過socket的connect方法來接受受控端的IP地址及對應(yīng)的端口,檢測非法的開放端口。</p><p>  4.多線程處理技術(shù) </p><p>  本文的多線程技術(shù)主要是通過使用多線

95、程機制,完成數(shù)據(jù)的發(fā)送、接受和傳輸。</p><p>  5.windows API函數(shù)</p><p>  “遠程計算機網(wǎng)絡(luò)管理系統(tǒng)”很多功能都是通過大量的Windows API函數(shù)實現(xiàn),例如獲得網(wǎng)絡(luò)狀態(tài)表,獲得系統(tǒng)信息,進程等等</p><p><b>  6.木馬技術(shù)</b></p><p>  該程序的服務(wù)器端程

96、序具有開機自啟動。</p><p>  4.3 遠程計算機網(wǎng)絡(luò)管理軟件的設(shè)計框架</p><p>  遠程計算機網(wǎng)絡(luò)管理軟件采用C/S模式,服務(wù)器端用于遠程計算機中,客戶端位于本地計算機中。服務(wù)器端執(zhí)行客戶端發(fā)來請求要求,并且將應(yīng)答結(jié)果在客戶端中表現(xiàn)出來,從而實現(xiàn)監(jiān)控與被監(jiān)控的目的。</p><p><b>  圖4-1系統(tǒng)模塊圖</b><

97、;/p><p><b>  客戶端模塊:</b></p><p>  1.主框架:該框架借鑒管理軟件框架,采用窗口對話框,按鈕等簡單的圖形化界面使得該框架具有良好得人機交互性,控件的屬性使用通用的命名方式采用同一資源簡單輕易的轉(zhuǎn)化成多語言版本的遠程控制軟件。保留服務(wù),進程管理,屏幕監(jiān)控等功能給軟件的可擴展性留下了很大的空間,只需要將需要的模塊直接添加進去,實現(xiàn)無逢結(jié)合。&

98、lt;/p><p>  2.網(wǎng)絡(luò)模塊:負責(zé)連接客戶端,向服務(wù)端發(fā)送獲取服務(wù)段網(wǎng)絡(luò)連接狀態(tài)命令,統(tǒng)計TCP、UDP、IP數(shù)據(jù)包以及丟包,延時等屬性信息;監(jiān)聽某一個端口對通過該端口的數(shù)據(jù)量實時監(jiān)控;接受來自客戶端的數(shù)據(jù)包。</p><p>  3.同步模塊:為了使客戶端與服務(wù)器端可以協(xié)同工作,必須對軟件通信過程制定同步規(guī)則,使得該軟件可以通過該規(guī)則正常有序的通信。</p><p

99、> ?。矗?dāng)?shù)據(jù)包顯示:網(wǎng)絡(luò)模塊接受的數(shù)據(jù)包通過同步模塊進行分類,然后在該模塊中顯示出來。</p><p><b>  服務(wù)器端模塊:</b></p><p> ?。保W(wǎng)絡(luò)模塊:負責(zé)監(jiān)聽網(wǎng)絡(luò)遠程的連接,接受客戶端發(fā)送的服務(wù)請求,發(fā)送服務(wù)應(yīng)答。</p><p> ?。玻幚砟K:執(zhí)行客戶端的服務(wù)請求。</p><p>

100、  3.同步模塊:負責(zé)與服務(wù)器端協(xié)同工作。</p><p>  4.4 遠程計算機網(wǎng)絡(luò)管理系統(tǒng)核心功能及實現(xiàn)</p><p>  4.4.1系統(tǒng)界面設(shè)計</p><p>  為了滿足具有良好的人機交互性的要求,系統(tǒng)客戶端使用的用戶界面是核心要求。因為用戶是通過界面直接和計算機交互的,它展示了系統(tǒng)給用戶的感覺。Theo Mndel(美國計算機學(xué)家)關(guān)于軟件界面設(shè)計的著

101、作中提出了三條黃金規(guī)則:</p><p>  1.讓用戶去控制計算機是指設(shè)計軟件界面時,要給使用它的用戶以更多的自由,而不是以界面約束和界面限制來強迫用戶操作以簡化交互模式,即讓用戶的主動性更大一些,讓用戶來控制計算機,而不是用計算機來控制用戶。</p><p> ?。玻疁p少用戶的記憶負擔(dān)是指用戶必須記住的東西越多,和系統(tǒng)交互時出錯的可能性也</p><p>  就

102、越大。只要可能,系統(tǒng)就應(yīng)該“記住”有關(guān)的信息,并通過能夠幫助回憶的交互場景來輔助用戶與計算機交互。</p><p> ?。常3纸缑娴囊恢率怯脩魬?yīng)以一致的方式展示和獲取信息,這樣才不會造成用戶對信息的理解錯誤。</p><p>  遠程計算機網(wǎng)絡(luò)管理系統(tǒng)客戶端結(jié)合Theo Mandel提出的三條黃金規(guī)則的要求,同時考慮客戶端的實際情況,向用戶提供了方便靈活的與用戶交互的界面,并注意保持界面

103、的一致性,同時,采用多種方式給用戶以信息提示,減少用戶的記憶。如圖4-2所示:它具有包括菜單欄,工具欄、狀態(tài)欄等等。</p><p><b>  圖4-2系統(tǒng)客戶端</b></p><p> ?。保藛螜诎ㄎ募⒈O(jiān)控命令、窗口三個菜單項。所有子窗口的打開都是從這些開始的,其中文件中包括用戶登錄、系統(tǒng)設(shè)置、斷開連接、退出四個子菜單項。其中系統(tǒng)設(shè)置包括端口號選擇、日志文

104、件的存儲位置等。監(jiān)控中包括網(wǎng)絡(luò)監(jiān)控,屏幕監(jiān)控子菜單項。命令包括:查看進程、關(guān)機、消息傳遞等。窗口中包括垂直,水平,平鋪,排列四個子菜單項。</p><p> ?。玻ぞ邫诎▽崟r監(jiān)視,停止監(jiān)視、消息、幫助按鈕。其中工具欄為所有子窗口共用所以根據(jù)當(dāng)前活動子窗口所需按鈕在工具欄反應(yīng)出來。</p><p> ?。常疇顟B(tài)欄用于顯示連接狀態(tài)、遠程IP和時間等,方便用戶使用,了解當(dāng)前狀態(tài)。</p

105、><p>  4.4.2 通信模塊</p><p><b>  1.客戶端通信模塊</b></p><p>  通信模塊采用多線程編程,其中多線程用于接受信息處理。首先創(chuàng)建一個Socket方法如下:</p><p>  Dim remoteEP As New IPEndPoint(Net.IPAddress.Parse(fr

106、mSetting.txt_ip.Text), frmSetting.txt_port.Text)</p><p>  cliSocket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)</p><p>  cliSocket.Connect(remoteEP)</p>

107、<p>  然后啟動接受信息線程:</p><p>  myThread = New Thread(AddressOf ReciveMsg)</p><p>  myThread.Start()</p><p>  BeginInvoke(New EventHandler(AddressOf fLinkTable), data) 'Invoke保

108、證線程安全</p><p>  關(guān)閉系統(tǒng)前向服務(wù)器端發(fā)送關(guān)閉系統(tǒng)信息,然后再關(guān)閉線程方法如下:</p><p>  If MessageBox.Show("你確定要退出該系統(tǒng)?", "遠程計算機網(wǎng)絡(luò)管理系統(tǒng)[客戶端]", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論