当前位置: 首页 > news >正文

Telnet协议:远程控制的基石

目录

1. 概述

2. 工作机制

3. 网络虚拟终端

4. 选项协商

5. 操作方式

6. 用户接口命令

7. 验证的过程 


1. 概述

        Telnet(Telecommunication Network)是一种用于在互联网上远程登录到计算机系统的标准协议。它早期被广泛用于远程终端连接,但由于安全性方面的限制,现在已被SSH(Secure Shell)等更安全的替代方案所取代。

特点:

  • 交互性:Telnet提供了一种双向、交互式和文本导向的通信服务。用户可以通过键盘输入命令,并实时接收服务器的响应。

  • 协议规定:Telnet协议规定了在网络中的两台主机之间怎样进行会话交互,规定了数据的表示、传输、错误检测等方法。它基于TCP/IP协议工作,主要用于控制和配置远程设备。

  • 缺乏安全保障:但由于Telnet在传输过程中所有的信息都是明文,包括用户名和密码,这就使得它面临被攻击截取敏感信息的风险。因此,现在的系统通常已经采取了更安全的替代方案,如SSH协议。

2. 工作机制

        Telnet协议基于客户端-服务器模型工作。客户端是用户的本地计算机,而服务器则是远程计算机系统。通过Telnet协议,客户端与服务器之间建立TCP连接,并在连接上发送命令和接收响应。

详细过程如下:

  • 启动连接:用户在客户端输入命令以启动一个Telnet会话。这个命令通常包括目标服务器的IP地址或主机名。

  • 建立TCP连接:在收到启动命令后,Telnet客户端会向Telnet服务器发起一个TCP连接请求。如果服务器接收了这个请求,那么就在客户端和服务器之间建立起一条通信路径。

  • 会话交互:一旦TCP连接建立,用户就可以通过这个连接输入命令,这些命令会被发送到服务器,并由服务器执行。服务器将执行结果返回给客户端,一般是文本形式的响应。

  • 关闭连接:用户可以通过输入特定命令(如"logout"或"exit")来结束会话,此时Telnet客户端会向服务器发送一个终止连接的请求,服务器接收后断开连接。

3. 网络虚拟终端

        Telnet会话创建了一个虚拟终端,使得用户可以在本地计算机上通过命令行界面与远程主机进行交互。这个虚拟终端在本地计算机上模拟了远程主机上的终端环境,用户可以像在本地一样操作远程主机。

  • 虚拟交互环境:网络虚拟终端为远程登录用户提供了一个文本模式的交互环境。这个环境模拟了使用硬件终端(如电传打字机或计算机终端)直接在远程主机上操作的体验。

  • 命令行界面:用户在虚拟终端中可以通过命令行向远程主机发送指令,例如文件管理命令(如ls,cd,rm等)、系统管理命令(如ps,top,reboot等)等等。这些命令被远程主机接收并执行,执行结果也会通过虚拟终端返回给用户。

  • 透明性:虚拟终端为用户和远程主机之间的交互提供了透明性。这意味着用户不需要知道或关心远程主机的具体信息,如其操作系统类型、硬件架构等,仅需通过虚拟终端与其进行交互。

  • 独立的会话:每个Telnet会话都拥有一个独立的虚拟终端,会话和会话之间互不干扰。这使得多用户并发操作成为可能。

4. 选项协商

        选项协商是Telnet协议的一个重要特性。这个机制允许客户端与服务器之间交换并协商连接的各种参数,这些参数涵盖了各种功能,比如数据格式、字符编码,甚至连接时的终端类型。在一个Telnet会话中,以下是选项协商可能包含的内容:

  • 会话参数:这包括数据格式(如是否使用7位还是8位字符),字符编码(如ASCII,UTF-8),等等。客户端和服务器可以据此确定如何发送和接收数据。

  • 终端选项:某些Telnet选项可能涉及到客户端的终端类型,包括终端的行为(如回显模式,控制字符的解释方式)和性能(如屏幕大小)等。

  • 高级功能:Telnet协议还允许客户端和服务器协商一些高级的功能,如是否启用压缩来减少数据传输量,或者以何种方式同步连接状态等。

        选项协商的实施通常在建立连接后立即进行,但在会话期间也可以随时进行。它是通过在数据流中插入一系列的协商命令完成的,这些命令以一个特殊的字符(IAC,解释为操作码)开始,接着是一个表示协商动作的字节(如WILL,WONT,DO,DONT),然后是一个表示被协商选项的字节。

        选项协商为Telnet提供了极大的灵活性,使得它能够适应各种不同的环境和需求。然而,这同时也意味着实现一个完整的Telnet客户端或服务器需要处理大量的协商选项,这在一定程度上增加了实现的复杂性。

