telnet协议规范.docx

上传人:b****4 文档编号:4240030 上传时间:2022-11-28 格式:DOCX 页数:10 大小:23.60KB
下载 相关 举报
telnet协议规范.docx_第1页
第1页 / 共10页
telnet协议规范.docx_第2页
第2页 / 共10页
telnet协议规范.docx_第3页
第3页 / 共10页
telnet协议规范.docx_第4页
第4页 / 共10页
telnet协议规范.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

telnet协议规范.docx

《telnet协议规范.docx》由会员分享,可在线阅读,更多相关《telnet协议规范.docx(10页珍藏版)》请在冰豆网上搜索。

telnet协议规范.docx

telnet协议规范

竭诚为您提供优质文档/双击可除

telnet协议规范

  篇一:

telnet协议的使用

  telnet协议的简单使用

  在现实生活中人们并不是跑到路由器或者交换机旁边对路由器和交换机进行控制,使用比较多的方式就是远程telnet,这样不管管理员在那里,只要那台设备可以访问网络,那么我们就可以对他进行管理。

  telnet这个协议使用起来比较简单,命令也很简单。

只是在telnet之前要保证你登陆的那个地址的连通性就可以了,当然还成功的登陆上去还必须通过一验证才行。

  根据图上的信息我们简单来演示一下如很实习telnet远程登陆。

  R1上的配置

  r1(config)#

  r1(config)#interfaceethernet0

  r1(config-if)#noshutdown

  r1(config-if)#ipaddress12.12.12.1255.255.255.0

  r1(config-if)#

  R2上的配置

  R2(config)#

  r2(config)#interfaceethernet0

  r2(config-if)#noshutdown

  r2(config-if)#ipaddress12.12.12.2255.255.255.0

  r2(config-if)#

  这里都是给接口配置ip地址。

配置完成以后我们要测试下链路是不是能够ping通,这里我就不测试了。

  这个时候我们假设R1想远程登陆R2上,我们看看是否能够登陆上去。

r1#telnet12.12.12.2

  trying12.12.12.2...open/

  passwordrequired,butnoneset

  [connectionto12.12.12.2closedbyforeignhost]

  r1#

  通过黑体信息我们可以看到是可以登陆上去了,但是被登陆上去以后被拒绝了。

我们可以看下提示信息说是密码没有设置,这个时候我们就考虑一下是什么密码没有被设置。

我们可以想到telnet的时候需要使用到Vty线路,是不是我们Vty线路上的密码没有设置了。

这个时候我们去R2上把Vty线路的密码设置一下。

看看是不是这个原因造成的。

  R2上给Vty线路设置密码

  r2(config)#linevty

  Firstlinenumber

  r2(config)#linevty0197

  r2(config-line)#password123

  r2(config-line)#exi

  r2(config)#

  给Vty线路设置密码的时候注意问下看看有多少个Vty线路,每台设备上的Vty线路可能都不一样。

好了这个时候Vty线路的密码设置了。

我们在来看看能否登陆上去。

  r1#telnet12.12.12.2

  trying12.12.12.2...open

  useraccessVerification

  password:

  看到了这个时候提示我们要密码,着就证明了刚才是没有设置Vty线路上的密码。

然后我们输入密码进去。

  password:

  r2>enable

  %nopasswordset

  r2>

  这个时候又是一个密码没有设置这个密码我很明显就应该想到当我们在R2上从用户进入到特权的时候提示密码没设置。

所以这个密码肯定是R2上的特权密码。

我们到R2上把特权密码设置上去。

  r2(config)#enablepassword456

  这个时候我们在去R1上看看

  r2>enable

  password:

  r2#

  当这个密码输入以后我们就可以完全对R2进行控制了。

  这里为什么会找我们要密码了,是因为默认认证这个开启的例如我们把Vty上的认证功能给关掉。

我们看看当我们在一次登陆的时候会不会需要密码。

  r2#confterminal

  enterconfigurationcommands,oneperline.endwithcntl/z.

  r2(config)#linevty04

  r2(config-line)#nologin

  r2(config-line)#

  这个时候在去R1上重新登陆看看

  r1#telnet12.12.12.2

  trying12.12.12.2...open

  r2>

  看到了这个时候就不需要密码了,还有在对Vty线路进行配置的时候需要注意一下,每一个telnet会占用一根Vty线路。

Vty线路是对telnet进行管理的。

  篇二:

telnet加密

  支持加密。

  telnet是远程登陆的标准协议和主要方式,它为用户提供了在本地计算机完成远程主机工作的能力。

