亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

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

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

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

  透視Windows 2003的Web接口

  Web管理接口(Web

  Management

  Interface)在Windows

  Server

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

  打印服務(wù)器的Web接口

  打印服務(wù)器是Windows

  Server

  2003服務(wù)器中的一種,它是實現(xiàn)資源共享的重要組成部分。在Windows

  Server

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

  首先安裝IIS

  6.0和相關(guān)的遠程管理組件。點擊“開始→控制面板→添加/刪除程序”,在“添加或刪除程序”窗口中點擊“添加/刪除Windows組件”按鈕,接著在彈出的“Windows組件向?qū)А贝翱谥羞x擇“應(yīng)用程序服務(wù)器”。

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

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

  終端服務(wù)器的Web接口

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

  在Windows

  Server

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

  首先安裝IIS

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

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

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

  流媒體服務(wù)器的Web接口

  在Windows

  Server

  2003中,架設(shè)既支持網(wǎng)絡(luò)廣播又可進行視頻點播的Windows

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

  在“Windows組件向?qū)А贝翱谥泄催x“Windows

  Media

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

  Media

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

  Media

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

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

  6.0組件將被自動選中)。

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

  Media

  Services的Web接口管理頁面了。

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

  Media

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

  遠程維護Web接口

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

  6.0

  Web接口管理頁面。

  在“Windows組件向?qū)А贝翱谥幸来芜x擇“應(yīng)用程序服務(wù)器”、“Internet信息服務(wù)(IIS)”、“萬維網(wǎng)服務(wù)”,并在“萬維網(wǎng)服務(wù)”中勾選“遠程管理(HTML)”,最后點擊“確定”按鈕進行組件的安裝。

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

  Server

  2003的IIS

  6.0的Web接口管理頁面。

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

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

  Server

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

  Win2003中IE安全區(qū)域的設(shè)置技巧

  概要

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

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

  訪問)的

  Web

  站點。

  如何獲取IP地址

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

  Internet

  服務(wù)提供商

  (ISP)

  那里獲取一個公用

  IP

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

  如何注冊域名

  通過

  Internet

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

  DNS

  域名。

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

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

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

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

  (FQDN)。

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

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

  如何配置Web服務(wù)器

  安裝和配置Microsoft

  Internet信息服務(wù)

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

  如何為Web服務(wù)器創(chuàng)建DNS項

  請為配置了IIS的DNS

  服務(wù)器創(chuàng)建別名或

  CNAME

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

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

  DNS。

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

  展開正向搜索區(qū)域。

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

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

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

  IIS

  的

  DNS

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

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

  Oracle 10g中獲取DUAL表記錄數(shù)

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

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

  SQL>

  CONN

  /@YTK92

  AS

  SYSDBA已連接。

  SQL>

  SELECT

  FROM

  DUAL;

  D

  X

  SQL>

  INSERT

  INTO

  DUAL

  VALUES

  ('X');

  已創(chuàng)建

  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優(yōu)化器中,Oracle知道DUAL表只有一條記錄,因此即使插入新的記錄后,SELECT

  FROM

  DUAL仍然返回一條記錄。

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

  但是10g的SQL優(yōu)化器進行了進一步調(diào)整,而且10g還增加了FAST

  DUAL這種執(zhí)行計劃,因此得到的結(jié)果和9i有了區(qū)別:

  SQL>

  CONN

  /@YTK102

  AS

  SYSDBA已連接。

  SQL>

  SELECT

  FROM

  DUAL;

  D

  X

  SQL>

  INSERT

  INTO

  DUAL

  VALUES

  ('X');

  已創(chuàng)建

  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的優(yōu)化器中即使是COUNT(*)查詢,返回的總數(shù)也是1。

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

  雖然SQL中沒有辦法,但是PL/SQL是可以的,否則也不會導(dǎo)致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;

  回退已完成。

  通過這個結(jié)果也可以看出,SQL優(yōu)化器和PL/SQL優(yōu)化器在處理DUAL表上的區(qū)別。

  關(guān)于Visual Basic 9.0的動態(tài)標識符

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

  Basic

  9.0是Visual

  Studio中唯一能讓你統(tǒng)領(lǐng)動態(tài)和靜態(tài)兩大領(lǐng)域的語言,讓你在程序中自由選擇喜歡的風格。

  Visual

  Basic

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

  Dim

  l

  As

  Object

  New

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

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

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

  Dim

  l

  As

  Object

  New

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

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

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

  &

  "At")(0)

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

  Dim

  l

  As

  Object

  New

  ("ArrayList")()

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

  Sub

  Method1(Optional

  arg1

  As

  String,

  Optional

  arg2

  As

  String)

  運行的時候,我們可以動態(tài)地指定將數(shù)值賦給哪個參數(shù):

  If

  a

  >

  Then

  argString

  "arg1"

  Else

  argString

  "arg2"Method1({argString}:=

  a.ToString())

  注意在:=符號之前的大括號,表示對參數(shù)名稱的動態(tài)結(jié)合。有了動態(tài)標識符這一特性,Visual

  Basic

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

  Basic成為解決你手邊小問題的最佳幫手。本期我們已經(jīng)領(lǐng)略到Visual

  Basic

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

  用VB6.0實現(xiàn)網(wǎng)絡(luò)實時監(jiān)控系統(tǒng)

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

  Basic

  6.0作為開發(fā)工具講述兩個主要模塊的設(shè)計和實現(xiàn)。

  系統(tǒng)概述

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

  系統(tǒng)功能

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

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

  3、對工作站進行鎖機、關(guān)機、限制鼠標活動等;

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

  功能的實現(xiàn)

  1、監(jiān)控全部TCP連接

  TCP/IP(Transmission

  Control

  Protocol/Internet

  Protocol:傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議)是一個包括TCP、IP、

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

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

  Internet客戶機可以打開到另一個Internet客戶機的虛擬連接并傳送數(shù)據(jù)流。與UDP不同,TCP協(xié)議通過重傳丟失的數(shù)據(jù)報保證傳輸?shù)目煽啃。它也保證在接收端的應(yīng)用程序按發(fā)送的順序?qū)⒔邮盏降奈缓妥止?jié)重新組裝起來以獲取完整的數(shù)據(jù)。

  要獲得與服務(wù)器系統(tǒng)中全部有效的TCP連接,用到GetTcpTable這個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ū)大。ó斁彌_區(qū)不夠大時,該參數(shù)返回實際需要的大。,參數(shù)bOrder指示連接表是否需要按“Local

  IP”、“Localport”、“Remote

  IP”、“Remote

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

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

  Private

  Declare

  Function

  SetTcpEntry

  Lib

  "iphlpapi.

  dll"

  (ByRef

  pTcpTable

  As

  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

  <>

  And

  _

  Last_Num_Of_Entries

  <>

  TCP1.dwNum_Of_Entries

  Then

  '異常時發(fā)出警告

  Picture1.Visible

  True

  '警告標志

  On

  Error

  Resume

  Next

  Win_Path

  String(145,

  0)

  '利用API函數(shù)GetWindowsDirectory獲得當前系統(tǒng)目錄

  i

  GetWindowsDirectory(Win_Path,

  145)

  Win_Path

  Left(Win_Path,

  i)

  '利用API函數(shù)sndPlaySound發(fā)出報警聲音

  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

  顯示連接狀態(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

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

  "系統(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

  _Click()

  Dim

  Return1

  As

  Long

  If

  Combo1.ListIndex

  <

  Then

  Exit

  Sub

  將欲刪連接的狀態(tài)置為值為12

  TCP1.TCP_Table(Combo1.ListIndex).dwState

  12

  執(zhí)行刪除

  Return1

  SetTcpEntry(TCP1.TCP_Table(Combo1.ListIndex))

  If

  Return1

  Then

  MsgBox

  "刪除成功"

  Else

  MsgBox

  "刪除失敗"

  End

  If

  Timer1_Timer

  End

  Sub

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

  Basic

  6.0作為開發(fā)工具講述兩個主要模塊的設(shè)計和實現(xiàn)。

  系統(tǒng)概述

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

  系統(tǒng)功能

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

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

  3、對工作站進行鎖機、關(guān)機、限制鼠標活動等;

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

  功能的實現(xiàn)

  1、監(jiān)控全部TCP連接

  TCP/IP(Transmission

  Control

  Protocol/Internet

  Protocol:傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議)是一個包括TCP、IP、

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

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

  Internet客戶機可以打開到另一個Internet客戶機的虛擬連接并傳送數(shù)據(jù)流。與UDP不同,TCP協(xié)議通過重傳丟失的數(shù)據(jù)報保證傳輸?shù)目煽啃。它也保證在接收端的應(yīng)用程序按發(fā)送的順序?qū)⒔邮盏降奈缓妥止?jié)重新組裝起來以獲取完整的數(shù)據(jù)。

  要獲得與服務(wù)器系統(tǒng)中全部有效的TCP連接,用到GetTcpTable這個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ū)大。ó斁彌_區(qū)不夠大時,該參數(shù)返回實際需要的大。瑓(shù)bOrder指示連接表是否需要按“Local

  IP”、“Localport”、“Remote

  IP”、“Remote

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

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

  Private

  Declare

  Function

  SetTcpEntry

  Lib

  "iphlpapi.

  dll"

  (ByRef

  pTcpTable

  As

  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

  <>

  And

  _

  Last_Num_Of_Entries

  <>

  TCP1.dwNum_Of_Entries

  Then

  '異常時發(fā)出警告

  Picture1.Visible

  True

  '警告標志

  On

  Error

  Resume

  Next

  Win_Path

  String(145,

  0)

  '利用API函數(shù)GetWindowsDirectory獲得當前系統(tǒng)目錄

  i

  GetWindowsDirectory(Win_Path,

  145)

  Win_Path

  Left(Win_Path,

  i)

  '利用API函數(shù)sndPlaySound發(fā)出報警聲音

  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

  顯示連接狀態(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

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

  "系統(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

  _Click()

  Dim

  Return1

  As

  Long

  If

  Combo1.ListIndex

  <

  Then

  Exit

  Sub

  將欲刪連接的狀態(tài)置為值為12

  TCP1.TCP_Table(Combo1.ListIndex).dwState

  12

  執(zhí)行刪除

  Return1

  SetTcpEntry(TCP1.TCP_Table(Combo1.ListIndex))

  If

  Return1

  Then

  MsgBox

  "刪除成功"

  Else

  MsgBox

  "刪除失敗"

  End

  If

  Timer1_Timer

  End

  Sub

  自動重啟pubwin2007服務(wù)器腳本

  以下為引用的內(nèi)容:

  @echo

  offtitle

  Pubwin2007重起腳本...set

  logfile=d:數(shù)據(jù)庫備份重啟日志.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

  數(shù)據(jù)備份開始……>>%logfile%xcopy

  D:epserverPubwinServerdatabase

  "D:數(shù)據(jù)庫備份\%date%"

  /e

  /h

  /k

  /r

  /f

  /y>>%logfile%@echo

  數(shù)據(jù)備份完成……>>%logfile%@echo

  系統(tǒng)于%date%

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

  /r

  /t

  3

  /c

  "計劃重啟!"

  以下為引用的內(nèi)容:

  @echo

  offset

  logfile=d:數(shù)據(jù)庫備份重啟日志.txt@echo

  系統(tǒng)于%date%

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

  ===================系統(tǒng)于%date%

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

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

【透視Windows 的Web接口的方法參考】相關(guān)文章:

手繪中的透視方法08-18

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

Windows7加快系統(tǒng)速度的方法08-12

Windows系統(tǒng)常見的幾個故障及解決方法08-12

java實現(xiàn)web服務(wù)器的方法10-14

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

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

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

Web Workers加速移動Web應(yīng)用07-01

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