菜鸟科技网

Dos命令大全中,telnet命令如何使用?

telnet 是一个功能强大的网络协议和程序,用于远程登录和管理服务器,虽然现在出于安全考虑,SSH (Secure Shell) 已成为主流,但 telnet 仍然在特定场景下非常有用,例如网络排错、测试端口连通性等。

Dos命令大全中,telnet命令如何使用?-图1
(图片来源网络,侵删)

Telnet 命令的核心概念

在进入命令大全之前,必须理解两个核心概念:

  1. Telnet 客户端: 这是安装在您自己电脑上的程序,用于连接远程的 Telnet 服务器,在 Windows 中,telnet.exe 就是一个客户端。
  2. Telnet 服务器: 这是运行在远程计算机上的服务,它监听连接请求,并允许客户端登录。

重要提示:Windows 系统默认不安装 Telnet 服务器端,只安装了客户端,要让自己的电脑作为 Telnet 服务器被连接,需要手动安装 "Telnet 服务器" 功能。


如何启用 Telnet 客户端和服务器

启用 Telnet 客户端 (默认已安装,但可能被禁用)

对于大多数 Windows 版本,客户端是默认存在的,如果提示“不是内部或外部命令”,可以尝试以下方法:

  • Windows 10 / 11 (通过设置):

    Dos命令大全中,telnet命令如何使用?-图2
    (图片来源网络,侵删)
    1. 打开 设置 -> 应用 -> 可选功能
    2. 点击 添加功能
    3. 在搜索框中输入 telnet,然后选择 Telnet 客户端 并点击安装。
  • 通过 PowerShell (管理员):

    # 添加 Telnet 客户端功能
    Add-WindowsCapability -Online -Name Telnet.Client~~~~0.0.1.0

启用 Telnet 服务器 (如果你想让自己的电脑被远程连接)

  • 通过控制面板 (适用于所有版本):

    1. 打开 控制面板 -> 程序 -> 程序和功能
    2. 点击左侧的 启用或关闭 Windows 功能
    3. 在列表中找到 Telnet 服务器,勾选它,然后点击 确定
    4. 系统会自动下载并安装。
  • 通过 PowerShell (管理员):

    # 添加 Telnet 服务器功能
    Add-WindowsCapability -Online -Name Telnet.Server~~~~0.0.1.0

安装完成后,你可以在 服务 中找到 "Telnet" 服务,并启动它设置为“自动启动”。

Dos命令大全中,telnet命令如何使用?-图3
(图片来源网络,侵删)

Telnet 客户端命令大全

在 Windows 命令提示符 (cmd) 或 PowerShell 中,telnet 的使用分为两种模式:

  1. 命令模式 (本地模式): 在未连接到任何服务器时,输入 telnet 命令。
  2. 会话模式 (远程模式): 成功连接到服务器后,你就在一个交互式会话中了,此时输入的命令会被发送到远程服务器。

A. 命令模式 (常用命令)

这些命令在 telnet> 提示符下使用,或者可以在启动 telnet 时直接指定参数。

命令 语法 说明
打开连接 open <主机名或IP> [<端口>] 最常用的命令,用于连接到指定的主机和端口,如果省略端口,默认为 23。
关闭连接 close 关闭当前与 Telnet 服务器的连接,并返回到命令模式。
退出 Telnet quitexit 完全退出 telnet.exe 程序。
显示状态 display 显示当前 Telnet 会话的设置,包括是否处理换行符、本地回显等。
设置选项 set <选项> [值] 设置 Telnet 的本地或远程选项。set localecho (开启本地回显)。
取消设置 unset <选项> 取消之前设置的某个选项。
发送命令 send <arg> 向远程主机发送一个原始的 Telnet 命令。send will echo,高级用户使用。
状态查询 status 显示当前 Telnet 连接的简要状态。
帮助 help 列出所有可用的 Telnet 命令。

B. 启动 Telnet 时的常用参数 (在 cmd 中直接使用)

这些参数在 telnet 命令后直接跟,无需进入 telnet> 提示符。