默认情况下telnet不支持加密,但是倘若telnet数据流需要机密服务时可以进行配置。

  对于远程登录密码的加密可以使用第三方软件。

  具体的配置可以参考:

  1.命令名称和编码

  encRypt38

  加密命令

  is0

  suppoRt1

  Reply2

  staRt3

  end4

  Request-staRt5

  Request-end6

  enc_keyid7

  dec_keyid8

  加密类型

  null0

  des_cFb641

  des_oFb642

  des3_cFb643

  des3_oFb644

  cast5_40_cFb648

  cast5_40_oFb649

  cast128_cFb6410

  cast128_oFb6411

  根据以前的实践,今后的加密类型号将由iana机构按照RFc2434中描述的先来先服务策略进行分配。

尽管认证类型号分配的空间已经超出8位空间(并且telnet规范中多数值都超过了8位空间),但它并不被认为已经或将要处于被耗尽的处境。

并且,如果这将成为一个问题,当超过50%以上的空间被分配后,iana将把分配请求提交至iesg或一个指定的专家以得到批准。

  2.命令的含义

  iacwillencRypt

  此命令的发送者同意发送已经加密的数据。

  iacwontencRypt

  此命令的发送者拒绝发送已加密的数据。

  iacdoencRypt

  此命令的发送者同意接收已加密的数据。

  iacdontencRypt

  此命令的发送者拒绝接收已加密的数据。

  iacsbencRyptsuppoRtencryption-type-listiacse

  此命令指出发送者支持何种加密类型。

仅当连接的一方为doencRypt时才可能发送suppoRt命令。

目前的加密类型theassignednumbersdocument【1】的当前版本中有详细说明。

  加密类型列表中仅包括在当前会话中所实际支持的类型。

如果encRypt带有auth选项,在此次会话键确定之前,绝对不能发送suppoRt信息。

否则,将无法确定所选择的加密类型能否根据有效键的类型和长度进行正确初始化。

iacsbencRyptisencryption-type...iacse

  此命令指出命令的发送者将使用何种加密类型及所有需要的初始化数据。

仅当连接方处于willencRypt时才能发送is命令来初始化该加密类型的配置方案。

iacsbencRyptReplyencryption-type...iacse

  此命令为初始化加密类型方案配置进一步进行初始化数据的交换。

仅当连接方处于doencRypt时才能发送Reply命令。

  iacsbencRyptstaRtkeyidiacse

  此命令指出数据流中此命令后的所有数据将通过事先协商好的数据加密方法进行加密。

仅当连接方处于willencRypt时才能发送staRt命令。

  keyid是一个可变长字段。

当连接的某一端被告知多个密钥时,加密机制使用keyid来标识具体使用哪一个密钥。

keyid字段作为最重要的一项进行编码,并且值0d被保留作为出缺省的密钥(一般地,密钥是在带有authentication选项时的认证阶段派生出来的)。

keyid字段最少为一个字节长。

"keyid"的所有有效值仅为那些由dec_keyi  

d命令收到的值。

  iacsbencRyptendiacse

  此命令指出数据流中此命令后的所有数据将不进行加密。

仅当连接方处于willencRypt时才能发送end命令。

  iacsbencRyptRequest-staRtkeyidiacse

  此命令请求远端开始对telnet数据流进行加密。

仅当连接方为doencRypt时才能发送Request-staRt命令。

keyid为可选项{advisory},可以省略。

iacsbencRyptRequest-endiacse

  此命令请求远端停止对telnet数据流进行加密。

仅当连接方为doencRypt时才能发送Request-end命令。

  iacsbencRyptenc_keyidkeyidiacse

  此命令请求远端对"keyid"是否映射到一个有效密钥进行校验,或对由

  dec_keyid命令接收的"keyid"是否有效进行校验。

如果keyid被省略,说明不知道其它可用的keyid,试图找到一个通用keyid的作法将会失败。

仅当连接方willencRypt时才能发送enc_keyid命令。

  iacsbencRyptdec_keyidkeyidiacse

  此命令请求远端对keyid是否映射到远端的一个有效密钥进行校验,或对由enc_keyid命令收到的"keyid"是否正确进行校验。

如果keyid被省略,说明不

  知道其它可用的keyid,试图找到一个通用keyid的作法将会失败。

仅当连接方doencRypt时才能发送enc_keyid命令。

  3.缺省配置

  本选项的缺省配置是

  wontencRypt

  dontencRypt

  即对telnet数据流不作任何加密。

  篇三:

Ftp协议规范

  文件传输协议(Filetransferprotocol,Ftp)

  1.介绍

  Ftp的目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。

虽然我们也可以手工使用它,但是它的主要作用是供程序使用的。

