专栏首页安富莱嵌入式技术分享【RL-TCPnet网络教程】第31章 Telnet远程登录基础知识

【RL-TCPnet网络教程】第31章 Telnet远程登录基础知识

第31章      Telnet远程登录基础知识

本章节为大家讲解Telnet (Teletype Network) 的基础知识,方便后面章节的实战操作。

(本章的知识点主要整理自网络)

31.1  初学者重要提示

31.2  Telnet基础知识参考资料

31.3  Telnet基础知识点

31.4  总结

31.1  初学者重要提示

  • Telnet远程登录在实际项目中有一些实用价值,需要初学者对Telnet的基础知识也有个认识。

31.2  Telnet基础知识参考资料

大家可以从以下地址获得Telnet基础知识:

  • wiki百科中文版Telnet:地址链接(这个是超链接)
  • wiki百科英文版Telnet:地址链接(这个是超链接)
  • 百度百科Telnet:地址链接(这个是超链接)

对于初学者来说,学习上面三个参考资料就够了。如果大家有网络方面的书籍,比如《TCP/IP详解》,也可以直接看书籍。

31.3  Telnet基础知识点

(这里的知识点整理自上面的参考资料地址)

教程这里也对Telnet的基础知识做个介绍,方便大家先有个大概的认识。

31.3.1 Telnet简要说明

Telnet协议是一种应用层协议,使用于互联网及局域网中,使用虚拟终端机的形式,提供双向、以文字字符串为主的交互功能。属于TCP/IP协议族的其中之一,是Internet远程登录服务的标准协议和主要方式,常用于网页服务器的远程控制,可供用户在本地主机运行远程主机上的工作。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样,可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。

Telnet在1969年开发出来,在 RFC 15 定义, RFC 854 定义了扩展。互联网工程任务组(IETF)在STD 8中,将其加以标准化,是最早形成的互联网协议之一。

31.3.2 Telnet协议基本内容

Telnet服务器软件是我们最常用的远程登录服务器软件,是一种典型的客户机/服务器模型的服务,它应用Telnet协议来工作。那么,什么是Telnet协议?它都具备哪些特点呢?

Telnet是位于OSI模型的第7层--应用层上的一种协议,是一个通过创建虚拟终端提供连接到远程主机的协议。这一协议需要通过用户名和口令进行认证,是Internet远程登陆服务的标准协议。应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。它提供了三种基本服务:

  1. Telnet定义一个网络虚拟终端为远程系统提供一个标准接口。客户机程序不必详细了解远程系统,他们只需构造使用标准接口的程序。
  2. Telnet包括一个允许客户机和服务器协商选项的机制,而且它还提供一组标准选项。 .
  3. Telnet对称处理连接的两端,即Telnet不强迫客户机从键盘输入,也不强迫客户机在屏幕上显示输出。

31.3.3 Telnet用途

Telnet是Internet远程登录服务的标准协议和主要方式,最初由ARPANET开发,现在主要用于Internet会话,它的基本功能是允许用户登录进入远程主机系统。

Telnet可以让我们坐在自己的计算机前通过Internet网络登录到另一台远程计算机上,这台计算机可以是在隔壁的房间里,也可以是在地球的另一端。当登录上远程计算机后,本地计算机就等同于远程计算机的一个终端,我们可以用自己的计算机直接操纵远程计算机,享受远程计算机本地终端同样的操作权限。

Telnet的主要用途就是使用远程计算机上所拥有的,而本地计算机没有的信息资源。如果远程的主要目的是在本地计算机与远程计算机之间传递文件,那么相比而言使用FTP会更加快捷有效。

31.3.4 Telnet交互过程

当我们使用Telnet登录进入远程计算机系统时,事实上启动了两个程序:一个是Telnet客户程序,运行在本地主机上;另一个是Telnet服务器程序,它运行在要登录的远程计算机上。

本地主机上的Telnet客户程序主要完成以下功能:

  • 建立与远程服务器的TCP联接。
  • 从键盘上接收本地输入的字符。
  • 将输入的字符串变成标准格式并传送给远程服务器。
  • 从远程服务器接收输出的信息。
  • 将该信息显示在本地主机屏幕上。

