Telnet协议概述

王朝other·作者佚名  2008-05-31
宽屏版  字体: |||超大  

Telnet协议可以工作在任何主机(例如,任何操作系统)或任何终端之间。RFC854[Postel和Reynolds1983a]定义了该协议的规范,其中还定义了一种通用字符终端叫做网络虚拟终端NVT(NetworkVirtualTerminal)。NVT是虚拟设备,连接的双方,即客户机和服务器,都必须把它们的物理终端和NVT进行相互转换。也就是说,不管客户进程终端是什么类型,操作系统必须把它转换为NVT格式。同时,不管服务器进程的终端是什么类型,操作系统必须能够把NVT格式转换为终端所能够支持的格式。

NVT是带有键盘和打印机的字符设备。用户击键产生的数据被发送到服务器进程,服务器进程回送的响应则输出到打印机上。默认情况下,用户击键产生的数据是发送到打印机上的,但是我们可以看到这个选项是可以改变的。

NVTASCII

术语NVTASCII代表7比特的ASCII字符集,网间网协议族都使用NVTASCII。每个7比特的字符都以8比特格式发送,最高位比特为0。行结束符以两个字符CR(回车)和紧接着的LF(换行)这样的序列表示。以\r\n来表示。单独的一个CR也是以两个字符序列来表示,它们是CR和紧接着的NUL(字节0),以\r\0表示。

Telnet命令

Telnet通信的两个方向都采用带内信令方式。字节0xff(十进制的255)叫做IAC(interpretascommand,意思是“作为命令来解释”)。该字节后面的一个字节才是命令字节。假如要发送数据255,就必须发送两个连续的字节255(在前面一节中我们讲到数据流是NVTASCII,它们都是7bit的格式,这就暗示着255这个数据字节不能在Telnet上传输。其实在Telnet中有一个二进制选项,在RFC856[Postel和Reynolds1983b]中有定义,关于这点我们没有讨论,该选项答应数据以8bit进行传输)。图26-8列出了所有的Telnet命令。由于这些命令中很多命令很少用到,所以对于一些重要的命令,假如在下面章节的例子或叙述中碰到,我们再做解释。

名称

代码(十进制)

E O F

2 3 6

文件结束符

S U S P

2 3 7

挂起当前进程(作业控制)

A B O RT

2 3 8

异常中止进程

E O R

2 3 9

记录结束符

S E

2 4 0

子选项结束

N O P

2 4 1

无操作

D M

2 4 2

数据标记

B R K

2 4 3

中断

I P

2 4 4

中断进程

A O

2 4 5

异常中止输出

AY T

2 4 6

对方是否还在运行?

E C

2 4 7

转义字符

E L

2 4 8

删除行

G A

2 4 9

继续进行

S B

2 5 0

子选项开始

W I L L

2 5 1

选项协商(图2 6 - 9)

W O N T

2 5 2

选项协商

D O

2 5 3

选项协商

D O N T

2 5 4

选项协商

I A C

2 5 5

数据字节2 5 5

当前一个字节是IAC(255)时的Telnet命令集

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有