菜鸟科技网

Telnet命令模式有哪些常用指令?

Telnet 本身没有一个独立的、只在本地运行的“命令模式”,我们通常所说的 Telnet 命令,实际上指的是 Telnet 客户端程序内部命令,这些命令用于在已经成功通过 Telnet 协议连接到远程服务器之后,对当前的 Telnet 会话进行控制和配置。

Telnet命令模式有哪些常用指令?-图1
(图片来源网络,侵删)

Telnet 的操作流程分为两个阶段:

  1. 操作系统命令行阶段:在你的本地计算机(如 Windows, macOS, Linux)的终端或命令提示符中,你输入 telnet <hostname> <port> 来发起连接,这是你与本地 Telnet 客户端程序的交互。
  2. Telnet 会话内部命令阶段:连接成功后,你的终端界面会改变,你输入的字符将直接发送给远程服务器,如果你想执行 Telnet 客户端自身的命令(如设置终端类型、查看连接状态、退出等),就需要使用一个特殊的“转义字符”来进入 Telnet 的内部命令模式。

进入 Telnet 内部命令模式的关键:转义字符

Telnet 内部命令的入口是转义字符,默认情况下,这个字符是 Ctrl+] (按住 Ctrl 键,再按 ] 键)。

当你成功连接到远程 Telnet 服务器后,屏幕上通常会出现类似 login:Username: 的提示,你输入的任何内容都会发送给远程服务器。

如果你想执行 Telnet 客户端的命令(查看连接信息或断开连接),你需要:

Telnet命令模式有哪些常用指令?-图2
(图片来源网络,侵删)
  1. 按下 Ctrl+]
  2. 你的命令行提示符会发生变化,通常显示为 telnet>

这表示你已经成功进入了 Telnet 的内部命令模式,可以在这里输入各种 Telnet 命令了。


核心 Telnet 内部命令

telnet> 提示符下,你可以使用以下常用命令:

命令 全称/描述 示例 说明
help 显示所有可用的 Telnet 内部命令及其简短说明。
close close close 关闭当前 Telnet 连接,返回到本地操作系统命令行。
open open open example.com 23 打开一个新的 Telnet 连接到指定的主机和端口。
quit quit quit 退出 Telnet 客户端程序。
status status status 显示当前 Telnet 连接的详细状态信息,如协议模式、连接是否打开等。
display display display 显示当前 Telnet 客户端的运行时参数和设置,如转义字符、调试模式等。
set set set ECHO 设置 Telnet 客户端的运行时参数,这是一个强大的命令,有很多子选项。
unset unset unset ECHO 取消某个由 set 命令设置的参数。
toggle toggle toggle DEBUG 打开或关闭某个 Telnet 客户端的功能,如调试输出、跟踪等。
z suspend z 暂停当前的 Telnet 会话,并将其放到后台(在支持作业控制的 Shell 中,如 Linux),你可以使用 fg 命令将其恢复到前台。
shell 临时退出 Telnet,返回到本地操作系统 Shell,输入 exit 可以返回到 Telnet 会话。
send send send AYT 向远程服务器发送一个 Telnet 特殊命令。send AYT (Are You There) 用于检查对方是否在线。
environ environ environ define VAR value 用于在 Telnet 会话中传递环境变量。

常用 set 命令详解

set 命令用于精细控制 Telnet 客户端的行为,以下是一些最常用的 set 子命令:

set 子命令 描述
set ECHO 设置本地回显,开启后,你在键盘上输入的字符会显示在屏幕上,通常默认开启。
set escape <char> 修改转义字符set escape ^T 将转义字符改为 Ctrl+T
set LOGGING <filename> 将当前的 Telnet 会话内容记录到指定的文件中。set LOGGING telnet.log
set TERM {ansi|vt100|dumb...} 设置你的终端类型,以便远程服务器知道如何正确显示字符和颜色。
set DEBUG {ON\|OFF} 打开或关闭调试信息输出,用于排查连接问题。

实践示例

假设你要连接到 bbs.newsmth.net(一个著名的 BBS 站点)的 Telnet 端口(23)。

Telnet命令模式有哪些常用指令?-图3
(图片来源网络,侵删)

正常连接和断开

  1. 发起连接

    telnet bbs.newsmth.net 23

    (或者直接 telnet bbs.newsmth.net,因为 23 是默认端口)

  2. 进入登录界面:连接成功后,你会看到 BBS 的欢迎信息和 请输入代号: 的提示,此时你输入的字符会直接发送给 BBS。

  3. 进入内部命令模式:在 BBS 登录界面,按下 Ctrl+]

    请输入代号: admin_user  <-- 你还在 BSS 会话中
    (按下 Ctrl+] 后)
    telnet> 
  4. 查看状态

    telnet> status

    输出会显示当前连接的状态, Connected to bbs.newsmth.net. Escape character is '^]'.

  5. 关闭连接

    telnet> close

    连接关闭,你将返回到本地系统的命令提示符。

开启日志记录

  1. 连接到任意服务器,google.com 的 80 端口(HTTP)。

    telnet google.com 80

    连接会很快建立,因为 Telnet 会尝试与 HTTP 服务握手。

  2. 按下 Ctrl+] 进入 telnet> 模式。

  3. 设置日志文件:

    telnet> set LOGGING google_session.txt

    (可能不会有任何输出,表示设置成功)

  4. 返回会话(按 Enter 键),然后输入一些 HTTP 请求,

    GET / HTTP/1.1
    Host: google.com
    

    (按两次回车发送请求)

  5. 再次按下 Ctrl+] 进入 telnet> 模式,close 退出。

  6. 检查你的当前目录,会发现多了一个 google_session.txt 文件,里面记录了你刚才的会话内容。


安全警告

强烈建议在生产环境中避免使用 Telnet!

  • 明文传输:Telnet 的所有数据(包括你的用户名、密码)都是未加密的,以明文形式在网络中传输,任何在同一个网络链路上进行“嗅探”(sniffing)的人都可以轻易截获你的凭据和所有会话内容。
  • 现代替代品:对于远程管理,请使用更安全的协议,如 SSH (Secure Shell),SSH 对所有数据进行加密,是业界标准。
特性 描述
进入方式 在 Telnet 会话中按下 Ctrl+] (默认转义字符)。
提示符 telnet>
主要用途 配置 Telnet 客户端参数、管理连接(打开/关闭/查看状态)、记录日志等。
核心命令 , close, open, status, display, set, quit
安全风险 极高,所有数据明文传输,已被 SSH 完全取代。
分享:
扫描分享到社交APP
上一篇
下一篇