学习 Telnet 命令以测试和解决连接问题

Telnet 是一种流行的网络协议,可让您以虚拟方式连接到远程计算机。 它是 1969 年开发的旧协议。

如今,SSH(Secure Shell) 已经取代了 Telnet。 SSH 也是一种网络通信协议,可让网络和系统管理员安全地连接到远程计算机。

至于 Telnet,它现在主要用于解决和测试连接问题。 学习 Telnet 命令可以帮助您更好地管理网络。

在本文中,我们将仔细研究 telnet 命令,包括了解它的工作原理以及如何解决连接问题。 让我们开始吧。

什么是远程登录?

Telnet 是一种网络协议,代表电传打字机网络。 它提供了一个命令行界面/解释器来与远程服务器进行通信。 系统和网络管理员使用 Telnet 的终端到终端通信来获得远程控制并执行不同的操作,例如初始设备设置。

为了便于使用 Telnet 协议,您需要 Telnet Client。 客户端使用户能够通过 TCP/IP 在远程系统上登录和使用应用程序。 Telnet 客户端使用 Telnet 服务器应用程序来执行操作。 此外,Telnet 客户端可用于所有现代操作系统,例如 Windows、Linux 和 macOS。

注意:在本文中,当我们提到“Telnet”时,如果另有说明,则表示“Telnet 客户端”。

Telnet 安全吗?

在 1969 年成立期间,安全性并不是执行网络任务时的主要​​关注点。 这就是 Telnet 不使用任何加密的原因。 由于它不安全,因此也不建议通过 TCP/IP 网络连接到远程客户端。 如果这样做,您就会暴露在可以中断未加密数据的黑客面前。 SSH 是一个很好的替代协议,它提供了一种安全的方式来远程连接到服务器。

Telnet 是如何工作的?

从视觉上看,Telnet 协议的工作原理如下。

Telnet 的工作原理

Telnet 是一种面向文本的通信,它创建了一个双向(客户端-服务器协议)交互式通信系统。 它利用八字节连接进行传输。 此外,您需要连接到终端的键盘和屏幕才能使用 Telnet。

您从终端输入命令以连接到远程计算机。 连接后,Telnet 使您可以控制服务器,包括其文件和进程。

要连接到远程服务器,用户应在命令提示符中输入“Telnet”。 语法是:

telnet hostname port

连接成功后,您可以使用 Telnet 提示符输入更多 Telnet 命令。

您可以使用 Telnet 的不同用途是:

  • 检查开放端口
  • 编辑文件,运行程序
  • 配置交换机、路由器等网络设备。
  [FIXED] 您对邀请的回复无法发送

要结束会话,您需要在 Telnet 提示符中键入“Telnet”。

如何在 Windows/Linux 和 macOS 中启用 Telnet 客户端

Telnet 客户端可用于所有主要平台和操作系统。 但是,您需要先安装或启用它,然后才能使用它。

#1。 视窗

如果您使用的是 Windows 7 或更高版本(8、10、11)或 Windows Vista,您可以按照以下步骤启用 Telnet 客户端:

  • 转到开始菜单并搜索控制面板。 您也可以通过按 Win + R 键然后键入“control”来打开控制面板。 它应该打开控制面板。
  • 现在选择“程序”>“程序和功能”。
  • 选择“从左窗格中打开或关闭 Windows 功能”。
  • 现在选中“Telnet 客户端”旁边的框,然后按“确定”。
  • 现在,一旦 Windows 启用它并显示消息“Windows 已完成请求的更改”,请按“关闭”。

在 Windows 中启用 Telnet

注意:您可以立即开始使用 Telnet Client,而无需重新启动计算机。

#2。 Linux

就像 Windows 一样,Linux 也没有预装 Telnet。

要在 Ubuntu 中安装 Telnet,您需要使用以下命令。

# sudo apt-get install telnet

注意:该命令因您的 Linux 发行版而异。

#3。 苹果系统

MacOS 还支持 Telnet。 要安装它,您需要使用 Homebrew。 如果未预安装 Homebrew,则可以通过运行以下命令来安装它:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

它会要求您输入管理员密码以授权安装。

安装 Homebrew 后,键入以下命令以在 MacOS 上安装 Telnet。

brew install telnet

使用 Telnet 测试网络连接并排除故障

尽管 Telnet 不是远程连接的理想选择,但它对于测试和排除网络连接故障仍然很有用。

在我们继续之前,让我们快速浏览一下 Telnet 语法。

telnet <server/host IP address> <port>

此处,服务器/主机 IP 地址是您要连接的服务器。 端口是 TCP 端口号。

例如,如果要连接到端口为 80 的服务器 IP 地址 example.com,则需要键入以下命令。

telnet example.com 80

这意味着您必须事先知道远程服务器的 IP 地址/名称和端口号才能进行故障排除。

让我们开始吧。

Web 服务器故障排除