5. 操作方式

        Telnet客户端通过指定远程主机的地址和端口号来连接到远程主机。一旦连接建立,用户可以输入命令并将其发送到远程主机执行,然后接收执行结果。用户可以通过Telnet客户端进行远程文件传输、配置管理等操作。

  • 建立连接:用户首先需要在Telnet客户端输入目标主机的IP地址或主机名,并指定要访问的端口号。端口号的默认值为23,这是Telnet服务的标准端口。

  • 身份验证:在大多数情况下,一旦连接建立,该用户可能需要通过提供用户名和密码进行身份验证。这是因为Telnet通常用于远程访问有限制的系统资源,因此系统需要确保只有合法并且有权限的用户可以访问。

  • 命令输入和接收:身份验证成功之后,用户就可以开始在命令行界面输入命令。这些命令将通过网络发送到远程主机,由那里的操作系统进行解析和执行。执行结果会返回给客户端并显示给用户。

  • 远程操作:在Telnet会话中,用户可以进行各种各样的操作,比如文件传输、系统管理、网络配置等。这就像用户直接坐在远程主机前一样。

  • 断开连接:当用户完成操作并准备断开连接时,可以输入一个特定的命令(常见的包括"logout"、"exit"或"quit")来结束这个Telnet会话。

6. 用户接口命令

        Telnet客户端提供了一系列命令,用于管理连接和执行操作。常见的命令包括连接到远程主机、断开连接、显示连接状态、设置选项等。这些命令使用户可以方便地管理Telnet会话。

详细命令:

  • open:这个命令用于打开与远程主机的新连接。用户需要提供主机的IP地址或主机名,并可以选择提供端口号。

  • close:这个命令关闭当前连接,但并不退出Telnet客户端。

  • quit:此命令会关闭当前连接,并完全退出Telnet客户端。

  • status:这个命令显示当前连接的状态,包括连接的远程主机、端口号、连接时间、以及当前的Telnet操作选项等。

  • send:此命令用户向远程主机发送Telnet控制命令,如插入字符流的Sync、Abort、EOR(End Of Record)等。

  • set/unset:这一对命令用于设置和取消设置Telnet客户端的各种选项,如回显模式、字符处理方式、超时时间等。

  • display:此命令显示当前客户端的所有设定。

7. 验证的过程 

  1. 连接建立:在使用Telnet客户端发起连接请求并由远程服务器接收后,将建立Telnet会话。此时,服务器通常会给客户端发送一个登录提示,提示用户输入登录信息。

  2. 输入用户名:客户端将提示用户输入用户名。用户名通常对应于远程系统上的一个用户账户。

  3. 输入密码:在输入了用户名后,客户端将提示用户输入相应的密码。为了安全,输入密码时通常不会显示出来。

  4. 验证身份:客户端发送用户名和密码给服务器。服务器将用户名和密码与其用户数据库中的信息进行匹配。如果匹配成功,身份验证过程通过,用户则被授予访问权限。如果匹配失败,通常服务器会再次提示用户输入用户名和密码。

  5. 登录成功:当身份验证成功后,用户就可以在远程系统上执行命令和访问资源了。

        其中,输入的用户名和密码传输都是明文,十分容易被窃取,这是Telnet的一大安全问题,所以,现在大多数情况下,我们更倾向于使用其他加密的协议,比如SSH,进行远程操作。

相关文章:

Telnet协议:远程控制的基石

目录 1. 概述 2. 工作机制 3. 网络虚拟终端 4. 选项协商 5. 操作方式 6. 用户接口命令 7. 验证的过程 1. 概述 Telnet(Telecommunication Network)是一种用于在互联网上远程登录到计算机系统的标准协议。它早期被广泛用于远程终端连接&#xff0…...

网络工程师必备:静态路由实验指南

大家好,这里是G-LAB IT实验室。今天带大家学习一下华为静态路由实验配置 01、实验拓扑 02、实验需求 1.R1环回口11,1,1.1模拟PC1 2.R2建立2个环回口模拟Server server-1: 22,1,1.1 server-2: 44.1.1.1 3.要求使用静态路由实现全网互通 PC1去往server-1从R3走…...

