认证培训,h3c认证体系,网络工程师
丰沃创新

Telnet协议实验(网络工程师)

  • 发布时间: 2018-10-22 11:13:50

一、实验目的

1、 理解 Telnet 协议的工作原理;

2、 了解 Telnet 协议的常用命令;

3、 了解应用层协议与传输层协议的关系。

二、实验内容

1、 学习 Telnet 协议的工作过程;

2、 学习 Telnet 的使用方法;

3、 了解 Telnet 命令. 

三、实验环境

其中一台作为Telnet 客户端 , 另外一台主机作为Telnet 服务器

四、实验流程

五、实验原理

Telnet 是传输控制协议/因特网协议 (TCP/IP) 网络 (例如Internet) 的登录和仿真程序。它最初是由 ARPANET 开发的,但是现在它主要用于 Internet 会话。它的基本功能是, 允许用户登录进入远程主机系统。起初,它只是让用户的本地计算机与远程计算机连接,从而成为远程主机的一个终端。 它的一些较新的版本在本地执行更多的处理,于是可以提供更好的响应, 并且减少了通过链路发送到远程主机的信息数量。

1、 基本内容

Telnet 协议是 TCP/IP 协议族中的一员,是 Internet 远程登陆服务的标准协议。应用 Telnet 协议能够把本地用户所使用的计算

机变成远程主机系统的一个终端。它提供了三种基本服务:

1) Telnet 定义一个网络虚拟终端为远的系统提供一个标准接口。客户机程序不必详细了解远的系统, 他们只需构造使用标准接口的程序;

2) Telnet 包括一个允许客户机和服务器协商选项的机制,而且它还提供一组标准选项;

3) Telnet 对称处理连接的两端, 即 Telnet 不强迫客户机从键盘输入,也不强迫客户机在屏幕上显示输出。

2、远程登录的工作过程

使用 Telnet 协议进行远程登陆时需要满足以下条件: 在本的计算机上必须装有包含 Telnet 协议的客户程序; 必须知道远程主机的Ip 地址或域名;必须知道登录标识与口令。

Telnet 远程登录服务分为以下 4 个过程:

1) 本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的Ip地址或域名;

2) 将本地终端上 输入的 用户名和 口令及以后输入的任何命令或字符以 NVT(Net Virtual Terminal) 格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个 IP 数据报;

3) 将远程主机输出的 NVT 格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果;

4) 最后,本地终端对远程主机进行撤消连接。该过程是撤销一个 TCP 连接。

3、Telnet 选项协商 : 

Telnet 基于TCP传输协议,运行在应用层 . 提供了客户至服务器的终端交互功能 .Telnet 使用一条TCP连接,不像 FTP,使用 TCP两个连接 . TELNET服务器端使用的 PORT号为 23. 双方在进行 Telnet连接时,要进行选项协商 . 比如:使用字符方式 窗口的大小,终端的类型都要进行协商 . 而协商是通过 TELNET所支持的命令来实现的。

TELNET的常用命令:

TELNET的常用选项代码:

1(0x01) 回显 (echo) 

3(0x03) 抑制继续进行 ( 传送一次一个字符方式可以选择这个选项) 

24(0x18) 终端类型

31(0x1F) 窗口大小

32(0x20) 终端速率

33(0x21) 远程流量控制

34(0x22) 行方式

36(0x24) 环境变量

虽然我们可以认为 Telnet 连接的双方都是 NVT,但是实际上 Telnet连接双方首先进行交互的信息是选项协商数据。选项协商是对称的,也就是说任何一方都可以主动发送选项协商请求给对方。

对于任何给定的选项, 连接的任何一方都可以发送下面 4 种请求的任意一个请求。

1)WILL:发送方本身将激活 (enable) 选项。

2)DO:发送方想叫接收端激活选项。

3)WONT:发送方本身想禁止选项。

4)DON’T:发送方想让接收端去禁止选项