在阅读本文之前最好能够阅读tcp协议标准规范和telnet协议标准规范。

  2.概览

  在本节中我们将讨论一些表面上的问题,有些名词的定义请参阅tcp和telnet参考文献。

我们先介绍一下

  

(1)字节大小,在Ftp中字节大小有两个:

逻辑字节大小和用于传输的字节大小。

后者通常是8位,而前者可不一定是多少了。

传输字节不必等于逻辑字节大小,也不必对数据结构进行解释。

  

(2)控制连接是建立在useR-pit和seRVeR-pi之间用于交换命令与应答的通信链路。

  (3)数据连接是传输数据的全双工连接。

传输数据可以发生在服务器dtp和用户dtp之间也可以发生在两个服务器dtp之间。

  (4)dtp:

数据传输过程(dtp)建立和管理数据连接,dtp可以是主动的也可以是被动的。

(5)eoR代表记录尾。

  (6)ntV代表网络虚拟终端,它的定义与在telnet协议中的定义一致。

  (7)nVFs代表网络虚拟文件系统。

  (8)Ftp可以传输非连续的文件,这些文件的一部分称为页。

  (9)pi代表协议解释器。

  (10)服务器dtp代表一种传输过程,它通常处于“主动”状态,它和侦听端口建立数据连接,它还可以为传输和存储设置参数,并根据pi的指令传输数据。

当然,dtp也可以转入“被动”状态。

  (11)服务器Ftp进程,它是和用户Ftp进程一起工作的,它由pi和dtp组成。

至于用户Ftp进程则是由pi,dtp和用户接口组成的。

下图是Ftp服务示意图:

  注意:

数据连接是双向的,它不用整个时间都存在。

上图中用户pi开始控制连接,控制连接与telnet协议很象。

在开始阶段,标准Ftp命令由用户pi产生并通过控制连接传送到服务器进程。

服务器pi向用户pi返回标准应答。

Ftp命令指定数据连接参数和文件系统操作。

用户dtp在特定数据端口侦听,服务器开始数据连接并以指定的参数开始数据传输。

数据端口不必在开始Ftp命令的机器上,但用户或用户Ftp进程必须确定它在指定的数据端口上侦听。

这个数据连接是全双工的。

  在另外一种情况下,用户或许希望在两个主机间传送文件,不是两个本地主机。

用户在两台主机间建立控制连接,然后规划数据连接。

用这种方式,控制信息由用户pi获得,但是数据在服务器dtp之间传送。

下面就是一个例子:

  协议要求数据传输在处理时打开控制连接。

在完成Ftp服务后由用户中止控制连接,而服务器具体操作。

如果在未接收命令时关闭了控制连接,服务器也会关闭数据传输。

Ftp和

  telnet很有联系,Ftp使用telnet协议进行控制连接,可有两种方法达到目的:

用户pi或服务器pi可以在自己的过程中实现telnet协议的功能;第二种方法是利用系统中现有的telnet模块。

实现上,Ftp对telnet协议的依赖也不多,即使重新实现,代码量也不大。

  3.数据传输功能

  数据连接只传输数据,控制连接传送命令和响应。

几个命令是关于在主机间传输数据的,数据传输基本上独立于物理结构的,但是如果在压缩传输模式下流式传输与文件结构有关,文件的属性与表示类型有关。

  3.1.数据表示与保存

  数据是在主机间的存储设置间传送的。

因为两个系统的数据存储方式不同,因此需要对它进行转换,在传送文本时会有对ascii表示的问题,在进行二进制传送的时候,会有不同系统

  对字节长度规定不同的问题,有的系统是7位,有的系统可能是32位,这也需要进行转换。

需要提供数据表示与传输模型函数,但是Ftp提供这方面的功能不多,超过Ftp提供功能的那一部分要用户自己实现。

  3.1.1.数据类型

  数据表示是由用户指定的表示类型,它可以是隐含的,也可以是用户指定的。

请一定注意:

逻辑字节长度与物理字节长度是不同的。

  3.1.1.1.ascii类型

  这是所有Ftp必须实现的默认类型,用于传送文本文件,当在主机间使用ebcdic传送时更方便,则不使用ascii类型。

发送方将内部表示转换为nVt-ascii格式,接收方则进行相反的过程接收数据。

根据nVt标准,要在行结束处使用序列。

nVt-ascii是8位的。

ascii和ebcdic的格式参数在下面讨论。

  3.1.1.2.ebcdic类型

  它是作为ascii的另一种方法在主机间传送数据的数据类型。

ebcdic和ascii很象,仅在类型的功能描述上有一些差别。