参数 示例 说明
指定主机和端口 telnet example.com 80 直接连接到 example.com 的 80 端口,成功后直接进入会话模式。
调试模式 telnet -debug example.com 启用调试模式,会显示详细的连接过程和协议信息,对排错非常有用。
无终端模式 telnet -n example.com 25 在不分配终端(即不进入交互式会话)的情况下连接,常用于脚本中自动发送数据。
用户登录 telnet example.com /user myusername 连接时指定用户名,连接成功后会提示输入密码。

实战演练与常见用法

用法 1:测试端口是否开放 (最常用)

这是 telnet 最实用的功能之一,可以快速检查网络连通性和服务是否监听某个端口。

场景:我想知道我的电脑是否能访问 www.baidu.com 的 80 端口(HTTP 服务)。

  1. 打开 cmd (命令提示符)。

  2. 输入以下命令:

    telnet www.baidu.com 80
  3. 如果端口开放,你会看到屏幕变黑,光标闪烁,可能还会显示一些服务器信息(如 HTTP/1.1 400 Bad Request),这表示连接成功。

    Trying 180.101.49.12...
    Connected to www.baidu.com.
    Escape character is '^]'.
    HTTP/1.1 400 Bad Request
    Content-Length: 0
    Connection: close

    此时你处于会话模式,可以按 Ctrl+] 返回到命令模式,然后输入 quit 退出。

  4. 如果端口关闭或网络不通,你会看到类似下面的错误信息,然后自动返回到 cmd 提示符。

    C:\> telnet www.baidu.com 80
    正在连接 www.baidu.com...无法打开到主机的连接,在端口 80: 连接失败

用法 2:远程登录到一台 Telnet 服务器

场景:假设有一台 IP 地址为 168.1.100 的 Linux 服务器,开启了 Telnet 服务。

  1. cmd 中输入:
    telnet 192.168.1.100
  2. 如果连接成功,会显示服务器的登录提示,
    Connected to 192.168.1.100.
    Escape character is '^]'.
    CentOS 7 (Core)
    Kernel 3.10.0-1160.el7.x86_64 on an x86_64
    login:
  3. 输入你的用户名,然后按回车,再输入密码。
  4. 登录成功后,你就可以在 Windows 的 cmd 窗口中直接操作 Linux 服务器的命令行了。

注意:Telnet 传输的所有数据(包括用户名和密码)都是明文的,非常不安全!请仅在绝对安全的内网环境中使用。

用法 3:检查 SMTP 邮件服务

场景:检查本地邮件服务器是否正在监听 25 端口。

  1. cmd 中输入:
    telnet localhost 25
  2. 如果服务正在运行,你会看到类似 SMTP 服务器的欢迎信息:
    220 mail.example.com ESMTP Postfix
  3. 此时你可以输入 SMTP 协议命令来测试邮件发送功能,
    • EHLO localhost (打招呼)
    • MAIL FROM: <sender@example.com> (发件人)
    • RCPT TO: <recipient@example.com> (收件人)
    • DATA (开始写邮件内容)
    • (单独一行,结束邮件)
    • QUIT (退出)

安全警告与替代方案

  • 安全警告:如前所述,Telnet 是不安全的协议,所有通信内容(包括密码)都以明文形式传输,极易被网络嗅探工具捕获。强烈建议不要在公共互联网或任何不信任的网络中使用 Telnet

  • 推荐替代方案

    • SSH (Secure Shell): 这是 Telnet 的安全替代品,所有通信都经过加密,是目前远程服务器管理的事实标准,Windows 10/11 已内置 OpenSSH 客户端,命令为 ssh
    • PuTTY / MobaXterm: 这些是功能更丰富的第三方终端模拟器,集成了 SSH、Telnet、RDP、Serial 等多种协议,界面友好,功能强大。
功能 DOS 命令 说明
基本连接 telnet <host> <port> 连接到指定主机的指定端口。
查看帮助 telnet 然后输入 进入 Telnet 命令行模式后查看所有命令。
关闭连接 close 关闭当前会话。
退出程序 quitexit 完全退出 Telnet。
调试排错 telnet -debug <host> <port> 显示详细的连接过程。

掌握 telnet 命令,尤其是在端口测试方面的应用,是每一位网络管理员和程序员的必备技能,但请务必牢记其安全风险,并优先选择更安全的 SSH 进行日常操作。

分享:
扫描分享到社交APP
上一篇
下一篇