如何让 telnet 到 localhost 工作?

jer*_*ome 10 localhost telnet 12.10

我正在处理需要使用 telnet 的本地开发设置(玩设置 MUD 服务器),所以请不要反馈建议我使用 SSH 作为更安全的替代方案。

然而,虽然我已经启动了 telnet 守护进程,但当我 telnet localhost 时我得到了这个输出。

$ telnet localhost
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
Run Code Online (Sandbox Code Playgroud)

连接关闭的原因有哪些?我已经检查了 hosts.allow 和 hosts.deny 上的文档,并决定不将任何条目放入其中,因为默认设置是允许所有条目,这对于我的本地开发目的来说已经足够了。

0xF*_*xF2 2

好吧,让我们一步步研究一下。要了解 telnet 端口上实际运行的内容,请键入:

sudo netstat -tulpn | grep :23
Run Code Online (Sandbox Code Playgroud)

并粘贴输出。

从另一个角度:你使用什么PHP游戏库?


Abh*_*t N -2

尝试使用telnet localhost 80 其中 80 是服务器运行的端口。我尝试使用 80 端口作为 apache 服务器,它可以工作。

您还可能需要使用 -K 和 -X 选项。在 man telnet 中阅读有关它们的更多信息

  • Apache 是一个 Web 服务器,端口 80 是 HTTP 的端口。Telnet 适用于连接到各种服务器,因为它是一个非常基本的协议 — 您可以手动输入 HTTP、SMTP 等命令。端口 23 是 telnetd 的端口。因此,没有理由期望它会在端口 80 上运行。有时,人们会在端口 80 上运行非 HTTP 服务器,以使客户端能够绕过出站防火墙限制,但没有迹象表明这就是这里发生的情况。在这里,OP 设置了服务器。如果没有进行配置,telnet 和 MUD 服务器不太可能侦听端口 80。 (3认同)
  • 此外,这里*有*一个服务器在端口 23 上运行,因为已建立连接。之后就被终止了。如果服务器在不同的端口上运行并且端口 23 上没有任何监听,则连接将被拒绝。 (2认同)