行结束符使用很少。

  3.1.1.3.图象类型

  在此类型下传送的数据被看作连续的位,发送方将数据打包到8位传输字节中传送。

因为结构的需要要对传送数据进行填充,填充字节全部为0,填充必须在文件结构时使用,而且要标记出以便接收方过滤掉。

它用于传送二进制数据和有效地传送和存储文件,因此所有Ftp也必须实现。

  3.1.1.4.本地类型

  也可以以十进制指定逻辑字节大小。

如果物理字节大小和逻辑字节大小不同,直接将物理数据打包为逻辑字节,不用什么填充。

接收方根据逻辑字节大小进行和本机的存储特点进行转换。

传输必须是可重复的,也就是说,相同的文件相同的参数,那内容必须是一样的。

  3.1.1.5.格式控制

  ascii和ebcdic有一个可选参数,它说明文件垂直格式控制,下面的数据表示类型在Ftp中有定义。

字符文件可能有三种用途,打印,存储或留待以后处理。

如果是用于打印,那主机必须知道垂直格式控制的表示,如果存储或等以后处理,也需要保留文件格式。

如果在远程主机上处理完后传输回本地主机,要保证远程主机处理时没有麻烦。

这都需要在ascii和ebcdic格式上加入新的参数。

  3.1.1.5.1.nonpRint

  未指定第二个参数是它是默认值。

它必须为所有Ftp接受。

如果传输的文件是用于打印的,则使用边界和间隔的默认值。

通常它不用于打印目的,而用于保存文件或执行文件。

  3.1.1.5.2.telnet格式控制

  文件包括ascii/ebcdic垂直格式控制,这些控制字符可以使打印正常进行。

  3.1.1.5.3.caRRiagecontRol(asa)

  文件包含asa(FoRtRan)垂直格式控制字符。

在以asa标准形成的行中,第一个字符不打印,它用于决定打印前的走纸量。

下面是定义了的asa字符:

  blank:

向下移动1行;0:

向下移动2行;1:

移动至下一页;+:

不移动

  打印机必须能够决定结构体的结束。

如果文件本身有记录结构就没有问题,如果没有,用于区别打印行,但这些格式标记已经由asa控制字符使用了。

  3.1.2.数据结构

  除了有不同的数据类型外,Ftp还允许有不同的文件结构,下面是三种文件结构:

文件式结构:

文件中没有内部结构,文件被看作是二进制流;记录结构:

文件是由一系列记录组成的;页结构:

文件是由不同的索引页组成的。

  如果未使用stRu命令,文件结构是默认值。

文件的结构会影响传输模型,存储和数据表示。

文件本来的属性和保存它的主机有关,不同的机器会以自己的方式保存文件。

在不同主

  机间传送文件时必须使主机能够识别相互的表示。

有些主机上的文件是面向字节的,有些是面向记录的,在传送时就会出现问题。

那就要在接收方进行内部转换。

在进行转换的时候,需要区别记录的边界,在ascii中使用,在ebcdic中使用作为分隔符。

采用这种实现方法的必须保证转换是可逆的。

  3.1.2.1.文件结构

  如果未使用stRu命令,文件结构是默认值。

文件结构中没有默认值,文件被看作是连续的字节串。

  3.1.2.2.记录结构

  对于文本文件,记录结构必须是所有Ftp实现必须有的。

记录结构文件是由连续的记录构成的。

  3.1.2.3.页结构

  文件是非连续时使用页结构。

这种文件称为随机访问文件。

这些文件中有时会的和文件整体或部分相关的信息出现。

在Ftp中,文件的一个部分称为页。

为了提供不同的页大小和相关信息,每页都带页头发送。

页头中有如下域:

  头长度

  包括此字节的页头长度,单位为字节,最小长度为4

  页索引

  指出此部分在原文件中的位置,它和传输编号不是一回事

  数据长度

  页数据中的逻辑字节数,最小值为0

  页类型

  页的类型有以下几种:

0=未页,指示传输结构,包头必须为4,数据长度必须为0;1=通常页,没有控制信息的通常页文件的普通类型;2=描述子页,用于传送整体文件的描述信息;3=访问控制页,包括页级访问控制信息的页文件头域,包头长度必须为5

  可选域

  提供每页的控制信息

  所有域均以1个逻辑字节长度为大小,逻辑字节长度由type命令指定。

如果读取版本与和开始版本号一致,文件访问时必须以相同的参数进行。

如果参数相同,Ftp实现要保证取得的文件内容是相同的。

  3.2.建立数据连接

  传送数据机制包括建立连接选择数据参数。

用户和服务器dtp有默认数据端口。

