<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 透視Windows 的Web接口的方法參考

    時間:2024-10-30 04:32:35 Web Services 我要投稿
    • 相關推薦

    透視Windows 2003的Web接口的方法參考

      透視Windows 2003的Web接口

      Web管理接口(Web

      Management

      Interface)在Windows

      Server

      2003中是一項非常值得網絡用戶使用的功能,這項功能主要的目的就是為了向一些有權限的網絡用戶在無法進行本機維護時,提供遠程的Web管理接口服務。下面筆者對四項常見的Web接口管理服務進行一下簡單的介紹。

      打印服務器的Web接口

      打印服務器是Windows

      Server

      2003服務器中的一種,它是實現資源共享的重要組成部分。在Windows

      Server

      2003中,如果打印服務器安裝了IIS服務器,則擁有權限的網絡用戶就可以通過IE等瀏覽器來管理打印服務器,域中的用戶也可以通過瀏覽器來安裝打印機、管理自己打印的文檔等。這種方便的管理模式就是“打印機服務器Web接口管理方式”。其實現的過程如下:

      首先安裝IIS

      6.0和相關的遠程管理組件。點擊“開始→控制面板→添加/刪除程序”,在“添加或刪除程序”窗口中點擊“添加/刪除Windows組件”按鈕,接著在彈出的“Windows組件向導”窗口中選擇“應用程序服務器”。

      雙擊“應用程序服務器”后,在彈出的窗口中勾選“Internet信息服務(IIS)”。因為要設置打印機服務器可以使用Web接口方式的管理,所以還需要接著點擊“詳細信息”按鈕。在彈出的窗口中勾選“Internet打印”選項,才能實現Web打印及管理打印機(圖1)。

      在組件安裝完畢后,就可以在局域網中的任何一臺計算機上輸入打印服務器名稱/printers/(如192.100.100.16/printers/)進入打印機服務器的Web接口管理頁面了。在該頁面可以看到這臺服務器上的所有打印機及狀態。

      終端服務器的Web接口

      終端服務器是一種可以讓有權限的遠程網絡用戶,通過桌面界面登錄的方式對服務器進行管理的服務。一般來說,我們都是通過“遠程桌面連接”功能實現客戶端與終端服務器之間的連接。

      在Windows

      Server

      2003中,用戶只要讓終端服務器搭配IIS服務器,就可以在客戶端通過使用IE瀏覽器(4.0以上版本)完成與終端服務器的連接、登錄與管理操作。這項功能就是下面將要講述的“遠程桌面Web連接”功能。它的主要目的就是讓管理員不必在每臺計算機上都安裝“遠程桌面連接”程序,就可以通過Web接口(瀏覽器)來連接終端服務器。

      首先安裝IIS

      6.0,并在安裝的過程中雙擊“Internet信息服務(IIS)”,在打開的窗口中勾選“萬維網服務”。接著雙擊“萬維網服務”,在彈出的窗口中勾選“遠程桌面Web連接”后,開始安裝選中的組件。

      在安裝該組件后,可以在遠程計算機的IE地址欄中輸入服務器IP地址或名稱/tsweb/(如http://192.100.100.16/tsweb/)即可訪問終端服務器了。在“遠程桌面Web連接”頁面中輸入服務器的IP地址并設置好分辨率大小后,點擊“連接”按鈕就可以登錄到終端服務器的登錄界面。輸入正確的用戶名和密碼就可以登錄到該服務器的桌面環境。

      提示:如果出現無法連接到終端服務器的情況,請確認終端服務器的遠程桌面功能是否激活,即右鍵點擊“我的電腦”,在彈出的菜單中選擇“屬性”,在屬性窗口中的“遠程”選項卡設置界面,勾選“允許用戶遠程連接這臺計算機”即可。

      流媒體服務器的Web接口

      在Windows

      Server

      2003中,架設既支持網絡廣播又可進行視頻點播的Windows

      Media流媒體服務器是一件很容易的事情,但你想過沒有,我們同樣可以通過Web接口來管理流媒體服務器。

      在“Windows組件向導”窗口中勾選“Windows

      Media

      Services”,并進入該選項的詳細設置窗口,勾選“用于Web的Windows

      Media

      Services管理器”項(圖2)。從隨后彈出的“Windows

      Media

      Services安裝警告”提示框中,可以看到當前選中的組件需要IIS

      6.0的支持。此時請點擊“確定”按鈕(IIS

      6.0組件將被自動選中)。

      在上述組件安裝完畢后,就可以在遠程計算機的IE瀏覽器地址欄中輸入http://流媒體服務器IP地址8080/(如http://192.100.100.16:8080/default.asp)使用Web接口管理流媒體服務器了。輸入網址并按回車鍵后,就可以看到Windows

      Media

      Services的Web接口管理頁面了。

      為了安全考慮(防止其他用戶管理Windows

      Media

      Services),大家可以在退出Web接口管理頁面時,輸入網址http://192.100.100.16:8080/WMSLogOff.asp來注銷本次管理。

      遠程維護Web接口

      遠程維護功能是一項非常重要的功能,它可以幫助網絡管理員通過Web接口來完成服務器的多個具體服務項目的管理維護操作,也就是遠程進入IIS

      6.0

      Web接口管理頁面。

      在“Windows組件向導”窗口中依次選擇“應用程序服務器”、“Internet信息服務(IIS)”、“萬維網服務”,并在“萬維網服務”中勾選“遠程管理(HTML)”,最后點擊“確定”按鈕進行組件的安裝。

      在完成上述操作后,就可以在局域網中輸入“https://服務器名稱或IP地址?8098”這樣的地址(在遠程計算機中只能輸入“服務器IP地址:8098”)來訪問Windows

      Server

      2003的IIS

      6.0的Web接口管理頁面。

      在該頁面中可以查看或配置服務器的運行日志文件、網站IP地址、DNS后綴、域。此外還能夠創建、編輯、刪除服務器上的用戶和組名單,甚至可以遠程重新啟動服務器、關閉服務器。

      通過對Web接口管理實例的講解,大家是不是感到Windows

      Server

      2003的Web接口管理功能很強大呢?但筆者要強調的是,Web接口管理會因用戶的管理是否妥當出現不同等級的安全隱患,所以請大家謹慎使用Web接口管理功能。

      Win2003中IE安全區域的設置技巧

      概要

      本文介紹了如何配置“域名系統”(DNS)

      服務器,使其承載可從外部訪問(即從Internet

      訪問)的

      Web

      站點。

      如何獲取IP地址

      若要承載可從外部訪問的Web站點,必須從您的

      Internet

      服務提供商

      (ISP)

      那里獲取一個公用

      IP

      地址。并將此IP地址指定到DNS服務器所連接防火墻或路由器的外部接口

      如何注冊域名

      通過

      Internet

      域名注冊管理機構(這樣的管理機構被稱為注冊機構)為您的組織注冊一個父級或二級

      DNS

      域名。

      各注冊機構的注冊過程可能會有所不同,但您還是可以按以下步驟來注冊域名:

      進行搜索,確認要注冊的名稱是否可用。

      提供該帳戶的聯系信息和交費信息(包括電子郵件地址)。

      鍵入主從DNS服務器的完全合格的域名稱

      (FQDN)。

      備注:這些是ISP提供的公用IP地址。

      支付年費或作好支付年費的準備。

      如何配置Web服務器

      安裝和配置Microsoft

      Internet信息服務

      (IIS)(如果尚未安裝)。

      如何為Web服務器創建DNS項

      請為配置了IIS的DNS

      服務器創建別名或

      CNAME

      記錄。這樣就可以確保外部主機能夠使用“www”主機名來連接您的Web服務器。創建方法是:

      打開DNS管理單元。方法是:單擊開始,指向管理工具,然后單擊

      DNS。

      在DNS下,展開“主機名”(主機名是DNS服務器的主機名)。

      展開正向搜索區域。

      在正向搜索區域下,右鍵單擊所需區域(例如,域名.com。),然后單擊新建別名(CNAME)。

      在“別名”框中,鍵入www。

      在“目標主機的完全合格的名稱”框中,鍵入安裝

      IIS

      的

      DNS

      服務器的完全合格的主機名。例如,鍵入

      dns.域名.com,然后單擊確定。

      Oracle 10g中獲取DUAL表記錄數

      Oracle中的DUAL表是很特殊的一張表,這種表只有一個字段,一條記錄。Oracle很多查詢的結果都通過訪問這張表實現。所以很多包都依賴這張表。

      由于這張表的特殊性,SQL語句的優化器進行了特殊的處理,比如在9i中:

      SQL>

      CONN

      /@YTK92

      AS

      SYSDBA已連接。

      SQL>

      SELECT

      FROM

      DUAL;

      D

      X

      SQL>

      INSERT

      INTO

      DUAL

      VALUES

      ('X');

      已創建

      1

      行。

      SQL>

      SELECT

      FROM

      DUAL;

      D

      X

      SQL>

      SELECT

      COUNT(*)

      FROM

      DUAL;

      COUNT(*)

      2

      SQL>

      ROLLBACK;

      回退已完成。

      SQL>

      SELECT

      FROM

      V$VERSION;

      BANNER

      Oracle9i

      Enterprise

      Edition

      Release

      9.2.0.4.0

      Production

      PL/SQL

      Release

      9.2.0.4.0

      Production

      CORE

      9.2.0.3.0

      Production

      TNS

      for

      32-bit

      Windows:

      Version

      9.2.0.4.0

      Production

      NLSRTL

      Version

      9.2.0.4.0

      Production

      在9i的SQL優化器中,Oracle知道DUAL表只有一條記錄,因此即使插入新的記錄后,SELECT

      FROM

      DUAL仍然返回一條記錄。

      而使用COUNT(*)的話,則會返回DUAL表中真正的記錄數。

      但是10g的SQL優化器進行了進一步調整,而且10g還增加了FAST

      DUAL這種執行計劃,因此得到的結果和9i有了區別:

      SQL>

      CONN

      /@YTK102

      AS

      SYSDBA已連接。

      SQL>

      SELECT

      FROM

      DUAL;

      D

      X

      SQL>

      INSERT

      INTO

      DUAL

      VALUES

      ('X');

      已創建

      1

      行。

      SQL>

      SELECT

      FROM

      DUAL;

      D

      X

      SQL>

      SELECT

      COUNT(*)

      FROM

      DUAL;

      COUNT(*)

      1

      SQL>

      SELECT

      FROM

      V$VERSION;

      BANNER

      Oracle

      Database

      10g

      Enterprise

      Edition

      Release

      10.2.0.1.0

      Prod

      PL/SQL

      Release

      10.2.0.1.0

      Production

      CORE

      10.2.0.1.0

      Production

      TNS

      for

      32-bit

      Windows:

      Version

      10.2.0.1.0

      Production

      NLSRTL

      Version

      10.2.0.1.0

      Production

      可以看到,10g的優化器中即使是COUNT(*)查詢,返回的總數也是1。

      也就是說,沒有辦法通過SQL獲得DUAL表中真正的記錄數。

      雖然SQL中沒有辦法,但是PL/SQL是可以的,否則也不會導致EXPDP等操作報錯了。

      SQL>

      BEGIN

      2

      FOR

      I

      IN

      (SELECT

      FROM

      DUAL)

      LOOP

      3

      DBMS_OUTPUT.PUT_LINE(I.DUMMY);

      4

      END

      LOOP;

      5

      END;

      6

      X

      X

      PL/SQL

      過程已成功完成。

      SQL>

      ROLLBACK;

      回退已完成。

      通過這個結果也可以看出,SQL優化器和PL/SQL優化器在處理DUAL表上的區別。

      關于Visual Basic 9.0的動態標識符

      動態語言今年來發展很快,各種腳本語言多少都帶有些動態語言的特點。動態語言以其靈活的語法和豐富的運行時行為贏得了許多人的青睞。在.NET陣營,C#一直扮演著靜態語言的角色,盡管3.0的語法改變很激進,但仍注重于編譯時的類型檢查和約束。動態特性用的不好會產生更多運行時問題,不易確保程序的可靠性,但其提高開發效率的作用是毋庸置疑的。Visual

      Basic

      9.0是Visual

      Studio中唯一能讓你統領動態和靜態兩大領域的語言,讓你在程序中自由選擇喜歡的風格。

      Visual

      Basic

      從1.0便支持后期綁定,即按照對象的運行時類型信息使用對象,而不是定義這個對象時的類型信息。如:

      Dim

      l

      As

      Object

      New

      ArrayList()l.Add(12)l.RemoveAt(0)

      我們知道Object沒有Add或RemoveAt方法,但運行時類型ArrayList具有他們,因此Visual

      Basic允許到運行時再檢查有無相應的操作并支持。既然這個過程已經是在運行時做的了,我們就應該允許這個后期綁定的操作本身也是在運行時確定。這個語法增強叫做動態標識符。比如我們可以和這樣寫:

      Dim

      l

      As

      Object

      New

      ArrayList()l.("Add")(12)l.("RemoveAt")(0)

      我們看到,這個時候方法名稱Add和RemoveAt已經是字符串了,它當然也可以是包含字符串的變量!所以你甚至可以寫出這樣的代碼:

      l.(Console.ReadLine())(12)l.("Remove"

      &

      "At")(0)

      這樣,作為方法名稱的標識符就可以完全在動態期間確定了。方法名稱如此,那么類型名稱呢?理應如此。我們可以這樣寫:

      Dim

      l

      As

      Object

      New

      ("ArrayList")()

      這樣,你的變量l的類型將根據一個運行時字符串的值確定。動態標識符還能將函數的參數也動態化,假設有下列子程序:

      Sub

      Method1(Optional

      arg1

      As

      String,

      Optional

      arg2

      As

      String)

      運行的時候,我們可以動態地指定將數值賦給哪個參數:

      If

      a

      >

      Then

      argString

      "arg1"

      Else

      argString

      "arg2"Method1({argString}:=

      a.ToString())

      注意在:=符號之前的大括號,表示對參數名稱的動態結合。有了動態標識符這一特性,Visual

      Basic

      9.0將不需要利用反射的復雜語法,就可以做很多需要反射和運行時類型信息來做的任務,這使得Visual

      Basic成為解決你手邊小問題的最佳幫手。本期我們已經領略到Visual

      Basic

      9.0在動態特性上的革新,下一期將介紹第二個動態特性——動態接口。

      用VB6.0實現網絡實時監控系統

      計算機網絡技術的日益發展和普及,為信息共享提供了一條全球性的高速通道,但目前采用的TCP/IP協議族潛在著安全漏洞,其安全機制并不健全,如何保護企業內部網絡中的資源及信息不受外部攻擊者肆意破壞或盜竊,是企業網絡安全需要解決的重要問題。當我們擔心被黑客攻擊或懷疑電腦被植入木馬時,我們往往求助于防火墻,本系統即通過實時監控全部TCP連接的方法來實現防黑客攻擊。同時網絡管理人員在整個網絡運行期間,能否實時監控聯網計算機的運行狀態和操作對網絡安全具有極其重要的作用.下面就以Visual

      Basic

      6.0作為開發工具講述兩個主要模塊的設計和實現。

      系統概述

      該系統由兩個子系統組成:服務器端系統和客戶端(工作站)系統。服務器端系統安裝在網絡管理人員的計算機上,用于實施各種對聯網計算機的監控操作;客戶端系統安裝在每臺聯網的計算機上,它運行后以圖標的方式出現在系統任務欄的提示區中,不影響工作站的其他操作,只用于響應服務器端的監控命令,并根據服務的需要,及時采樣工作站的相應數據返回給服務器端。該系統的運行環境可以運行于Win98、Win95或WinNT、Win2000下。在系統的開發中,引入了WINSOCK通訊控件,除此之外,為較好地實現各項監控操作,還用到了幾個API函數。

      系統功能

      1、監控全部TCP連接:實時監控所有服務器端口的連接情況、及時對異常連接發出警告并提示用戶刪除異常連接;

      2、屏幕監控:該功能允許服務器隨時把被監控工作站的屏幕畫面抓取到服務器中,網絡管理人員對相應工作站所進行的操作一目了然,若發現有非法操作即可采取發送警告或強制措施,強迫其停止相應操作;

      3、對工作站進行鎖機、關機、限制鼠標活動等;

      4、服務器和工作站之間的信息互送。

      功能的實現

      1、監控全部TCP連接

      TCP/IP(Transmission

      Control

      Protocol/Internet

      Protocol:傳輸控制協議/互聯網協議)是一個包括TCP、IP、

      UDP、ARP、RARP和ICMP等在內的網絡協議集。TCP/IP經常被稱為“將Internet綁定在一起的粘合劑”,它允許在空間上分離的多個信息網絡連接在一起形成一個巨大的虛擬網絡。TCP和UDP(用戶數據報協議)是兩個最常用的數據傳輸協議,它們都使用設置監聽端口的方法來完成數據傳輸。

      在本文中討論TCP連接。通過使用TCP,

      Internet客戶機可以打開到另一個Internet客戶機的虛擬連接并傳送數據流。與UDP不同,TCP協議通過重傳丟失的數據報保證傳輸的可靠性。它也保證在接收端的應用程序按發送的順序將接收到的位和字節重新組裝起來以獲取完整的數據。

      要獲得與服務器系統中全部有效的TCP連接,用到GetTcpTable這個API函數,它定義如下:

      Private

      Declare

      Function

      GetTcpTable

      Lib

      "iphlpapi.

      dll"

      (ByRef

      pTcpTable

      As

      MIB_TCPTABLE,

      ByRef

      pdwSize

      As

      Long,

      ByVal

      bOrder

      As

      Long)

      As

      Long

      其中參數pPcpTable是已生成的

      TCP連接表緩沖區的指針,參數pdwsize是緩沖區大。ó斁彌_區不夠大時,該參數返回實際需要的大。,參數bOrder指示連接表是否需要按“Local

      IP”、“Localport”、“Remote

      IP”、“Remote

      port”依次進行排序,1為按此順序。

      通過一個TIMEER控件的TIMER的事件來比較前后兩個TCP連接表,我們可以立即發現異常并發出警告。本系統用聲音和報警標志提醒用戶注意可能的外界入侵。收到警告信號后,我們應首先將可疑連接刪除掉,SetTcpEntry函數可以幫助我們刪除可疑連接。其定義為:

      Private

      Declare

      Function

      SetTcpEntry

      Lib

      "iphlpapi.

      dll"

      (ByRef

      pTcpTable

      As

      MIB_TCPROW)

      As

      Long

      其中參數pTcptable為指向tcp表行的指針。然后將欲刪連接的狀態置為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

      <>

      And

      _

      Last_Num_Of_Entries

      <>

      TCP1.dwNum_Of_Entries

      Then

      '異常時發出警告

      Picture1.Visible

      True

      '警告標志

      On

      Error

      Resume

      Next

      Win_Path

      String(145,

      0)

      '利用API函數GetWindowsDirectory獲得當前系統目錄

      i

      GetWindowsDirectory(Win_Path,

      145)

      Win_Path

      Left(Win_Path,

      i)

      '利用API函數sndPlaySound發出報警聲音

      i

      sndPlaySound(Win_Path

      "MediaDing.wav",

      &H1)

      On

      Error

      GoTo

      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

      To

      TCP1.dwNum_Of_Entries

      1

      Tmp3

      Str(i

      1)

      Select

      Case

      TCP1.TCP_Table(i).dwState

      顯示連接狀態

      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函數

      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

      遠程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))

      遠程端口

      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

      "系統不支持該API函數":

      End

      Case

      87:

      MsgBox

      "無效的參數":

      End

      Case

      111&:

      MsgBox

      "緩沖區溢出":

      End

      Case

      232&:

      MsgBox

      "無數據":

      End

      End

      Select

      End

      Sub

      用于刪除連接的CLICK事件源代碼:

      Private

      Sub

      _Click()

      Dim

      Return1

      As

      Long

      If

      Combo1.ListIndex

      <

      Then

      Exit

      Sub

      將欲刪連接的狀態置為值為12

      TCP1.TCP_Table(Combo1.ListIndex).dwState

      12

      執行刪除

      Return1

      SetTcpEntry(TCP1.TCP_Table(Combo1.ListIndex))

      If

      Return1

      Then

      MsgBox

      "刪除成功"

      Else

      MsgBox

      "刪除失敗"

      End

      If

      Timer1_Timer

      End

      Sub

      計算機網絡技術的日益發展和普及,為信息共享提供了一條全球性的高速通道,但目前采用的TCP/IP協議族潛在著安全漏洞,其安全機制并不健全,如何保護企業內部網絡中的資源及信息不受外部攻擊者肆意破壞或盜竊,是企業網絡安全需要解決的重要問題。當我們擔心被黑客攻擊或懷疑電腦被植入木馬時,我們往往求助于防火墻,本系統即通過實時監控全部TCP連接的方法來實現防黑客攻擊。同時網絡管理人員在整個網絡運行期間,能否實時監控聯網計算機的運行狀態和操作對網絡安全具有極其重要的作用.下面就以Visual

      Basic

      6.0作為開發工具講述兩個主要模塊的設計和實現。

      系統概述

      該系統由兩個子系統組成:服務器端系統和客戶端(工作站)系統。服務器端系統安裝在網絡管理人員的計算機上,用于實施各種對聯網計算機的監控操作;客戶端系統安裝在每臺聯網的計算機上,它運行后以圖標的方式出現在系統任務欄的提示區中,不影響工作站的其他操作,只用于響應服務器端的監控命令,并根據服務的需要,及時采樣工作站的相應數據返回給服務器端。該系統的運行環境可以運行于Win98、Win95或WinNT、Win2000下。在系統的開發中,引入了WINSOCK通訊控件,除此之外,為較好地實現各項監控操作,還用到了幾個API函數。

      系統功能

      1、監控全部TCP連接:實時監控所有服務器端口的連接情況、及時對異常連接發出警告并提示用戶刪除異常連接;

      2、屏幕監控:該功能允許服務器隨時把被監控工作站的屏幕畫面抓取到服務器中,網絡管理人員對相應工作站所進行的操作一目了然,若發現有非法操作即可采取發送警告或強制措施,強迫其停止相應操作;

      3、對工作站進行鎖機、關機、限制鼠標活動等;

      4、服務器和工作站之間的信息互送。

      功能的實現

      1、監控全部TCP連接

      TCP/IP(Transmission

      Control

      Protocol/Internet

      Protocol:傳輸控制協議/互聯網協議)是一個包括TCP、IP、

      UDP、ARP、RARP和ICMP等在內的網絡協議集。TCP/IP經常被稱為“將Internet綁定在一起的粘合劑”,它允許在空間上分離的多個信息網絡連接在一起形成一個巨大的虛擬網絡。TCP和UDP(用戶數據報協議)是兩個最常用的數據傳輸協議,它們都使用設置監聽端口的方法來完成數據傳輸。

      在本文中討論TCP連接。通過使用TCP,

      Internet客戶機可以打開到另一個Internet客戶機的虛擬連接并傳送數據流。與UDP不同,TCP協議通過重傳丟失的數據報保證傳輸的可靠性。它也保證在接收端的應用程序按發送的順序將接收到的位和字節重新組裝起來以獲取完整的數據。

      要獲得與服務器系統中全部有效的TCP連接,用到GetTcpTable這個API函數,它定義如下:

      Private

      Declare

      Function

      GetTcpTable

      Lib

      "iphlpapi.

      dll"

      (ByRef

      pTcpTable

      As

      MIB_TCPTABLE,

      ByRef

      pdwSize

      As

      Long,

      ByVal

      bOrder

      As

      Long)

      As

      Long

      其中參數pPcpTable是已生成的

      TCP連接表緩沖區的指針,參數pdwsize是緩沖區大小(當緩沖區不夠大時,該參數返回實際需要的大。瑓礲Order指示連接表是否需要按“Local

      IP”、“Localport”、“Remote

      IP”、“Remote

      port”依次進行排序,1為按此順序。

      通過一個TIMEER控件的TIMER的事件來比較前后兩個TCP連接表,我們可以立即發現異常并發出警告。本系統用聲音和報警標志提醒用戶注意可能的外界入侵。收到警告信號后,我們應首先將可疑連接刪除掉,SetTcpEntry函數可以幫助我們刪除可疑連接。其定義為:

      Private

      Declare

      Function

      SetTcpEntry

      Lib

      "iphlpapi.

      dll"

      (ByRef

      pTcpTable

      As

      MIB_TCPROW)

      As

      Long

      其中參數pTcptable為指向tcp表行的指針。然后將欲刪連接的狀態置為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

      <>

      And

      _

      Last_Num_Of_Entries

      <>

      TCP1.dwNum_Of_Entries

      Then

      '異常時發出警告

      Picture1.Visible

      True

      '警告標志

      On

      Error

      Resume

      Next

      Win_Path

      String(145,

      0)

      '利用API函數GetWindowsDirectory獲得當前系統目錄

      i

      GetWindowsDirectory(Win_Path,

      145)

      Win_Path

      Left(Win_Path,

      i)

      '利用API函數sndPlaySound發出報警聲音

      i

      sndPlaySound(Win_Path

      "MediaDing.wav",

      &H1)

      On

      Error

      GoTo

      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

      To

      TCP1.dwNum_Of_Entries

      1

      Tmp3

      Str(i

      1)

      Select

      Case

      TCP1.TCP_Table(i).dwState

      顯示連接狀態

      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函數

      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

      遠程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))

      遠程端口

      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

      "系統不支持該API函數":

      End

      Case

      87:

      MsgBox

      "無效的參數":

      End

      Case

      111&:

      MsgBox

      "緩沖區溢出":

      End

      Case

      232&:

      MsgBox

      "無數據":

      End

      End

      Select

      End

      Sub

      用于刪除連接的CLICK事件源代碼:

      Private

      Sub

      _Click()

      Dim

      Return1

      As

      Long

      If

      Combo1.ListIndex

      <

      Then

      Exit

      Sub

      將欲刪連接的狀態置為值為12

      TCP1.TCP_Table(Combo1.ListIndex).dwState

      12

      執行刪除

      Return1

      SetTcpEntry(TCP1.TCP_Table(Combo1.ListIndex))

      If

      Return1

      Then

      MsgBox

      "刪除成功"

      Else

      MsgBox

      "刪除失敗"

      End

      If

      Timer1_Timer

      End

      Sub

      自動重啟pubwin2007服務器腳本

      以下為引用的內容:

      @echo

      offtitle

      Pubwin2007重起腳本...set

      logfile=d:數據庫備份重啟日志.txtnet

      stop

      AppServer>>%logfile%net

      stop

      SQLSERVERAGENT>>%logfile%net

      stop

      MSSQLSERVER>>%logfile%taskkill

      /f

      /im

      SyncAgent.exe>>%logfile%taskkill

      /f

      /im

      ServiceManager.exe>>%logfile%ping

      127.0.0.1

      -n

      3

      1>nulRunDll32.exe

      USER32.DLL,UpdatePerUserSystemParametersping

      127.0.0.1

      -n

      5

      1>nul@echo

      數據備份開始……>>%logfile%xcopy

      D:epserverPubwinServerdatabase

      "D:數據庫備份\%date%"

      /e

      /h

      /k

      /r

      /f

      /y>>%logfile%@echo

      數據備份完成……>>%logfile%@echo

      系統于%date%

      %time%重新啟動。>>%logfile%shutdown

      /r

      /t

      3

      /c

      "計劃重啟!"

      以下為引用的內容:

      @echo

      offset

      logfile=d:數據庫備份重啟日志.txt@echo

      系統于%date%

      %time%重啟完成。>>%logfile%echo

      ===================系統于%date%

      %time%正常啟動===================>>%logfile%@echo.>>%logfile%exit

      開機代碼主要是檢查重起一共用時多少,從而發現系統是否有問題了.把開機代碼放到啟動目錄就OK了.紅色是重起日志目錄.綠色的是pubwin服務器的數據庫路徑,根據自己的設定...藍色部分是數據庫備份位置,根據日期建立.

    【透視Windows 的Web接口的方法參考】相關文章:

    手繪中的透視方法08-18

    微軟Windows7自動安裝的方法07-23

    Windows7加快系統速度的方法08-12

    Windows系統常見的幾個故障及解決方法08-12

    java實現web服務器的方法10-14

    采購管理的參考方法09-11

    web程序設計選擇題及參考答案06-27

    俄語的學習方法參考07-28

    Web Workers加速移動Web應用07-01

    USB接口無法識別U盤的原因及解決方法09-05

    主站蜘蛛池模板: 久久亚洲精品视频| 精品亚洲欧美无人区乱码| 91av国产精品| 在线观看自拍少妇精品| 久久精品国产影库免费看| 在线中文字幕精品第5页| 中文精品一卡2卡3卡4卡| 色国产精品一区在线观看| 国产色精品vr一区区三区| 国产suv精品一区二区33| 伊人精品视频在线| 国产精品一区二区av不卡| 国产精品影音先锋| 久久久久久国产精品无码超碰| 久久乐国产精品亚洲综合| 四虎成人www国产精品| 国产精品美女久久久久| 亚洲精品无码99在线观看| 国产精品亚洲专区无码WEB| 99精品久久精品一区二区| 无码国产精品一区二区免费式芒果| 精品久久人人妻人人做精品| 伊人久久精品线影院| 国产a视频精品免费观看| 人妻AV一区二区三区精品| 欧洲精品一区二区三区在线观看| 国产精品一区二区三区免费| 久久伊人精品青青草原高清| 97精品国产手机| 国内精品久久久久影院一蜜桃 | 国产成人精品免高潮在线观看| 2021精品国产综合久久| 久久国产亚洲精品无码| 久久久久人妻一区精品性色av| 伊人久久无码精品中文字幕| 网友偷拍日韩精品| 日本精品少妇一区二区三区| 精品乱子伦一区二区三区高清免费播放 | 欧美精品华人在线| 国产人成精品午夜在线观看| 8AV国产精品爽爽ⅴa在线观看|