- 相關(guān)推薦
透視Windows 2003的Web接口的方法參考
透視Windows 2003的Web接口
Web管理接口(Web
Management
Interface)在Windows
Server
2003中是一項(xiàng)非常值得網(wǎng)絡(luò)用戶(hù)使用的功能,這項(xiàng)功能主要的目的就是為了向一些有權(quán)限的網(wǎng)絡(luò)用戶(hù)在無(wú)法進(jìn)行本機(jī)維護(hù)時(shí),提供遠(yuǎn)程的Web管理接口服務(wù)。下面筆者對(duì)四項(xiàng)常見(jiàn)的Web接口管理服務(wù)進(jìn)行一下簡(jiǎn)單的介紹。
打印服務(wù)器的Web接口
打印服務(wù)器是Windows
Server
2003服務(wù)器中的一種,它是實(shí)現(xiàn)資源共享的重要組成部分。在Windows
Server
2003中,如果打印服務(wù)器安裝了IIS服務(wù)器,則擁有權(quán)限的網(wǎng)絡(luò)用戶(hù)就可以通過(guò)IE等瀏覽器來(lái)管理打印服務(wù)器,域中的用戶(hù)也可以通過(guò)瀏覽器來(lái)安裝打印機(jī)、管理自己打印的文檔等。這種方便的管理模式就是“打印機(jī)服務(wù)器Web接口管理方式”。其實(shí)現(xiàn)的過(guò)程如下:
首先安裝IIS
6.0和相關(guān)的遠(yuǎn)程管理組件。點(diǎn)擊“開(kāi)始→控制面板→添加/刪除程序”,在“添加或刪除程序”窗口中點(diǎn)擊“添加/刪除Windows組件”按鈕,接著在彈出的“Windows組件向?qū)А贝翱谥羞x擇“應(yīng)用程序服務(wù)器”。
雙擊“應(yīng)用程序服務(wù)器”后,在彈出的窗口中勾選“Internet信息服務(wù)(IIS)”。因?yàn)橐O(shè)置打印機(jī)服務(wù)器可以使用Web接口方式的管理,所以還需要接著點(diǎn)擊“詳細(xì)信息”按鈕。在彈出的窗口中勾選“Internet打印”選項(xiàng),才能實(shí)現(xiàn)Web打印及管理打印機(jī)(圖1)。
在組件安裝完畢后,就可以在局域網(wǎng)中的任何一臺(tái)計(jì)算機(jī)上輸入打印服務(wù)器名稱(chēng)/printers/(如192.100.100.16/printers/)進(jìn)入打印機(jī)服務(wù)器的Web接口管理頁(yè)面了。在該頁(yè)面可以看到這臺(tái)服務(wù)器上的所有打印機(jī)及狀態(tài)。
終端服務(wù)器的Web接口
終端服務(wù)器是一種可以讓有權(quán)限的遠(yuǎn)程網(wǎng)絡(luò)用戶(hù),通過(guò)桌面界面登錄的方式對(duì)服務(wù)器進(jìn)行管理的服務(wù)。一般來(lái)說(shuō),我們都是通過(guò)“遠(yuǎn)程桌面連接”功能實(shí)現(xiàn)客戶(hù)端與終端服務(wù)器之間的連接。
在Windows
Server
2003中,用戶(hù)只要讓終端服務(wù)器搭配IIS服務(wù)器,就可以在客戶(hù)端通過(guò)使用IE瀏覽器(4.0以上版本)完成與終端服務(wù)器的連接、登錄與管理操作。這項(xiàng)功能就是下面將要講述的“遠(yuǎn)程桌面Web連接”功能。它的主要目的就是讓管理員不必在每臺(tái)計(jì)算機(jī)上都安裝“遠(yuǎn)程桌面連接”程序,就可以通過(guò)Web接口(瀏覽器)來(lái)連接終端服務(wù)器。
首先安裝IIS
6.0,并在安裝的過(guò)程中雙擊“Internet信息服務(wù)(IIS)”,在打開(kāi)的窗口中勾選“萬(wàn)維網(wǎng)服務(wù)”。接著雙擊“萬(wàn)維網(wǎng)服務(wù)”,在彈出的窗口中勾選“遠(yuǎn)程桌面Web連接”后,開(kāi)始安裝選中的組件。
在安裝該組件后,可以在遠(yuǎn)程計(jì)算機(jī)的IE地址欄中輸入服務(wù)器IP地址或名稱(chēng)/tsweb/(如http://192.100.100.16/tsweb/)即可訪(fǎng)問(wèn)終端服務(wù)器了。在“遠(yuǎn)程桌面Web連接”頁(yè)面中輸入服務(wù)器的IP地址并設(shè)置好分辨率大小后,點(diǎn)擊“連接”按鈕就可以登錄到終端服務(wù)器的登錄界面。輸入正確的用戶(hù)名和密碼就可以登錄到該服務(wù)器的桌面環(huán)境。
提示:如果出現(xiàn)無(wú)法連接到終端服務(wù)器的情況,請(qǐng)確認(rèn)終端服務(wù)器的遠(yuǎn)程桌面功能是否激活,即右鍵點(diǎn)擊“我的電腦”,在彈出的菜單中選擇“屬性”,在屬性窗口中的“遠(yuǎn)程”選項(xiàng)卡設(shè)置界面,勾選“允許用戶(hù)遠(yuǎn)程連接這臺(tái)計(jì)算機(jī)”即可。
流媒體服務(wù)器的Web接口
在Windows
Server
2003中,架設(shè)既支持網(wǎng)絡(luò)廣播又可進(jìn)行視頻點(diǎn)播的Windows
Media流媒體服務(wù)器是一件很容易的事情,但你想過(guò)沒(méi)有,我們同樣可以通過(guò)Web接口來(lái)管理流媒體服務(wù)器。
在“Windows組件向?qū)А贝翱谥泄催x“Windows
Media
Services”,并進(jìn)入該選項(xiàng)的詳細(xì)設(shè)置窗口,勾選“用于Web的Windows
Media
Services管理器”項(xiàng)(圖2)。從隨后彈出的“Windows
Media
Services安裝警告”提示框中,可以看到當(dāng)前選中的組件需要IIS
6.0的支持。此時(shí)請(qǐng)點(diǎn)擊“確定”按鈕(IIS
6.0組件將被自動(dòng)選中)。
在上述組件安裝完畢后,就可以在遠(yuǎn)程計(jì)算機(jī)的IE瀏覽器地址欄中輸入http://流媒體服務(wù)器IP地址8080/(如http://192.100.100.16:8080/default.asp)使用Web接口管理流媒體服務(wù)器了。輸入網(wǎng)址并按回車(chē)鍵后,就可以看到Windows
Media
Services的Web接口管理頁(yè)面了。
為了安全考慮(防止其他用戶(hù)管理Windows
Media
Services),大家可以在退出Web接口管理頁(yè)面時(shí),輸入網(wǎng)址http://192.100.100.16:8080/WMSLogOff.asp來(lái)注銷(xiāo)本次管理。
遠(yuǎn)程維護(hù)Web接口
遠(yuǎn)程維護(hù)功能是一項(xiàng)非常重要的功能,它可以幫助網(wǎng)絡(luò)管理員通過(guò)Web接口來(lái)完成服務(wù)器的多個(gè)具體服務(wù)項(xiàng)目的管理維護(hù)操作,也就是遠(yuǎn)程進(jìn)入IIS
6.0
Web接口管理頁(yè)面。
在“Windows組件向?qū)А贝翱谥幸来芜x擇“應(yīng)用程序服務(wù)器”、“Internet信息服務(wù)(IIS)”、“萬(wàn)維網(wǎng)服務(wù)”,并在“萬(wàn)維網(wǎng)服務(wù)”中勾選“遠(yuǎn)程管理(HTML)”,最后點(diǎn)擊“確定”按鈕進(jìn)行組件的安裝。
在完成上述操作后,就可以在局域網(wǎng)中輸入“https://服務(wù)器名稱(chēng)或IP地址?8098”這樣的地址(在遠(yuǎn)程計(jì)算機(jī)中只能輸入“服務(wù)器IP地址:8098”)來(lái)訪(fǎng)問(wèn)Windows
Server
2003的IIS
6.0的Web接口管理頁(yè)面。
在該頁(yè)面中可以查看或配置服務(wù)器的運(yùn)行日志文件、網(wǎng)站IP地址、DNS后綴、域。此外還能夠創(chuàng)建、編輯、刪除服務(wù)器上的用戶(hù)和組名單,甚至可以遠(yuǎn)程重新啟動(dòng)服務(wù)器、關(guān)閉服務(wù)器。
通過(guò)對(duì)Web接口管理實(shí)例的講解,大家是不是感到Windows
Server
2003的Web接口管理功能很強(qiáng)大呢?但筆者要強(qiáng)調(diào)的是,Web接口管理會(huì)因用戶(hù)的管理是否妥當(dāng)出現(xiàn)不同等級(jí)的安全隱患,所以請(qǐng)大家謹(jǐn)慎使用Web接口管理功能。
Win2003中IE安全區(qū)域的設(shè)置技巧
概要
本文介紹了如何配置“域名系統(tǒng)”(DNS)
服務(wù)器,使其承載可從外部訪(fǎng)問(wèn)(即從Internet
訪(fǎng)問(wèn))的
Web
站點(diǎn)。
如何獲取IP地址
若要承載可從外部訪(fǎng)問(wèn)的Web站點(diǎn),必須從您的
Internet
服務(wù)提供商
(ISP)
那里獲取一個(gè)公用
IP
地址。并將此IP地址指定到DNS服務(wù)器所連接防火墻或路由器的外部接口
如何注冊(cè)域名
通過(guò)
Internet
域名注冊(cè)管理機(jī)構(gòu)(這樣的管理機(jī)構(gòu)被稱(chēng)為注冊(cè)機(jī)構(gòu))為您的組織注冊(cè)一個(gè)父級(jí)或二級(jí)
DNS
域名。
各注冊(cè)機(jī)構(gòu)的注冊(cè)過(guò)程可能會(huì)有所不同,但您還是可以按以下步驟來(lái)注冊(cè)域名:
進(jìn)行搜索,確認(rèn)要注冊(cè)的名稱(chēng)是否可用。
提供該帳戶(hù)的聯(lián)系信息和交費(fèi)信息(包括電子郵件地址)。
鍵入主從DNS服務(wù)器的完全合格的域名稱(chēng)
(FQDN)。
備注:這些是ISP提供的公用IP地址。
支付年費(fèi)或作好支付年費(fèi)的準(zhǔn)備。
如何配置Web服務(wù)器
安裝和配置Microsoft
Internet信息服務(wù)
(IIS)(如果尚未安裝)。
如何為Web服務(wù)器創(chuàng)建DNS項(xiàng)
請(qǐng)為配置了IIS的DNS
服務(wù)器創(chuàng)建別名或
CNAME
記錄。這樣就可以確保外部主機(jī)能夠使用“www”主機(jī)名來(lái)連接您的Web服務(wù)器。創(chuàng)建方法是:
打開(kāi)DNS管理單元。方法是:?jiǎn)螕糸_(kāi)始,指向管理工具,然后單擊
DNS。
在DNS下,展開(kāi)“主機(jī)名”(主機(jī)名是DNS服務(wù)器的主機(jī)名)。
展開(kāi)正向搜索區(qū)域。
在正向搜索區(qū)域下,右鍵單擊所需區(qū)域(例如,域名.com。),然后單擊新建別名(CNAME)。
在“別名”框中,鍵入www。
在“目標(biāo)主機(jī)的完全合格的名稱(chēng)”框中,鍵入安裝
IIS
的
DNS
服務(wù)器的完全合格的主機(jī)名。例如,鍵入
dns.域名.com,然后單擊確定。
Oracle 10g中獲取DUAL表記錄數(shù)
Oracle中的DUAL表是很特殊的一張表,這種表只有一個(gè)字段,一條記錄。Oracle很多查詢(xún)的結(jié)果都通過(guò)訪(fǎng)問(wèn)這張表實(shí)現(xiàn)。所以很多包都依賴(lài)這張表。
由于這張表的特殊性,SQL語(yǔ)句的優(yōu)化器進(jìn)行了特殊的處理,比如在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(*)的話(huà),則會(huì)返回DUAL表中真正的記錄數(shù)。
但是10g的SQL優(yōu)化器進(jìn)行了進(jìn)一步調(diào)整,而且10g還增加了FAST
DUAL這種執(zhí)行計(jì)劃,因此得到的結(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(*)查詢(xún),返回的總數(shù)也是1。
也就是說(shuō),沒(méi)有辦法通過(guò)SQL獲得DUAL表中真正的記錄數(shù)。
雖然SQL中沒(méi)有辦法,但是PL/SQL是可以的,否則也不會(huì)導(dǎo)致EXPDP等操作報(bào)錯(cuò)了。
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
過(guò)程已成功完成。
SQL>
ROLLBACK;
回退已完成。
通過(guò)這個(gè)結(jié)果也可以看出,SQL優(yōu)化器和PL/SQL優(yōu)化器在處理DUAL表上的區(qū)別。
關(guān)于Visual Basic 9.0的動(dòng)態(tài)標(biāo)識(shí)符
動(dòng)態(tài)語(yǔ)言今年來(lái)發(fā)展很快,各種腳本語(yǔ)言多少都帶有些動(dòng)態(tài)語(yǔ)言的特點(diǎn)。動(dòng)態(tài)語(yǔ)言以其靈活的語(yǔ)法和豐富的運(yùn)行時(shí)行為贏得了許多人的青睞。在.NET陣營(yíng),C#一直扮演著靜態(tài)語(yǔ)言的角色,盡管3.0的語(yǔ)法改變很激進(jìn),但仍注重于編譯時(shí)的類(lèi)型檢查和約束。動(dòng)態(tài)特性用的不好會(huì)產(chǎn)生更多運(yùn)行時(shí)問(wèn)題,不易確保程序的可靠性,但其提高開(kāi)發(fā)效率的作用是毋庸置疑的。Visual
Basic
9.0是Visual
Studio中唯一能讓你統(tǒng)領(lǐng)動(dòng)態(tài)和靜態(tài)兩大領(lǐng)域的語(yǔ)言,讓你在程序中自由選擇喜歡的風(fēng)格。
Visual
Basic
從1.0便支持后期綁定,即按照對(duì)象的運(yùn)行時(shí)類(lèi)型信息使用對(duì)象,而不是定義這個(gè)對(duì)象時(shí)的類(lèi)型信息。如:
Dim
l
As
Object
New
ArrayList()l.Add(12)l.RemoveAt(0)
我們知道Object沒(méi)有Add或RemoveAt方法,但運(yùn)行時(shí)類(lèi)型ArrayList具有他們,因此Visual
Basic允許到運(yùn)行時(shí)再檢查有無(wú)相應(yīng)的操作并支持。既然這個(gè)過(guò)程已經(jīng)是在運(yùn)行時(shí)做的了,我們就應(yīng)該允許這個(gè)后期綁定的操作本身也是在運(yùn)行時(shí)確定。這個(gè)語(yǔ)法增強(qiáng)叫做動(dòng)態(tài)標(biāo)識(shí)符。比如我們可以和這樣寫(xiě):
Dim
l
As
Object
New
ArrayList()l.("Add")(12)l.("RemoveAt")(0)
我們看到,這個(gè)時(shí)候方法名稱(chēng)Add和RemoveAt已經(jīng)是字符串了,它當(dāng)然也可以是包含字符串的變量!所以你甚至可以寫(xiě)出這樣的代碼:
l.(Console.ReadLine())(12)l.("Remove"
&
"At")(0)
這樣,作為方法名稱(chēng)的標(biāo)識(shí)符就可以完全在動(dòng)態(tài)期間確定了。方法名稱(chēng)如此,那么類(lèi)型名稱(chēng)呢?理應(yīng)如此。我們可以這樣寫(xiě):
Dim
l
As
Object
New
("ArrayList")()
這樣,你的變量l的類(lèi)型將根據(jù)一個(gè)運(yùn)行時(shí)字符串的值確定。動(dòng)態(tài)標(biāo)識(shí)符還能將函數(shù)的參數(shù)也動(dòng)態(tài)化,假設(shè)有下列子程序:
Sub
Method1(Optional
arg1
As
String,
Optional
arg2
As
String)
運(yùn)行的時(shí)候,我們可以動(dòng)態(tài)地指定將數(shù)值賦給哪個(gè)參數(shù):
If
a
>
Then
argString
"arg1"
Else
argString
"arg2"Method1({argString}:=
a.ToString())
注意在:=符號(hào)之前的大括號(hào),表示對(duì)參數(shù)名稱(chēng)的動(dòng)態(tài)結(jié)合。有了動(dòng)態(tài)標(biāo)識(shí)符這一特性,Visual
Basic
9.0將不需要利用反射的復(fù)雜語(yǔ)法,就可以做很多需要反射和運(yùn)行時(shí)類(lèi)型信息來(lái)做的任務(wù),這使得Visual
Basic成為解決你手邊小問(wèn)題的最佳幫手。本期我們已經(jīng)領(lǐng)略到Visual
Basic
9.0在動(dòng)態(tài)特性上的革新,下一期將介紹第二個(gè)動(dòng)態(tài)特性——?jiǎng)討B(tài)接口。
用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ò)安全需要解決的重要問(wèn)題。當(dāng)我們擔(dān)心被黑客攻擊或懷疑電腦被植入木馬時(shí),我們往往求助于防火墻,本系統(tǒng)即通過(guò)實(shí)時(shí)監(jiān)控全部TCP連接的方法來(lái)實(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作為開(kāi)發(fā)工具講述兩個(gè)主要模塊的設(shè)計(jì)和實(shí)現(xiàn)。
系統(tǒng)概述
該系統(tǒng)由兩個(gè)子系統(tǒng)組成:服務(wù)器端系統(tǒng)和客戶(hù)端(工作站)系統(tǒng)。服務(wù)器端系統(tǒng)安裝在網(wǎng)絡(luò)管理人員的計(jì)算機(jī)上,用于實(shí)施各種對(duì)聯(lián)網(wǎng)計(jì)算機(jī)的監(jiān)控操作;客戶(hù)端系統(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)的開(kāi)發(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ā)出警告并提示用戶(hù)刪除異常連接;
2、屏幕監(jiān)控:該功能允許服務(wù)器隨時(shí)把被監(jiān)控工作站的屏幕畫(huà)面抓取到服務(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)常被稱(chēng)為“將Internet綁定在一起的粘合劑”,它允許在空間上分離的多個(gè)信息網(wǎng)絡(luò)連接在一起形成一個(gè)巨大的虛擬網(wǎng)絡(luò)。TCP和UDP(用戶(hù)數(shù)據(jù)報(bào)協(xié)議)是兩個(gè)最常用的數(shù)據(jù)傳輸協(xié)議,它們都使用設(shè)置監(jiān)聽(tīng)端口的方法來(lái)完成數(shù)據(jù)傳輸。
在本文中討論TCP連接。通過(guò)使用TCP,
Internet客戶(hù)機(jī)可以打開(kāi)到另一個(gè)Internet客戶(hù)機(jī)的虛擬連接并傳送數(shù)據(jù)流。與UDP不同,TCP協(xié)議通過(guò)重傳丟失的數(shù)據(jù)報(bào)保證傳輸?shù)目煽啃浴K脖WC在接收端的應(yīng)用程序按發(fā)送的順序?qū)⒔邮盏降奈缓妥止?jié)重新組裝起來(lái)以獲取完整的數(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為按此順序。
通過(guò)一個(gè)TIMEER控件的TIMER的事件來(lái)比較前后兩個(gè)TCP連接表,我們可以立即發(fā)現(xiàn)異常并發(fā)出警告。本系統(tǒng)用聲音和報(bào)警標(biāo)志提醒用戶(hù)注意可能的外界入侵。收到警告信號(hào)后,我們應(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
'異常時(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
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
填充列表以供用戶(hù)刪除
本地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
"無(wú)效的參數(shù)":
End
Case
111&:
MsgBox
"緩沖區(qū)溢出":
End
Case
232&:
MsgBox
"無(wú)數(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
計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的日益發(fā)展和普及,為信息共享提供了一條全球性的高速通道,但目前采用的TCP/IP協(xié)議族潛在著安全漏洞,其安全機(jī)制并不健全,如何保護(hù)企業(yè)內(nèi)部網(wǎng)絡(luò)中的資源及信息不受外部攻擊者肆意破壞或盜竊,是企業(yè)網(wǎng)絡(luò)安全需要解決的重要問(wèn)題。當(dāng)我們擔(dān)心被黑客攻擊或懷疑電腦被植入木馬時(shí),我們往往求助于防火墻,本系統(tǒng)即通過(guò)實(shí)時(shí)監(jiān)控全部TCP連接的方法來(lái)實(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作為開(kāi)發(fā)工具講述兩個(gè)主要模塊的設(shè)計(jì)和實(shí)現(xiàn)。
系統(tǒng)概述
該系統(tǒng)由兩個(gè)子系統(tǒng)組成:服務(wù)器端系統(tǒng)和客戶(hù)端(工作站)系統(tǒng)。服務(wù)器端系統(tǒng)安裝在網(wǎng)絡(luò)管理人員的計(jì)算機(jī)上,用于實(shí)施各種對(duì)聯(lián)網(wǎng)計(jì)算機(jī)的監(jiān)控操作;客戶(hù)端系統(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)的開(kāi)發(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ā)出警告并提示用戶(hù)刪除異常連接;
2、屏幕監(jiān)控:該功能允許服務(wù)器隨時(shí)把被監(jiān)控工作站的屏幕畫(huà)面抓取到服務(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)常被稱(chēng)為“將Internet綁定在一起的粘合劑”,它允許在空間上分離的多個(gè)信息網(wǎng)絡(luò)連接在一起形成一個(gè)巨大的虛擬網(wǎng)絡(luò)。TCP和UDP(用戶(hù)數(shù)據(jù)報(bào)協(xié)議)是兩個(gè)最常用的數(shù)據(jù)傳輸協(xié)議,它們都使用設(shè)置監(jiān)聽(tīng)端口的方法來(lái)完成數(shù)據(jù)傳輸。
在本文中討論TCP連接。通過(guò)使用TCP,
Internet客戶(hù)機(jī)可以打開(kāi)到另一個(gè)Internet客戶(hù)機(jī)的虛擬連接并傳送數(shù)據(jù)流。與UDP不同,TCP協(xié)議通過(guò)重傳丟失的數(shù)據(jù)報(bào)保證傳輸?shù)目煽啃。它也保證在接收端的應(yīng)用程序按發(fā)送的順序?qū)⒔邮盏降奈缓妥止?jié)重新組裝起來(lái)以獲取完整的數(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為按此順序。
通過(guò)一個(gè)TIMEER控件的TIMER的事件來(lái)比較前后兩個(gè)TCP連接表,我們可以立即發(fā)現(xiàn)異常并發(fā)出警告。本系統(tǒng)用聲音和報(bào)警標(biāo)志提醒用戶(hù)注意可能的外界入侵。收到警告信號(hào)后,我們應(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
'異常時(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
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
填充列表以供用戶(hù)刪除
本地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
"無(wú)效的參數(shù)":
End
Case
111&:
MsgBox
"緩沖區(qū)溢出":
End
Case
232&:
MsgBox
"無(wú)數(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
自動(dòng)重啟pubwin2007服務(wù)器腳本
以下為引用的內(nèi)容:
@echo
offtitle
Pubwin2007重起腳本...set
logfile=d:數(shù)據(jù)庫(kù)備份重啟日志.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ù)備份開(kāi)始……>>%logfile%xcopy
D:epserverPubwinServerdatabase
"D:數(shù)據(jù)庫(kù)備份\%date%"
/e
/h
/k
/r
/f
/y>>%logfile%@echo
數(shù)據(jù)備份完成……>>%logfile%@echo
系統(tǒng)于%date%
%time%重新啟動(dòng)。>>%logfile%shutdown
/r
/t
3
/c
"計(jì)劃重啟!"
以下為引用的內(nèi)容:
@echo
offset
logfile=d:數(shù)據(jù)庫(kù)備份重啟日志.txt@echo
系統(tǒng)于%date%
%time%重啟完成。>>%logfile%echo
===================系統(tǒng)于%date%
%time%正常啟動(dòng)===================>>%logfile%@echo.>>%logfile%exit
開(kāi)機(jī)代碼主要是檢查重起一共用時(shí)多少,從而發(fā)現(xiàn)系統(tǒng)是否有問(wèn)題了.把開(kāi)機(jī)代碼放到啟動(dòng)目錄就OK了.紅色是重起日志目錄.綠色的是pubwin服務(wù)器的數(shù)據(jù)庫(kù)路徑,根據(jù)自己的設(shè)定...藍(lán)色部分是數(shù)據(jù)庫(kù)備份位置,根據(jù)日期建立.
【透視Windows 的Web接口的方法參考】相關(guān)文章:
手繪中的透視方法08-18
Windows系統(tǒng)常見(jiàn)的幾個(gè)故障及解決方法08-12
java實(shí)現(xiàn)web服務(wù)器的方法10-14
采購(gòu)管理的參考方法09-11