|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
实现规模效益。与传统的用户拥有硬件软件所有权和使用权以及传统的应用服务商提供一对一的服务模式不同,ASP拥有应用系统所有权,用户拥有使用权,应用系统集中放在ASP的数据中心中,集中管理,分散使用,以一对多的租赁的形式为众多用户提供有品质保证的应用技术服务,实现规模效益。程序 1计划背景
愈来愈多的企业在创建本人的WEB站点时选择了基于微软的构架。Windows操纵体系、IISWEBServer和ASP手艺失掉了普遍的利用。但良多企业的收集中存在大批的UNIX主机,招致我们常常但愿在扫瞄器中完成对UNIX体系资本的会见和把持,比方:经由过程扫瞄器检察UNIX体系中的用户历程、检察收集形态、乃至完成杀逝世一个历程如许的把持操纵。之前我们能够经由过程Telnet程序远程登录到UNIX主机上,输出用户名和口令,并在命令行体例下输出命令。经由过程ASP中的ActiveX控件编程,我们一样可使用Telnet协定会见UNIX主机,如许,UNIX体系中的资本就能够在B/S情况中失掉加倍充实的使用。
2控件的功效
本文要先容的控件是美国DartCommunications公司开辟的PowerTCPTools控件组中的TelnetToolActiveX控件。它撑持VisualStudio、ASP、Office97(VBA)、C++Builder、Delphi、PowerBuilder等开辟情况。
它能够办理Telnet,rsh,rexec和rlogin毗连,供应了创建、利用和停止会话的办法,撑持主动选项协商,如终端范例、回显形式、窗口巨细等,利用者不用体贴协定完成细节,极年夜的简化了利用这些协定的编程难度。控件能够和UNIX主机、路由器、终端服务器等设备间接举行Telnet通讯,并撑持直接的Telnet会见。
3控件的ASP编程办法
TelnetToolActiveX控件的利用极为复杂,上面先容它的次要属性和办法。
TermType属性:指定终端范例,如ANSI、VT320等,能够关照UNIX主机客户端所仿真的终端范例。
Timeout属性:当设定为0值时,控件利用非堵塞体例把持会话。当设定为年夜于0的值时,控件利用堵塞体例把持会话,Timeout暗示超时设定,单元为毫秒。
State属性:前往TCP毗连形态。
Connect办法:创建一个毗连,格局为:
Object.ConnectRemoteName[,RemotePort][,LocalName][,LocalPort]。个中RemoteName为要毗连的UNIX主机的名字或IP地点。RemotePort为要毗连的UNIX主机的端标语,缺省为23,是尺度的telnet端口。LocalName和LocalPort为当地主机名和端口,一样平常能够省略。
Close办法:封闭一个毗连,格局为Object.Close
Send办法:在毗连创建后,发送数据。格局为:
Object.SendData。Data为要发送给UNIX主机的数据。
Serach办法:承受UNIX主机前往的数据,并在数据流中寻觅指定的停止标记,了局包含到停止标记为止的一切前往数据。假如在Timeout划定的工夫内未失掉指定的停止标记,则发生超时毛病。格局为:Object.SearchData,Token。Data中保留前往了局,Token指定了却束标记字符串。
4编程实例
上面是一个复杂的TelnetToolActiveX控件的ASP编程实例。实行情况是:Windows2000Professional、IIS5.0、SCOOpenServer5.0.2和TelnetToolActiveX控件。TelnetToolActiveX控件能够在www.dart.com下载30天试用版,只必要安装在WEB服务器上。
程序其实不庞大,登录到一个SCOUNIX体系后,实行了2条命令,命令的了局显现在扫瞄器页面上。
HTML
HEADTITLEPowerTCPTelnetToolDemoPage/TITLE/HEAD
BODY
*******************************************************************
Program:PowerTCPTelnetToolDemo
Author:Yin
Date:07/16/2001
Purpose:TodemonstratehowtologinintoaSCOUNIXserver.
********************************************************************}
<P> SubDoLogin()
Session(RESULT)=
OnErrorResumeNext
CreateaTelnetcontrol
DimTelnet1
SetTelnet1=Server.CreateObject(Dart.Telnet.1)
Usea10secondtimeout
Telnet1.Timeout=10000
Specifiesterminaltype
Telnet1.TermType=ansi
AddResultConnectingto+txtHost+...+vbCrLf
Connecttothehostonport23
Telnet1.ConnecttxtHost,23
Dimastringtobeusedbythesearchmethod
DimData
Data=
Searchforloginprompt
Telnet1.SearchData,txtLoginPrompt
AddResultData
Sendusername
Telnet1.SendtxtUser+vbCrLf
Searchforpasswordprompt
Telnet1.SearchData,txtPassPrompt
AddResultData
Sendpassword
Telnet1.SendtxtPass+vbCrLf+vbCrLf
Searchforcommandprompt
Telnet1.SearchData,txtCommandPrompt
AddResultData
Sendcommand
Telnet1.Sendps+vbCrLf
Searchforcommandprompt
Telnet1.SearchData,txtCommandPrompt
AddResultData
Sendcommand
Telnet1.Sendnetstat-rn+vbCrLf
Searchforcommandprompt
Telnet1.SearchData,txtCommandPrompt
AddResultData
Closetheconnection
Telnet1.Close
IfErr.number=0then
AddResultvbCrLf+Disconnecting...SUCCESS!
Else
Displayinfoabouttheerror
AddResultvbcrlf+ERROR#+CStr(Err.number)+:+Err.Description
Endif
Response.WriteSession(RESULT)
EndSub
PrivateSubAddResult(s)
Session(RESULT)=Session(RESULT)+ReadyForHtml(s)
EndSub
SubstituteescapecodesforsomeoftheHTMLreservedcharacters
FunctionReadyForHtml(Data)
OnErrorResumeNext
ReadyForHtml=Data
ReadyForHtml=Replace(ReadyForHtml,,gt;)
ReadyForHtml=Replace(ReadyForHtml,,lt;)
ReadyForHtml=Replace(ReadyForHtml,,nbsp;)
ReadyForHtml=Replace(ReadyForHtml,vbCrLf,brnbsp;)
ReadyForHtml=Replace(ReadyForHtml,vbCrLf,br)
EndFunction
DimtxtHost
DimtxtLoginPrompt
DimtxtUser
DimtxtPassPrompt
DimtxtPass
DimtxtCommandPrompt
txtHost=192.0.1.6
txtLoginPrompt=login:
txtUser=root
txtPassPrompt=Password
txtPass=hp123
txtCommandPrompt=#
DoLogin() 5小结
经由过程利用TelnetToolActiveX控件,我们能够在ASP程序中登录到UNIX体系上,轻松地完成良多命令行操纵。相似的,我们也能够完成经由过程扫瞄器检察CISCO路由器、互换机中的收集设置和运转形态。
企业的防火墙设置一样平常来讲应当克制从内部网间接远程登录到外部的UNIX主机上,可是我们能够经由过程在扫瞄器上复杂的点击选择特定的操纵,由WEBServer真个ASP程序登录到UNIX主机上完成指定操纵,在便利办理的同时增添了体系的平安性。
固然,我们在ASP编程中应当随时思索到平安性成绩,特别是要制止失慎酿成的ASP源代码和UNIX口令的保守。
asp是基于web的一种编程技术,可以说是cgi的一种。它可以完成以往cgi程序的所有功能,如计数器、留言簿、公告板、聊天室等等。 |
|