远程主机的“服务”程序通常被昵称为“精灵”,它平时不声不响地守候在远程主机上,一接到本地主机的请求,就会立马活跃起来,并完成以下功能:

  • 通知本地主机,远程主机已经准备好了。
  • 等候本地主机输入命令。
  • 对本地主机的命令作出反应(如显示目录内容,或执行某个程序等)。
  • 把执行命令的结果送回本地计算机显示。
  • 重新等候本地主机的命令。

在Internet中,很多服务都采取这样一种客户/服务器结构。对使用者来讲,通常只要了解客户端的程序就可以了。

31.3.5 Telnet登录

Telnet服务虽然也属于客户机/服务器模型的服务,但它更大的意义在于实现了基于Telnet协议的远程登录(远程交互式计算),那么就让我们来认识一下远程登录。

先来看看什么叫登录?分时系统允许多个用户同时使用一台计算机,为了保证系统的安全和记账方便,系统要求每个用户有单独的帐号作为登录标识,系统还为每个用户指定了一个口令。用户在使用该系统之前要输入标识和口令,这个过程被称为“登录”。远程登录是指用户使用Telnet命令,使自己的计算机暂时成为远程主机的一个仿真终端的过程。仿真终端等效于一个非智能的机器,它只负责把用户输入的每个字符传递给主机,再将主机输出的每个信息回显在屏幕上。

使用Telnet协议进行远程登录时需要满足以下条件:

  • 在本地计算机上必须装有包含Telnet协议的客户程序。
  • 必须知道远程主机的IP地址或域名。
  • 必须知道登录标识与口令。

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

  1. 本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的IP地址或域名。
  2. 将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据包。
  3. 将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果。
  4. 最后,本地终端对远程主机进行撤消连接,其实就是撤销TCP连接。

上面的内容只是讨论了远程登录最基本的东西,实际过程还是非常复杂的。

31.4 总结

本章节就为大家讲解这么多,更多Telnet的相关知识需要大家查阅相关书籍进行学习,或者网上搜索相关资料进行学习。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基于STM32的最新版uCOS-III V3.08.00程序模板,含MDK和IAR两个版本,支持uC/Probe

    V5是STM32F407IGT6,V6是STM32F429BIT6,V7是STM32H743XIH6 模板下载: V5-600_uCOS-III实验_程...

    armfly
  • 【STM32H7教程】第56章 STM32H7的DMA2D应用之刷色块,位图和Alpha混合

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980

    armfly
  • 【STM32F429的DSP教程】第14章 DSP统计函数-最大值,最小值,平均值和功率

    完整版教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547

    armfly
  • Telnet必知必会

    早期计算机并没有考虑网络互联的场景,在很长一段时间,计算机作为昂贵的资源只在军方和高校使用。因为能用的起电脑的国家和机构少之再少,因此,大家的通信也非常简单,简...

    运维部落
  • Linux命令(56)——telnet命令

    telnet命令用于登录远程主机,是基于Telnet协议的远程登录程序,对远程主机进行管理。telnet因为采用明文传送报文,安全性不好,很多Linux服务器都...

    Dabelv
  • 使用Python实现Telnet远程登录

    # -*- coding: utf-8 -*- import telnetlib '''Telnet远程登录:Windows客户端连接Linux服务...

    py3study
  • 2020年最佳远程高科技公司评选结果出炉

    远程办公节约的不只是时间……它节约的是生命。remotive.io的创始人Rodolphe Dutel是前谷歌员工,因为住在旧金山市区,每天都要通勤到山景城上班...

    新智元
  • 再谈信息获取

    上次在文章《如何掌控自己的手机时间》里,我提到了自己获取信息的方式,引起了很多同学的共鸣,这又引发了我一些新的思考,今天写下来看看大家是否有同感。

    sylan215
  • Visual Studio Code 1.35更新:远程开发终于来啦

    版权声明:本文为博主原创文章,转载请注明出处。 ...

    乐百川
  • PHP合并数组的几种方法比较

    在7.0.20版本中,array_merge_recursive合并相同字符串索引的数组时,合并结果中会有相同的数字索引。

    俗可耐

扫码关注云+社区

领取腾讯云代金券