扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:论坛整理 来源:ZDNet网络安全 2007年12月19日
关键字: telnet命令 opentelnet linux telnet telnet入侵 telnet telnet端口
连接建好后,PC机与服务器用TELNET协议命令建立协调机制。命令共有15条,每条命令前都要加上字符IAC(255),指出紧跟着的字符是命令。代码250和代码240用作命令的分界符,其余命令可分为两类。(一)基本命令:由代码241-249代表,它们执行TELNET的基本功能;(二)磋商选择命令:由代码251-254表示,这类命令主要实现两进程间磋商各种可选扩充功能。命令列表(1),详细解释,请查阅有关资料。
二、 实现VT100终端类型的虚拟
(一)、在有关窗体上加入一个TEXT控件,设为Text1,在Text1.KeyPress事件中,获得PC机的键盘输入,然后把相应键值变更为VT100终端键盘所对应的键值,把该值用Winsock控件的SendData方法发送给服务器,并禁止向TEXT控件的输出。
(二)、服务器接收键值后,作出相应的处理,并把输出的内容发送给对应的客户端,我们在Winsock控件的DataArrival事件中调用Winsock控件的GetData方法,来获得服务器发来的数据。
(三)、我们获得的从服务器发来的数据中,包含终端的控制指令。必须把控制指令分离出来,并做相应处理,同时把显示数据送到显示界面的指定位置。有关VT100终端指令的详细说明,请查阅有关技术手册,这里以光标定位指令ESC[Pr;Pc H举例说明。该指令的解释为:把显示界面的光标移动到第Pr行,第Pc列,Pr、Pc均为10进制数字,Pr值在1-24中,Pc值在1-80中。我们可把显示界面看做24X80的矩阵,每一个矩阵点上是一个字符,假设Pr=10,Pc=30,那么对该指令的执行结果,就是把对应光标位置的指针移到显示界面的显存偏移(10-1)*80+30的地方。具体实现过程如下:
‘***接收键盘输入、与服务器连接并向服务器发送***
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim ch as String
‘判断网络连接是否处于正常状态
If Winsock1.State <>0 And Winsock1.State <>7 Then
ch = MsgBox("网络异常,请重新连接!")
KeyAscii = 0 ‘封锁键盘输入
Exit Sub ‘退出本事件
End If
If Winsock1.State = 0 Then ‘网络处于断开状态
IPADDR=Winsock1.RemoteHost
Winsock1.Connect IPAddR, 23 ‘与服务器连接
Else
Winsock1.SendData StrConv(Chr(KeyAscii), 8) ‘向服务器发送键盘输入
End If
KeyAscii = 0 ‘禁止向Text控件送键值
End Sub
‘***接收服务器向客户端发送的数据***
Private Sub newRecdata(CHRR As Variant) ‘虚拟终端处理函数
......
Print_ComX CHRR ‘调用打印指令处理函数
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。