springboot利用切面保存操作日志(支持Spring表达式语言(简称SpEL))

springboot利用切面保存操作日志(支持Spring表达式语言(简称SpEL)) 文章目录 springboot利用切面保存操作日志(支持Spring表达式语言(简称SpEL))前言一、Spring EL是什么&#xff1f…...

遂宁专业知识付费系统报价,免费网课平台怎么开通?需要哪些条件?

其实,不少的大咖老师都不愿意在大平台上开课,因为学员的留存并不是自己的,所以,很多人也考虑自己开通网课平台,那免费的平台怎么开通?这就是我们今天要跟老师们分享的内容了。 需要哪些条件? 大家如果想要开通免费的…...

【linuxC语言】fcntl和ioctl函数

文章目录 前言一、功能介绍二、具体使用2.1 fcntl函数2.2 ioctl函数三、拓展:填写arg总结前言 在Linux系统编程中,经常会涉及到对文件描述符、套接字以及设备的控制操作。fcntl和ioctl函数就是用来进行这些控制操作的两个重要的系统调用。它们提供了对文件、设备和套接字进行…...

java——继承(一)

一:匿名对象 只能使用一次,每一次使用都会创建一个新的对象,默认值和数组的默认值的规则相同。所以适用于调用一次对象的情况: public class ClassAnonymous {String name;public void show(){System.out.println(name"真厉…...

【Linux】进程间通信方式之管道

🤖个人主页:晚风相伴-CSDN博客 💖如果觉得内容对你有帮助的话,还请给博主一键三连(点赞💜、收藏🧡、关注💚)吧 🙏如果内容有误的话,还望指出&…...

【Linux】yum与vim

文章目录 软件包管理器:yumLinux安装和卸载软件包Linux中的编辑器:vimvim下的底行模式vim下的正常模式vim下的替换模式vim下的视图模式vim下的多线程 软件包管理器:yum yum其实就是一个软件,也可以叫商店 和你手机上的应用商店或app store一…...

苍穹外卖Day06笔记

疯玩了一个月,效率好低,今天开始捡起来苍穹外卖~ 1. 为什么不需要单独引入HttpClient的dependency? 因为我们在sky-common的pom.xml中已经引入了aliyun-sdk-oss的依赖,而这个依赖低层就引入了httpclinet的依赖,根据依…...

Maximo 使用 REST API 创建 Cron Task

接前面几篇文章,我没有了 automation script 以后,有时候需要让其定期自动执行,这时候就可以通过 Cron Task 来实现了。 通过Maximo REST API 来创建 Cron Task request: POST {{base_url}}/api/os/mxapicrontaskdef?apikey{{…...

【镜像仿真篇】磁盘镜像仿真常见错误

【镜像仿真篇】磁盘镜像仿真常见错误 记系统镜像仿真常见错误集—【蘇小沐】 1、实验环境 2023AFS39.E01(Windows11系统镜像)Arsenal Image Mounter,[v3.10.262]‍Vmware Workstation 17 Pro,[v17.5.1]Windows 11 专业工作站版…...

代码随想录算法训练营DAY45|C++动态规划Part7|70.爬楼梯(进阶版)、322. 零钱兑换、279.完全平方数

文章目录 70.爬楼梯(进阶版)⭐️322. 零钱兑换思路CPP代码总结 279.完全平方数思路CPP代码 70.爬楼梯(进阶版) 卡码网:57. 爬楼梯 文章讲解:70.爬楼梯(进阶版) 本题就是典型了完全背包排列问题,…...

Linux(openEuler、CentOS8)企业内网DHCP服务器搭建(固定Mac获取指定IP)

----本实验环境为openEuler系统<以server方式安装>&#xff08;CentOS8基本一致&#xff0c;可参考本文&#xff09;---- 目录 一、知识点二、实验&#xff08;一&#xff09;为服务器配置网卡和IP&#xff08;二&#xff09;为服务器安装DHCP服务软件&#xff08;三&a…...

c#读取hex文件方法,相对来说比较清楚

Hex文件解读_c#读取hex文件-CSDN博客 https://wenku.csdn.net/answer/d67f30cf834c435ca37c3d1ef5e78a62?ops_request_misc%257B%2522request%255Fid%2522%253A%2522171498156816800227423661%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&…...

【ytb数据采集器】按关键词批量爬取视频数据,界面软件更适合文科生!

一、背景介绍 1.1 爬取目标 用Python独立开发的爬虫工具&#xff0c;作用是&#xff1a;通过搜索关键词采集油管的搜索结果&#xff0c;包含14个关键字段&#xff1a;关键词,页码,视频标题,视频id,视频链接,发布时间,视频时长,频道名称,频道id,频道链接,播放数,点赞数,评论数…...

三条命令快速配置Hugging Face

大家好啊&#xff0c;我是董董灿。 本文给出一个配置Hugging Face的方法&#xff0c;让你在国内可快速从Hugging Face上下在模型和各种文件。 1. 什么是 Hugging Face Hugging Face 本身是一家科技公司&#xff0c;专注于自然语言处理&#xff08;NLP&#xff09;和机器学习…...

Python网络编程 03 实验:FTP详解

文章目录 一、小实验FTP程序需求二、项目文件架构三、服务端1、conf/settings.py2、conf/accounts.cgf3、conf/STATUS_CODE.py4、启动文件 bin/ftp_server.py5、core/main.py6、core/server.py 四、客户端1、conf/STATUS_CODE.py2、bin/ftp_client.py 五、在终端操作示例 一、小…...

个人银行账户管理程序(2)

在&#xff08;1&#xff09;的基础上进行改进 1&#xff1a;增加一个静态成员函数total&#xff0c;记录账户总金额和静态成员函数getTotal 2对不需要改变的对象进行const修饰 3多文件实现 account。h文件 #ifndef _ACCOUNT_ #define _ACCOUNT_ class SavingAccount {pri…...

2024.04.19校招 实习 内推 面经

绿*泡*泡VX&#xff1a; neituijunsir 交流*裙 &#xff0c;内推/实习/校招汇总表格 1、校招&转正实习 | 美团无人机业务部招聘&#xff08;内推&#xff09; 校招&转正实习 | 美团无人机业务部招聘&#xff08;内推&#xff09; 2、校招&实习 | 快手 这些岗位…...

Python并发编程 04 进程与线程基础

文章目录 一、操作系统简介二、进程三、线程四、线程的调用1、示例2、join方法3、setDaemon方法4、继承式调用&#xff08;不推荐&#xff09;5、其他方法 一、操作系统简介 ①操作系统是一个用来协调、管理和控制计算机硬件和软件资源的系统程序&#xff0c;它位于硬件和应用…...

模板引擎Freemarker

什么是模板引擎 根据前边的数据模型分析&#xff0c;课程预览就是把课程的相关信息进行整合&#xff0c;在课程预览界面进行展示&#xff0c;课程预览界面与课程发布的课程详情界面一致。 项目采用模板引擎技术实现课程预览界面。什么是模板引擎&#xff1f; 早期我们采用的…...

刷题训练之模拟

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;熟练掌握模拟算法。 > 毒鸡汤&#xff1a;学习&#xff0c;学习&#xff0c;再学习 ! 学&#xff0c;然后知不足。 > 专栏选自&#xff1a;刷题训…...

视频监控平台:交通运输标准JTT808设备SDK接入源代码函数分享

目录 一、JT/T 808标准简介 &#xff08;一&#xff09;概述 &#xff08;二&#xff09;协议特点 1、通信方式 2、鉴权机制 3、消息分类 &#xff08;三&#xff09;协议主要内容 1、位置信息 2、报警信息 3、车辆控制 4、数据转发 二、代码和解释 &#xff08;一…...

【C++】多态 — 多态的细节补充(下篇)

前言&#xff1a; 我们学习了多态的形式和如何使用多态&#xff0c;这一章我们将来讲一讲多态的原理… 目录 动态绑定与静态绑定: 动态绑定与静态绑定: 静态绑定又称为前期绑定(早绑定)&#xff0c;在程序编译期间确定了程序的行为&#xff0c;也称为静态多态&#xff0c;比如…...

系统安全与应用【2】

1.开关机安全控制 1.1 GRUB限制 限制更改GRUB引导参数 通常情况下在系统开机进入GRUB菜单时&#xff0c;按e键可以查看并修改GRUB引导参数&#xff0c;这对服务器是一个极大的威胁。可以为GRUB 菜单设置一个密码&#xff0c;只有提供正确的密码才被允许修改引导参数。 实例&…...

EtherCAT总线速度轴控制功能块(COSESYS ST源代码)

测试环境为汇川PLC,型号 AM402-CPU1608TP、伺服驱动器为禾川X3E,具体通信配置可以参考下面文章链接: 1、使能和点动控制 汇川AM400PLC通过EtherCAT总线控制禾川X3E伺服使能和点动控制-CSDN博客文章浏览阅读31次。进行通信之前需要安装禾川X3E的XML文件,具体方法如下:1、汇…...

【码银送书第十九期】《图算法:行业应用与实践》

作者&#xff1a;嬴图团队 01 前言 在当今工业领域&#xff0c;图思维方式与图数据技术的应用日益广泛&#xff0c;成为图数据探索、挖掘与应用的坚实基础。本文旨在分享嬴图团队在算法实践应用中的宝贵经验与深刻思考&#xff0c;不仅促进业界爱好者之间的交流&#xff0c;…...

无监督式学习

1.是什么&#xff1f; 无监督式学习与监督式学习**最大的区别就是&#xff1a;**没有事先给定的训练实例&#xff0c;它是自动对输入的示例进行分类或者分群&#xff1b; 优点&#xff1a;不需要标签数据&#xff0c;极大程度上扩大了我们的数据样本&#xff0c;其次不受监督信…...

docker 安装镜像及使用命令

目录 1. Mysql2. Redis3. Nginx4. Elasticsearch官网指导 docker pull 容器名:版本号 拉取容器, 不指定版本号默认最新的 run 运行 -d 后台运行 -p 3306:3306 -p是port 对外端口:对内端口 –name xyy_mysql 容器名称 -e MYSQL_ROOT_PASSWORD123456 环境变量 -v 系统地址:docker…...

Python运维之多进程!!

本节的快速导航目录如下喔&#xff01;&#xff01;&#xff01; 一、创建进程的类Process 二、进程并发控制之Semaphore 三、进程同步之Lock 四、进程同步之Event 五、进程优先队列Queue 六、多进程之进程池Pool 七、多进程之数据交换Pipe 一、创建进程的类Process mu…...

长沙做网站seo优化外包/如何在百度发布广告

:%!python -m json.tool https://www.jianshu.com/p/91c2d7a54eb7...

找谁做网站比较好/汕头网站建设优化

Php 3.x与4.x中关于对象编程的不兼容问题之一 构造器说 (转)[more]3.x与4.x中关于的不兼容问题“面向对象”听起来是个很流行的词汇&#xff0c;似乎到了如果你还没有&#xff0c;那不如回家种白菜的地步。Php从版本3.x开始支持对象编程&#xff0c;虽然它的Class从一开始就饱受…...

access 可以做网站不/网站流量查询网站统计查询

ASP.NET 的ViewState是使用Base64的字符串保存在一个隐藏域中的。下面通过一个例子来解析它们 1. 页面<% Page Language"C#" AutoEventWireup"true" CodeBehind"Default.aspx.cs" Inherits"WebApp._Default" %><!DOCTYPE htm…...

做网站运营好还是SEO好/网站登录入口

怎么设置legacy启动&#xff1f;现在新型电脑都是采用uefi gpt启动模式&#xff0c;以适应win8、win10这些新型操作系统&#xff0c;不过win7之前的系统大多不支持uefi&#xff0c;而是采用legacy启动模式&#xff0c;硬盘分区表是MBR&#xff0c;而不是GPT&#xff0c;如果要在…...

招商网站建设解决方案/怎样在百度打广告

背景 java9的一再推迟发布,似乎让我们恍然想起离发布java8已经过去了三年之久,java8应该算的上java语言在历代版本中变化最大的一个版本了,最大的新特性应该算得上是增加了lambda表达式,借助lambda表达式,我们可以编写出性能更好,可读性更强的代码,更重要的,它给我们带来了一种…...

好买卖做网站/合肥网络公司

今天做到一个笔试题&#xff1a; 快速找出一个数组中最大数和第二大的数。 既然这是一道笔试题&#xff0c;肯定要多一点思路。 我一开始拿到这个题目是这么想的&#xff1a;用冒泡或者选择法将一个数组进行从小到大排序&#xff0c;然后输出最后两个数。 显然这并不是最佳的…...