用户进程默认数据端口和控制连接端口相同。

服务器进程默认数据端口和控制连接端口相邻。

传输字节大小是8位字节。

此字节是实际传输字节,但不代表主机内的数据表示。

被动数据传输进程在数据端口接收数据,Ftp请求命令决定数据传输的方向。

服务器在接收到请求以后,将初始化端口的数据连接。

当连接建立后,传输在dtp之间传送,服务器pi对用户pi返回应答。

Ftp实现运行一个默认数据端口,用户pi才能改变默认端口。

  通过poRt命令可能改变端口,用户可能希望数据在第三方主机上进行其它操作,用户pi需要在两个服务器pi上建立连接。

一个服务器被告知侦听另一服务器的请求。

用户pi通过poRt命令通知另一服务器的数据端口。

最后双方发送相应的传送命令。

通常,服务器负责支持数据连接,初始化并关闭它,除非用户dtp在传输模式下要求关闭连接。

服务器在下面情况下关闭数据连接:

  1.服务器结束发送数据,通过eoF要求中止传送;

  2.用户发送aboRt命令;

  3.用户改变端口;

  4.控制连接关闭;

  5.发生不可恢复错误。

  3.3.数据连接管理

  默认数据连接端口:

所有Ftp必须支持默认数据连接,只有用户pi能够初始化非默认端口的使用。

  确定非默认数据端口:

用户pi可以使用poRt命令指定非默认端口,它要求服务器方以pasV确定非默认数据端口。

连接是由双方地址确定的,因此改变一方地址就改变了连接。

数据连接的重用:

在使用流式数据传输模型时,文件结束通过关闭连接指示。

如果要传送多个文件时就会出麻烦,解决的方法有两个,一个是确定非默认端口,另一个是使用另一种传输模式。

就传输模式而言,流传输模式是不安全的,因此无法确定连接是暂时还是永久关闭。

其它传输模式不通过关闭连接表示文件结构,它们可以通过Ftp命令决定传送结构。

因此使用这些传输模式可以在保持连接的情况下传送多个文件。

  3.4.传输模式

  有三种传输模式:

一种将数据格式化并考虑重新开始过程;一种压缩数据;一种是不经过处理(少量处理)传送。

所有数据传输必须以一个eoF结束,它可以显式给出,也可以通过关闭连接隐式给出。

对于记录文件,所有eoR是显式的,包括最后一个记录。

对于以页结构传送的文件,使用“最后一页”表示结束。

从这里开始,下文中我们提到的字节指的是“传输字节”。

  为了进行标准化传送,传送主机必须把行结束或记录结束的内部表示转化为传输模式和文件结构指定的形式传送,接收方则进行相反的工作。

ibm大型机的记录计数域可能不能为其它主机识别,所以记录结束标记在流模式下以双字节控制码传送,在块或压缩模式下以标记位传送。

而ascii或ebcdic的行结束则则或指示。

这样的转换需要时间,所以相同的系统在传送文本文件时采用二进制或流表示比较合适。

下面是Ftp定义的传输模式:

  3.4.1.流模式

  数据以字节流的形式传送。

使用的表示类型没有限制,允许记录结构。

在记录结构文件eoR和eoF表示为双字节控制码。

第一字节全为0,后一字节为转义字符。

当第二位值为1时表示eoR,为2时表示eoF,如果要同时表示eoR和eoF,值为3。

全1字节作为数据发送时必须使用双字节传送,其中数据保存在第二个字节内。

如果是文件结构,通过发送方关闭连接表示eoF,接收到的所有数据就是文件内容。

  3.4.2.块模式

  文件以块形式传送,块带有自己的头部分。

头字节包括计数域和描述子代码。

计数域说明了数据块的字节数,描述子代码定义了以下内容:

eoF,eoR重新开始标记或怀疑错误数据。

怀疑错误数据不是为了进行差错控制,它是为了站点间交换特定数据,传送时不管本地错误(如硬盘错误)而只管传送,但是传送时可要指出,这个数据可能有错。

在此模式下可以使用记录结构,也可以使用相应的数据表示。

头字节的结构如下图所示:

  描述子8位

  字节计数16位

  描述子代码由在描述子字节中的位标记说明,下面是已经指定的四种代码及其意义:

代码

  意义

  128

  数据块结束是eoR

  64

  数据块结束是eoF

  32

  数据块内有怀疑错误

  16

  数据块是重新开始标记

  以这种编码,对于特定块可能存在多个描述子编码条件,所需要的位必须全部设置。

重新开始标记包括在数据流中,它作为8位整数代表在控制连接上使用语言的可打印

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1