Telnet 提供了一种测试服务器连通性的简便方法。 您需要做的就是连接到服务器/主机 IP 地址和接受连接的端口。

  Jitsi – 自托管开源视频会议解决方案 [+3 Hosting Platforms]

例如,如果您在端口 532 连接到 23.45.75.22,则需要运行以下命令。

telnet 23.45.75.22 532

从这里开始,可能会发生两件事:

  • 连接到服务器成功。 它将显示“已连接到服务器”或任何其他确认消息或等待其他输入。
  • 与服务器的连接不成功。 在这种情况下,您会收到诸如“连接失败”或“连接被拒绝”之类的消息
  • Telnet 不返回任何消息。
  • Telnet 尝试连接到远程服务器失败的原因有多种。 此外,如果 Telnet 未返回任何错误消息,则可能是防火墙或防病毒软件阻止了您端或服务器的连接。

    如果我们在端口 80 连接到 geefklare.com,您会看到一个即时连接,因为它正在等待进一步的命令。

    telnet geefklare.com 80
    Connected to techblik.com.com.
    Escape character is '^]'.

    现在,输入以下命令。

    GET / HTTP/1.1
    Host: techblik.com.com

    它将返回以下内容:

    HTTP/1.1 200 OK
    Date: Fri, 18 Nov 2022 04:40:33 GMT
    Content-Type: text/plain; charset=UTF-8
    Content-Length: 16
    X-Frame-Options: SAMEORIGIN
    Referrer-Policy: same-origin
    Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    [Additional server output follows]

    现在,查看连接到服务器的失败尝试。

    telnet 23.45.75.222 532
    Connecting To 23.45.75.222...Could not open a connection to the host on port 532: Connect failed

    检查端口是否打开

    如果可以使用 Telnet 远程访问服务器,您还可以使用它来检查端口是否打开。

    要检查服务器上的端口是否打开,您需要使用以下命令。

    telnet <server IP address> <port>

    比如你的服务器IP地址是23.45.47.53,你要查看的端口是532。

    telnet 23.45.47.53 532

    如果命令成功,您将看到一个空白屏幕,这意味着端口已打开。 如果显示为“connecting..”然后显示错误消息,则表示端口未打开。

    Connection to 23.45.47.53:532 - fail
    Error #110 (Connection timed out)

    SMTP 邮件服务器故障排除

    简单邮件传输协议 (SMTP) 管理邮件服务器之间的通信。

    您可以使用 Telnet 对 SMTP 服务器进行故障排除,以查看它们是否正在接收和发送邮件。 您向 SMTP 服务器发送手动消息请求。 如果一切正常,您会收到回复。

    Telnet 让您可以通过两种方式测试 STMP 连接:

  • 测试从 Internet 到您的邮件服务器的邮件流。
  • 测试从您的邮件服务器到另一台服务器的邮件流。
  •   您如何登录您的 PSN 帐户

    要运行示例交换,请在终端中键入以下命令。

    telnet mail.techblik.com.com 25
    Trying 192.168.0.68…
    Connected to mail.techblik.com.com
    Escape character is '^]'.
    220-mail.techblik.com.com ESMTP Exim 4.7
    220-We do not authorize the use of this system to
    220 transport unsolicited and/or bulk e-mail.
    EHLO mail.techblik.com.com
    250-techblik.com.com Hello techblik.com.com [192.168.3.200]
    250-AUTH PLAIN LOGIN
    
    QUIT

    在这里,用户键入的另外两个命令是:

  • EHLO邮箱.techblik.com.com
  • 退出
  • ECLO 命令在使用 MAIL FROM 命令之前识别域名。 QUIT 命令退出 Telnet 会话。

    如果您需要更高级的命令,请查看这篇关于使用 Telnet 测试 Exchange 服务器上的 SMTP 通信的文章。

    FTP 服务器故障排除

    就像 SMTP 和 Web 服务器一样,您也可以对 FTP 服务器进行故障排除。 您需要做的就是输入 FTP 服务器 IP 地址并连接到端口 21。

    telnet ftp.techblik.com.com 21

    如果尝试成功,您现在已连接到服务器。 否则,您会看到一条错误消息。

    Error #0 (php_network_getaddresses: getaddrinfo failed: No address associated with hostname)

    SSH 故障排除

    SSH 是安全连接的现代版本,取代了 Telnet。 您可以使用 Telnet 查看服务器是否正在运行 SSH。

    为此,请使用带有服务器 IP 地址和端口 22 的 Telnet 命令。

    telnet techblik.com.com 22
    Trying 192.168.0.62…
    Connected to techblik.com.com.
    Escape character is '^]'.
    SSH-2.0-OpenSSH_5.3

    最后的话

    Telnet 是当今时代的便利工具。 它可以让您成功排除网络连接故障,而无需严重依赖更复杂的工具或命令行。 使用 Telnet,您可以检查是否可以访问 Web 服务器,查看端口是否打开,以及排除 SSH 和 FTP 故障。

    您可以查看这篇关于如何解决“找不到 telnet 命令”错误的文章。