由于 Telnet 规则规定,对于激活选项请求(如 1 和 2),有权同意或者不同意。而对于使选项失效请求(如3和4),必须同意。这样,4 种请求就会组合出 6 种情况 . 选项协商需要 3 个字节:一个 IAC字节,接着一个字节是 WILL,DO,WONT和 DONT这四者之一, 最后一个ID 字节指明激活或禁止选项。

六 实验步骤

步骤一:在两个主机上分别安装 Telnet 服务 , 并打开服务 : 

控制面板 >程序和功能 >启动或关闭 windows 功能 >Telnet 服务器,Telnet 客户端 . 

我的电脑 >管理 >服务 >Telnet> 自动

步骤二:使用协议分析器端捕获数据, 从协议的角度分析该次 telnet 

操作的完整过程:

1) 在主机 A 启动网络协议分析仪进行数据捕获并设置过滤条件,在工具栏点击“过滤器”按钮,会弹出“设置 &过滤器”对话框,在“过滤器类型” 中选择“类型过滤器”,类型值中选择 “telnet 协议”,如图所示,点击“设置参数”按钮后“确定” 。

2) 在主机 A上运行界面 :telnet B 主机的IP 

3) 在协议分析仪端捕获数据,分析捕获到的数据报文,查找常用命令;一次 Telnet 会话过程中会使用到多个命令, 注意这些命令的使用方法

步骤三:编辑一个 Telnet 报文

1、在主机A上打开协议数据发生器,在工具栏上选择“添加”,会弹出“协议模版”对话框,选择“ TELNET协议模版”,建立一个Telnet 数据报文,如图所示。

2、 填写其中以太网帧头、 IP 首部、 TCP 首部和 TELNET 报文的内容:

填写以太网协议首部信息:

目的物理地址: 在地址本中选择主机 B 的 IP 地址,确认后选择地址本中主机 B 的MAC地址: 00-D0-F8-2C-00-10;

源物理地址:在地址本中选择主机 A,确认后自动填入主机 A 的 MAC 地址: 02-00-4C-4F-4F-50 ;

类型或长度:该字段应为 0800( 即 IP 协议的类型值 ) 。

填写 IP 协议头信息:

总长度字段:包括TCP段内容的总长度,20 IP+20 TCP+6 TELNET = 46;

高层协议字段:即上层协议类型为 6(TCP 协议的类型为 6) ;

发送 IP 地址:在地址本中选择主机 A 的 IP 地址,确认后自动填入主机 A 的 IP 地址;

目标IP地址:在地址本中选择主机B的IP地址,确认后自动填入主机B的IP地址

点击工具栏中的―校验和‖按钮计算 IP 头校验和。

填写TCP协议的各个字段信息:

16 位源端口号:任意大于 1024 的数;

16 位目的端口号: 23;

32 位序号:选择一个序号 ( 例如: 19425898);

32 位确认序号:设置为 0 ;

首部长度:首部长度设为 5 ,即长度为 20 字节;

标志位:标志位设为 2 ,即标志位 SYN=1;

窗口大小:任意,例如填入 32768;

紧急指针: 0;

校验和:点击工具栏中的―校验和‖按钮计算TCP校验和 ( 覆盖 TCP首部 ( 包含伪首部 ) 和 TCP 数据两部分,计算方法同 UDP 协议一样 ) 

填写 TELNET 协议报文的内容:

可填入Telnet 命令或者单字节的字母,例如构造一个传输Will命令的报文可填入FFFB 01 FF FB 03 。

最终的编辑结果如图所示 : 

3、 点击工具栏上的“发送”按钮,将编辑好的 Telnet 数据报文发送,可设置循环发送。

4、 在主机 A 上运行网络协议分析仪,捕获数据,捕获结果如图 所示,其中可以清晰地看到,这个 TCP 报文的标志位是 SYN,里面携带的是 Telnet 报文,具体的 Telnet 命令是 Will :