Telnet工作过程

工作过程

使用Telnet协议进行 远程登录时需要满足以下条件:在本地计算机上必须装有包含Telnet协议的客户程序;必须知道远程 主机的Ip地址或 域名;必须知道登录标识与口令。 
Telnet远程登录服务分为以下4个过程: 
1)本地与远程 主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程 主机的Ip地址或 域名
2)将 本地终端上输入的用户名和口令及以后输入的任何命令或字符以 NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从 本地主机向远程主机发送一个IP数据包; 
3)将远程 主机输出的 NVT格式的数据转化为本地所接受的格式送回 本地终端,包括输入命令 回显和命令执行结果; 
4)最后, 本地终端对远程主机进行撤消连接。该过程是撤销一个TCP连接。
上面的内容只是讨论了 远程登陆最基本的东西,其中的复杂和编程人员的艰辛是我们难以想象的,不知道你在舒服的使用Telnet的同时,是否想到了这些!

转载于:https://my.oschina.net/hcp/blog/120391

### Telnet 协议工作机制原理 #### TCP 连接建立 Telnet 使用客户端/服务器 (C/S) 模型来实现远程登录功能。当客户端发起请求时,会通过三次握手过程与服务器端建立一个可靠的 TCP 连接[^2]。 #### 数据传输层 一旦建立了连接之后,在这个基础上进行的是带有特定控制信息的数据交换。这些数据不仅包含了用户输入命令以及服务端返回的结果,还包括一些用于管理通信链路状态的信息片段——即所谓的“选项协商”。 #### 控制字符处理 为了能够区分普通文本和其他类型的指令,Telnet 定义了一套特殊的转义序列。例如,`IAC`(Interpret As Command)作为最高优先级标志字节被广泛应用于表示接下来的一个或多个字节应该按照特殊含义解释而不是简单地显示出来。 #### 用户交互界面模拟 在实际应用中,Telnet 客户端软件通常还会提供给使用者类似于本地终端的操作环境。这意味着它不仅要负责转发键盘敲击事件到远端主机上执行相应程序,同时也需接收并渲染来自对方的画面更新反馈,从而让用户感觉就像直接操作着远方机器一样自然流畅[^1]。 ```python import telnetlib host = "example.com" port = 23 tn = telnetlib.Telnet(host, port) # 发送用户名密码等登录信息 tn.read_until(b"login: ") tn.write(b"user\n") tn.read_until(b"Password: ") tn.write(b"password\n") output = tn.read_some() print(output.decode('ascii')) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值