用VB60實(shí)現(xiàn)網(wǎng)絡(luò)實(shí)時(shí)監(jiān)控系統(tǒng).doc_第1頁
用VB60實(shí)現(xiàn)網(wǎng)絡(luò)實(shí)時(shí)監(jiān)控系統(tǒng).doc_第2頁
用VB60實(shí)現(xiàn)網(wǎng)絡(luò)實(shí)時(shí)監(jiān)控系統(tǒng).doc_第3頁
用VB60實(shí)現(xiàn)網(wǎng)絡(luò)實(shí)時(shí)監(jiān)控系統(tǒng).doc_第4頁
用VB60實(shí)現(xiàn)網(wǎng)絡(luò)實(shí)時(shí)監(jiān)控系統(tǒng).doc_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

用VB60實(shí)現(xiàn)網(wǎng)絡(luò)實(shí)時(shí)監(jiān)控系統(tǒng).txt花前月下,不如花錢“日”下。葉子的離開,是因?yàn)轱L(fēng)的追求還是樹的不挽留?干掉熊貓,我就是國寶!別和我談理想,戒了!用VB6.0實(shí)現(xiàn)網(wǎng)絡(luò)實(shí)時(shí)監(jiān)控系統(tǒng) 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的日益發(fā)展和普及,為信息共享提供了一條全球性的高速通道,但目前采用的TCP/IP協(xié)議族潛在著安全漏洞,其安全機(jī)制并不健全,如何保護(hù)企業(yè)內(nèi)部網(wǎng)絡(luò)中的資源及信息不受外部攻擊者肆意破壞或盜竊,是企業(yè)網(wǎng)絡(luò)安全需要解決的重要問題。當(dāng)我們擔(dān)心被黑客攻擊或懷疑電腦被植入木馬時(shí),我們往往求助于防火墻,本系統(tǒng)即通過實(shí)時(shí)監(jiān)控全部TCP連接的方法來實(shí)現(xiàn)防黑客攻擊。同時(shí)網(wǎng)絡(luò)管理人員在整個(gè)網(wǎng)絡(luò)運(yùn)行期間,能否實(shí)時(shí)監(jiān)控聯(lián)網(wǎng)計(jì)算機(jī)的運(yùn)行狀態(tài)和操作對(duì)網(wǎng)絡(luò)安全具有極其重要的作用下面就以Visual Basic 6.0作為開發(fā)工具講述兩個(gè)主要模塊的設(shè)計(jì)和實(shí)現(xiàn)。系統(tǒng)概述該系統(tǒng)由兩個(gè)子系統(tǒng)組成:服務(wù)器端系統(tǒng)和客戶端(工作站)系統(tǒng)。服務(wù)器端系統(tǒng)安裝在網(wǎng)絡(luò)管理人員的計(jì)算機(jī)上,用于實(shí)施各種對(duì)聯(lián)網(wǎng)計(jì)算機(jī)的監(jiān)控操作;客戶端系統(tǒng)安裝在每臺(tái)聯(lián)網(wǎng)的計(jì)算機(jī)上,它運(yùn)行后以圖標(biāo)的方式出現(xiàn)在系統(tǒng)任務(wù)欄的提示區(qū)中,不影響工作站的其他操作,只用于響應(yīng)服務(wù)器端的監(jiān)控命令,并根據(jù)服務(wù)的需要,及時(shí)采樣工作站的相應(yīng)數(shù)據(jù)返回給服務(wù)器端。該系統(tǒng)的運(yùn)行環(huán)境可以運(yùn)行于Win98、Win95或WinNT、Win2000下。在系統(tǒng)的開發(fā)中,引入了WINSOCK通訊控件,除此之外,為較好地實(shí)現(xiàn)各項(xiàng)監(jiān)控操作,還用到了幾個(gè)API函數(shù)。系統(tǒng)功能1、監(jiān)控全部TCP連接:實(shí)時(shí)監(jiān)控所有服務(wù)器端口的連接情況、及時(shí)對(duì)異常連接發(fā)出警告并提示用戶刪除異常連接; 2、屏幕監(jiān)控:該功能允許服務(wù)器隨時(shí)把被監(jiān)控工作站的屏幕畫面抓取到服務(wù)器中,網(wǎng)絡(luò)管理人員對(duì)相應(yīng)工作站所進(jìn)行的操作一目了然,若發(fā)現(xiàn)有非法操作即可采取發(fā)送警告或強(qiáng)制措施,強(qiáng)迫其停止相應(yīng)操作; 3、對(duì)工作站進(jìn)行鎖機(jī)、關(guān)機(jī)、限制鼠標(biāo)活動(dòng)等; 4、服務(wù)器和工作站之間的信息互送。功能的實(shí)現(xiàn)1、監(jiān)控全部TCP連接TCP/IP(Transmission Control Protocol/Internet Protocol:傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議)是一個(gè)包括TCP、IP、 UDP、ARP、RARP和ICMP等在內(nèi)的網(wǎng)絡(luò)協(xié)議集。TCP/IP經(jīng)常被稱為“將Internet綁定在一起的粘合劑”,它允許在空間上分離的多個(gè)信息網(wǎng)絡(luò)連接在一起形成一個(gè)巨大的虛擬網(wǎng)絡(luò)。TCP和UDP(用戶數(shù)據(jù)報(bào)協(xié)議)是兩個(gè)最常用的數(shù)據(jù)傳輸協(xié)議,它們都使用設(shè)置監(jiān)聽端口的方法來完成數(shù)據(jù)傳輸。在本文中討論TCP連接。通過使用TCP, Internet客戶機(jī)可以打開到另一個(gè)Internet客戶機(jī)的虛擬連接并傳送數(shù)據(jù)流。與UDP不同,TCP協(xié)議通過重傳丟失的數(shù)據(jù)報(bào)保證傳輸?shù)目煽啃?。它也保證在接收端的應(yīng)用程序按發(fā)送的順序?qū)⒔邮盏降奈缓妥止?jié)重新組裝起來以獲取完整的數(shù)據(jù)。要獲得與服務(wù)器系統(tǒng)中全部有效的TCP連接,用到GetTcpTable這個(gè)API函數(shù),它定義如下: Private Declare Function GetTcpTable Lib iphlpapi. dll (ByRef pTcpTable As MIB_TCPTABLE, ByRef pdwSize As Long, ByVal bOrder As Long) As Long 其中參數(shù)pPcpTable是已生成的 TCP連接表緩沖區(qū)的指針,參數(shù)pdwsize是緩沖區(qū)大小(當(dāng)緩沖區(qū)不夠大時(shí),該參數(shù)返回實(shí)際需要的大?。?,參數(shù)bOrder指示連接表是否需要按“Local IP”、“Localport”、“Remote IP”、“Remote port”依次進(jìn)行排序,1為按此順序。通過一個(gè)TIMEER控件的TIMER的事件來比較前后兩個(gè)TCP連接表,我們可以立即發(fā)現(xiàn)異常并發(fā)出警告。本系統(tǒng)用聲音和報(bào)警標(biāo)志提醒用戶注意可能的外界入侵。收到警告信號(hào)后,我們應(yīng)首先將可疑連接刪除掉,SetTcpEntry函數(shù)可以幫助我們刪除可疑連接。其定義為: Private Declare Function SetTcpEntry Lib iphlpapi. dll (ByRef pTcpTableAs MIB_TCPROW) As Long 其中參數(shù)pTcptable為指向tcp表行的指針。然后將欲刪連接的狀態(tài)置為MIB_TCP_STATE_DELETE_TCB(值為12)即可刪除該連接。TIMER事件源代碼: Private Sub Timer1_Timer() Dim Return1 As Long, i As Long Dim Tmp1 As Long, Tmp2 As Long Dim Ip_Buf(1 To 4) As Byte Dim Win_Path As String, Tmp3 As String Return1 = GetTcpTable(TCP1, Len(TCP1), 1) If Last_Num_Of_Entries 0 And _ Last_Num_Of_Entries TCP1.dwNum_Of_Entries Then 異常時(shí)發(fā)出警告 Picture1.Visible = True警告標(biāo)志 On Error Resume Next Win_Path = String(145, 0) 利用API函數(shù)GetWindowsDirectory獲得當(dāng)前系統(tǒng)目錄 i = GetWindowsDirectory(Win_Path, 145) Win_Path = Left(Win_Path, i) 利用API函數(shù)sndPlaySound發(fā)出報(bào)警聲音 i = sndPlaySound(Win_Path + MediaDing.wav, &H1) On Error GoTo 0 Else If Picture1.Visible = True Then Picture1.Visible = False End If End If Last_Num_Of_Entries = TCP1.dwNum_Of_Entries Select Case Return1 Case 0&: Text1 = : Combo1.Clear For i = 0 To TCP1.dwNum_Of_Entries - 1 Tmp3 = Str(i + 1) + Select Case TCP1.TCP_Table(i).dwState 顯示連接狀態(tài)Case 1: Tmp3 = Tmp3 + CLOSED Case 2: Tmp3 = Tmp3 + LISTENING Case 3: Tmp3 = Tmp3 + SYN_SENT Case 4: Tmp3 = Tmp3 + SYN_RCVD Case 5: Tmp3 = Tmp3 + ESTABLISHED Case 6: Tmp3 = Tmp3 + FIN_WAIT1 Case 7: Tmp3 = Tmp3 + FIN_WAIT2 Case 8: Tmp3 = Tmp3 + CLOSE_WAIT Case 9: Tmp3 = Tmp3 + CLOSING Case 10: Tmp3 = Tmp3 + LAST_ACK Case 11: Tmp3 = Tmp3 + TIME_WAIT Case 12: Tmp3 = Tmp3 + DELETE_TCB End Select Combo1.AddItem Tmp3 填充列表以供用戶刪除 本地IP Tmp3 = Tmp3 + : + vbCrLf + vbTab + Local: CopyMemory為API函數(shù) CopyMemory Ip_Buf(1), TCP1.TCP_Table(i).dwLocalAddr, 4 Tmp3 = Tmp3 + CStr(Ip_Buf(1) + . + _ CStr(Ip_Buf(2) + .+ CStr(Ip_Buf(3) _ +. + CStr(Ip_Buf(4) Tmp1 = TCP1.TCP_Table(i).dwLocalPort 本地端口 Tmp2 = Tmp1 / 256 + (Tmp1 Mod 256) * 256 遠(yuǎn)程IP Tmp3 = Tmp3 + : + Str(Tmp2) + vbTab + Remote: CopyMemory Ip_Buf(1), TCP1.TCP_Table(i).dwRemoteAddr, 4 Tmp3 = Tmp3 + CStr(Ip_Buf(1) + . + CStr(Ip_Buf(2) _ + .+ CStr(Ip_Buf(3) + . + CStr(Ip_Buf(4) 遠(yuǎn)程端口 Tmp1 = TCP1.TCP_Table(i).dwRemotePort Tmp2 = Tmp1 / 256 + (Tmp1 Mod 256) * 256 Tmp3 = Tmp3 + : + Str(Tmp2) + vbCrLf Text1 = Text1 + Tmp3 Next i Case 50&: MsgBox 系統(tǒng)不支持該API函數(shù): End Case 87: MsgBox 無效的參數(shù): End Case 111&: MsgBox 緩沖區(qū)溢出: End Case 232&: MsgBox 無數(shù)據(jù): End End Select End Sub 用于刪除連接的CLICK事件源代碼: Private Sub delete_Click() Dim Return1 As Long If Combo1.ListIndex filelen Then j = filelen - curpos Else j = blocksize End If ReDim myfile(1 To j) As Byte Get #1, , myfile Winsock1.SendData myfile curpos = curpos + j End Select 注意:以上功能在WINSOCK的DataArrival事件中實(shí)現(xiàn)。抓取的圖象數(shù)據(jù)量較大,所以需要分塊傳輸。(2) 服務(wù)器端DataArrival 事件代碼: Dim receivefile() As Byte ReDim receivefile(bytesTotal) As Byte Winsock1.GetData receivefile, vbArray + vbByte 告訴Winsock控件收到的是字節(jié)數(shù)組類型的數(shù)據(jù)If Chr(receivefile(0) = o And _ Chr(receivefile(1) = k And _ Chr(receivefile(2) = m Then If Dir$(filename) Then Kill filename 打開文件,準(zhǔn)備存儲(chǔ)圖像Open filename For Binary As #1filelen = 0 Winsock1.SendData fir Exit Sub End If If Chr(receivefile(0) = e And _ Chr(receivefile(1) = n And _ Chr(receivefile(2) = d Then Label1.Caption = end Close #1 Picture1.Picture = LoadPicture(

溫馨提示

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

評(píng)論

0/150

提交評(píng)論