QQ在线服务: 风舞残阳风舞残阳 年满19岁年满19岁 小罗小罗 晴天晴天 心雨心雨 叮叮肉叮叮肉 小周小周 小童小童 小破孩小破孩 遥望当年遥望当年

用户导购指南

水货IBM笔记本电脑报价

行货IBM笔记本电脑报价

IBM服务器报价

IBM笔记本电脑配件报价

本周水货IBM笔记本电脑特价

IBM笔记本电脑驱动下载

水货IBM笔记本电脑验机流程

水货IBM笔记本电脑保修政策

IBM笔记本电脑FRU查询

IBM笔记本电脑常见问题

IBM笔记本电脑使用手册

笔记本电脑验机软件

论坛积分使用说明

水货IBM笔记本电脑异地购机流程

笔记本电脑购机经历及现场

贵宾申请入口

贵宾用户FTP入口

查看笔记本配置

水货APPLE苹果笔记本电脑报价

 
发新话题
打印

如何在ASP程序中使用Telnet协议

如何在ASP程序中使用Telnet协议

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
  *******************************************************************
  ProgramowerTCPTelnetToolDemo
  Author:Yin
  Date:07/16/2001
  Purpose:TodemonstratehowtologinintoaSCOUNIXserver.
  ********************************************************************}

  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口令的泄露。
(※本文搜集自:重庆未来科技 http://www.wlkj.net 重庆IBM笔记本电脑、重庆IBM水货笔记本电脑、重庆苹果笔记本电脑、重庆IBM服务器专卖)

TOP

发新话题