一、实验目的
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 :