Telnet协议
3)将远程主机输出的NVT格式的数据 转化为本地所接受的格式送回本地终端, 包括输入命令回显和命令执行结果;
4)最后,本地终端对远程主机进行撤 消连接。该过程是撤销一个TCP连接。
现在以登录到北大图书馆为例说明,如何使用Telnet 1.运行命令:“telnet 162.105.140.2” 或 “telnet ”
– 黑客为什么不喜欢使用同样基于远程访问,并且更加 方便直观的终端服务,而偏爱Telnet服务呢?难道因为 黑客就喜欢在黑乎乎的命令窗口中操作吗? – 因为使用Telnet服务进行远程控制更加隐蔽,对系统的 资源消耗也非常小,并且只需要一个命令即可开启和 关闭它。所以对于网络安全来讲Telnet服务是一个非常 危险的服务。
它的应用过程如下: 对于发送的数据:客户机 软件把来自用户终端的按键和命令序列转换为 NVT格式,并发送到服务器,服务器软件将收到 的数据和命令,从NVT格式转换为远地系统需要 的格式; 对于返回的数据:远地服务器将数据 从远地机器的格式转换为NVT格式,而本地客户 机将将接收到的NVT格式数据再转换为本地的格 式。
*如果数据中包含取值为255的字节,为了避免
将其后的字节错误地解释为命令,必须接连发送 两个取值为255的字节
例:cat file1误输入为cat filea后的修改。 输入:“c” “a” “t” “ ” “f” “i” “l” “e” “a” IAC EC “1”
命令 IAC(作为命令来解释) DON’T DO WON’T WILL SB(子协商开始) GA(继续) EL(删除当前行) EC(删除前一字符) AYT(你还在吗) AO(终止输出) IP(中断进程) BRK(中断)
Microsoft Windows从Vista开始,telnet用户端不再 是预先安装,而要手动从程式集里启动才可以使用。 在之前的版本,只要电脑启动了TCP/IP服务,telnet 用户端都同时可以使用。Telnet也是目前多数纯文字 式BBS所使用的协议,部分BBS尚提供SSH服务,以 保证安全的资讯传输。
强制命令
Telnet协议必须使用外带信令以便强制服务器读 取一个控制命令。我们知道TCP用紧急数据机 制实现外带数据信令,那么Telnet只要再附加一 个被称为数据标记(date mark)的保留八位组, 并通过让TCP发送已设置紧急数据比特的报文 段通知服务器便可以了,携带紧急数据的报文 段将绕过流量控制直接到达服务器。作为对紧 急信令的相应,服务器将读取并抛弃所有数据, 直到找到了一个数据标记。服务器在遇到了数 据标记后将返回正常的处理过程。
数据流向
将Telnet设计为应用级软件有一个缺点, 那就是:效率不高。 数据信息被用户从本地键盘键入并通过操作系统 传到客户机程序,客户机程序将其处理后返回操 作系统,并由操作系统经过网络传送到远地机器, 远地操作系统将所接收数据传给服务器程序,并 经服务器程序再次处理后返回到操作系统上的伪 终端入口点,最后,远地操作系统将数据传送到 用户正在运行的应用程序,这便是一次完整的输 入过程;输出将按照同一通路从服务器传送到客 户机。
Telnet协议是TCP/IP协议族中的一员, 它最初是由ARPANET开发的,但是现 在它主要用于Internet会话。它的基本 功能是,允许用户登录进入远程主机 系统。 Telnet的应用不仅方便了我们进行远程登录, 也给hacker们提供了又一种入侵手段和后门。
黑客的最爱
• 当终端服务这个基于图形界面访问的服务推出之 后,现在已经很少有人利用Telnet服务进行远程 访问和远程办公了。但是Telnet服务却摇身一变 成为了黑客的最爱。据统计,被黑客利用得最多 的一个系统服务,就是Telnet服务。
但现在Telnet已经越用越少了。主要有如下三方 面原因: 第一,个人计算机的性能越来越强,致使在别人 的计算机中运行程序要求逐渐减弱。 第二,Telnet服务器的安全性欠佳,因为它允许 他人访问其操作系统和文件。 第三,Telnet使用起来不是很容易,特别是对初 学者。
选项协商
Telnet选项的协商方式也很有意思,它对于每个选 项的处理都是对称的,即任何一端都可以发出协商申 请;任何一端都可以接受或拒绝这个申请。另外,如 果一端试图协商另一端不了解的选项,接受请求的一 端可简单的拒绝协商。因此,有可能将更新,更复杂 的Telnet客户机服务器版本与较老的,不太复杂的版 本进行交互操作。如果客户机和服务器都理解新的选 项,可能会对交互有所改善。否则,它们将一起转到 效率较低但可工作的方式下运行。所有的这些设计, 都是为了增强适应异构性,可见Telnet的适应异构性 对其的应用和发展是多么重要。
选项协商
选项协商需要3个字节:一个IAC字节,接 着一个字节是WILL,DO,WONT和DONT这 四者之一,最后一个字节指明激活或禁止 的选项代码。
IAC 命令码 选项码
命令码:WILL、DO、WONT、DONT 例如“WILL X”意思是“你是否同意我使用X选 项”,“DO X”意思是“我同意你使用X选项”, “DONT X”意思是“我不同意你使用X选项”。
DM(数据标记)
NOP(空操作) SE(子协商结束) EOR(记录结束) SUSP(暂停当前处理) EOF(文件结束)
242
241 240 239 237 236
SYNCH的数据部分
表示不对客户端或服务进行任何操作 表示某一选项的子协商命令序列结束 表示文件的最后一行已传输出去 表示客户端通知服务器挂起当前正在进行的操作 表示传文件中的数据已全部传输出去
2.登录成功后,在login后输入登录名:“PULROS”
3.完成前二步后,即可进入北大图书馆系统, 屏幕显示如下:
适应异构
为了使多个操作系统间的Telnet交互操作成为可 能,就必须详细了解异构计算机和操作系统。 为了适应异构环境,Telnet协议定义了数据和命 令在Internet上的传输方式,此定义被称作网络 虚拟终端NVT(Net Virtual Terminal)
实验:telnet telnet
Telnet采用Client/Server模式,在用户要登录的远程 系统上必须运行Telnet服务程序,在用户的本地计算 机上需要安装Telnet客户软件,Telnet的最基本的应 用是共享远程系统的资源,只要有访问权限,您就可 以该计算机上的相关资源,包括超级计算机,精密绘 图仪,高速打印机等硬件资源,也包括一些计算程序 等软件资源及大型数据库的信息资源。Telnet的第二 个应用是使用远程主机上提供的Internet信息服务工 具如Gopher,News,WWW,WAIS去访问其是一个用来代替Telnet的传统的远程登录程序 的工具,主要想解决口令在网上明文传输的问题
使用Telnet协议进行远程登陆时需要满足以下 条件: ☆在本地计算机上必须装有包含Telnet协议的 客户程序; · ☆必须知道远程主机的IP地址或域名; ☆必须知道登录标识与口令。
Telnet远程登录服务分为以下4个过程: 1)本地与远程主机建立连接。该过 程实际上是建立一个TCP连接,用户必须 知道远程主机的IP地址或域名; 2)将本地终端上输入的用户名和口 令及以后输入的任何命令或字符以NVT (Net Virtual Terminal)格式传送到远程 主机。该过程实际上是从本地主机向远程 主机发送一个IP数据包;
Telnet是 Telecommunication Network 的英文缩写,意为远程登录,是最主 要的Internet应用之一。远程登录可以 让您在一台入网的计算机的键盘上通 过网络与远程的一台计算机相连,如 同是那台计算机的终端一样。一旦连 接成功,远程计算机就可以为您提供 为本地提供的一切服务。
TELNET命令
TELNET命令格式如下:IAC <命令代码> 几乎全部Telnet命令都至少由2个字节组成: ☆第一个字节0xFF(十进制的255)称为IAC
(Interpret As Command,作为命令来解释),是一个 转义字符,表示该字符后面的字节才是命令代码
☆第二个字节包含了将要执行命令的代码
• NVT使用7位标准ASCII码来表示数据,每个7位 的字符都以8位(一个字节)的格式发送,最高 位固定为1 • 当用户从本地键入普通字符时,NVT将按其原始 含义传送 • 当用户键入组合键时,NVT将它转化为特殊的 ASCII字符在网络上传送 • NVT把两个字符的序列CR-LF定义为标准行结束 符
编码 255 254 253 252 251 250 249 248 247 246 245 244 243
描述 表示跟在该命令之后的数据应作为命令来解释 表示选项参数指定的启用选项的请求已被拒绝 表示选项参数指定的启用选项的请求已被接受 通知目标计算机,选项参数指定的启用选项的请求已被拒绝 通知目标计算机,选项参数指定的启用选项的请求已被接受 表示后面所跟的命令序列是某一选项的子协商 允许以半双工通信方式传输 通知服务器删除当前行 通知服务器删除前一字符 客户端发给服务器用于检测服务器进程是否还在运行的命令 完成进程,但不向客户发送输出 中断、终止或结束某个进程 表示数据传输的中断