目录
一.Telnet的简单介绍
1.1背景介绍
Telnet是一种至今仍广泛应用的网络协议及工具,它位于应用层,能在互联网及局域网中通过虚拟终端形式,提供双向的文字字符串命令行接口交互。作为TCP/IP协议族的一员,Telnet是互联网远程登录服务的标准协议,常被用于服务器的远程控制,使用户能够在本地执行远程主机上的操作。
该协议于1969年开发,并在后续的RFC文档中得到了扩展和标准化。它主要利用TCP协议的23端口建立连接,尽管也可以用于连接其他开放的TCP端口。Telnet常用于测试网络连接、登录远程设备、调试应用程序等网络相关任务。
1.2工作原理
1.2.1三次握手
当用户通过telnet命令尝试连接到远程主机时,它会利用目标主机的IP地址和指定的端口号(通常是23端口)来初始化一个TCP连接。
如上图所示,这个连接建立的过程遵循TCP协议中的三次握手机制:首先,telnet客户端会向服务器发送一个SYN数据包以请求连接;接着,服务器会回应一个SYN-ACK数据包,表示已接收到连接请求并同意建立连接;最后,客户端再发送一个ACK数据包进行确认,从而完成TCP连接的建立。这个过程与基于TCP的其他任何连接建立过程都是一致的。一旦TCP连接成功建立,telnet就会开始尝试与远程主机进行交互。
1.2.2开启会话
一旦TCP连接成功建立,Telnet会话随即启动,这时,用户就可以通过命令行界面与远程主机进行实时的双向交互了。在这个过程中,客户端和服务器之间形成了一个即时的数据传输通道。但值得注意的是,默认情况下,Telnet传输的所有数据都是未加密的明文,也就是说,用户输入的每一条命令、发送的每一条信息,都会以未加密的形式直接传输到目标服务器。这是Telnet在使用中的安全隐患之一。下图是telnet会话示意图。
二.Telnet的基本用法
2.1基本用法
2.1.1连接远程服务器
Telnet使用如下命令去连接远程服务器和相关端口:
telnet [远程主机IP] [端口号]
执行成功的具体结果如下图所示。
如果无法连接目标服务器的相关端口的具体结果则如下图所示。
2.1.2结束连接并进客户端
Telnet如果想要手动结束和远程服务器的连接并进入telnet的客户端,需要使用“ctrl+]”实现,具体执行结果如下图所示。
2.2参数详解
Telnet的具体参数如下:
-4:强制Telnet客户端使用IPv4地址来连接远程主机。在默认情况下,如果未指定-4或-6参数,Telnet客户端可能会根据提供的地址类型(IPv4或IPv6)自动选择使用哪种协议。但通过使用-4参数,可以确保只使用IPv4协议进行连接。
-6:与-4参数相反,它强制Telnet客户端使用IPv6地址来连接远程主机。这在需要确保使用IPv6协议进行连接时非常有用。
-8:允许在Telnet会话中使用8位字符数据。默认情况下,某些Telnet实现可能限制为7位字符数据,这可能会导致某些特殊字符或ASCII控制字符无法正确传输。通过使用-8参数,可以确保所有8位字符数据都能被正确传输和接收。
-E:禁用转义字符功能。在Telnet会话中,转义字符通常用于进入命令模式并执行特定的Telnet命令。但某些情况下,用户可能不希望使用转义字符,或者希望禁用该功能以避免意外进入命令模式。此时,可以使用-E参数来禁用转义字符功能。
-L:允许在Telnet会话中输出8位字符数据。这与-8参数类似,但更侧重于输出方面。它确保在Telnet会话中能够正确显示和传输所有8位字符数据,而不会出现乱码或截断等问题。
-S tos:设置Telnet连线的IP服务类型(Type of Service,简称TOS)。TOS是一个IP报头字段,用于指定IP数据包的服务质量和处理优先级。通过使用-S参数,用户可以指定一个特定的TOS值,以便在Telnet连接时使用。这有助于确保数据包在网络中得到适当的处理和传输。
-a:尝试自动登录远程系统。这通常涉及到读取用户目录下的.telnetrc文件(如果存在),并使用其中指定的登录信息(如用户名和密码)来自动登录远程主机。这可以简化登录过程,并减少用户手动输入登录信息的麻烦。
-c:在启动Telnet会话时,不读取用户目录下的.telnetrc文件。这可能会覆盖自动登录的设置,并导致用户需要手动输入登录信息。在某些情况下,用户可能希望禁用自动登录功能,以便使用不同的登录信息或进行其他配置。此时,可以使用-c参数来实现。
-d:启动调试模式,并记录调试信息。在调试模式下,Telnet客户端会记录更多关于会话的详细信息,包括发送和接收的数据包、连接状态、错误消息等。这些信息对于诊断连接问题、调试Telnet客户端或了解会话的详细信息非常有用。
-e char:设置转义字符。转义字符是一个特殊的字符,用于在Telnet会话中进入命令模式并执行特定的Telnet命令。通过使用-e参数,用户可以指定一个自定义的转义字符,以便在需要时进入命令模式。这有助于用户根据自己的喜好或需求来定制Telnet会话的行为。
三.Telnet的交互式命令行参数
Telnet除了命令行参数外,还有进telnet客户端才能用的交互式命令行参数,下面会介绍一些典型的交互式命令行参数
3.1open参数
open参数作用是在telnet客户端中打开指定的远程服务器和端口。命令如下:
open [远程服务器] [连接的端口]
执行结果则如下图所示。
3.2status参数
status参数则是在telnet客户端显示当前的连接状态,用来帮助用户了解会话的状态信息。命令如下:
status
执行结果如下图所示。
3.3close参数
close参数则是关闭已经产生的telnet会话。关闭连接后需要重新open才能连接。命令如下:
close
下图所示则是本身有连接的telnet在执行close命令后没有连接的情况。
3.4quit参数
quit参数则是退出telnet客户端的命令,命令如下:
quit
下图所示就是quit参数执行后的情况。
文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。