实验八  Telnet协议
实验目的
1  理解 Telnet 协议的工作原理;
2  了解 Telnet 协议的常用命令;
3  了解应用层协议与传输层协议的关系。
实验内容
1  学习 Telnet 协议的工作过程;
2  学习 Telnet 的使用方法;
3  了解 Telnet 命令.
实验环境
其中一台作为Telnet客户端,另外一台主机作为Telnet服务器
实验流程
实验原理
Telnet 是传输控制协议/因特网协议(TCPIP)网络(例如 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的常用命令:
tcp和ip协议的含义
SE
240(F0)
子选项结束
SB
250(FA)
子选项开始
IAC
255(FF)
选项协商的第一个字节
WILL
251(FB)
  发送方激活选项(接收方同意激活选项)
DO
  253(FD)
接收方同意(发送方想让接收方激活选项)
WONT
252(FC)
接收方不同意
DONT
254(FE)
接受方回应WONT
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规则规定,对于激活选项请求(如12),有权同意或者不同意。而对于使选项失效请求(如34),必须同意。这样,4种请求就会组合出6种情况.选项协商需要3个字节:一个IAC字节,接着一个字节是WILL,DO,WONTDONT这四者之一,最后一个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 命令的报文可填入 FF FB 01
FF FB 03
最终的编辑结果如图所示:
3、 点击工具栏上的“发送”按钮,将编辑好的 Telnet 数据报文发送,可设置循环发送。
4、 在主机 A 上运行网络协议分析仪,捕获数据,捕获结果如图 所示,其中可以清晰地看到,这个 TCP 报文的标志位是 SYN,里面携带的是 Telnet 报文,具体的 Telnet 命令是 Will
思考问题
通过实验说明你的TELNET帐户密码在网络上传输是安全的吗?

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。