我想知道是否有必要在机器的两边启用telnet来连接telnet。
问题是:我正在尝试从Linux服务器(Red )向端口80发送一些公共IP。
这个公共IP已经启用了HTTP (80)。我不确定telnet是否启用,但所有者说是的。
在我的Linux服务器上,HTTP (80)是启用的,但不是telnet。相反,启用SSH。
当我从我的Linux服务器:telnet PublicIP 80上发电话时,上面写着:
Trying "PublicIP"...
Connected to "PublicIP" ("PublicIP").
Escape character is '^]'.
Connection closed by foreign host是否必须在我的服务器上启用telnet才能工作?因为在另一端没有其他消息来源证实的问题。公共知识产权: 220.226.190.180
请解释一下我该怎么做。如果我必须在我的Linux服务器上启用telnet,请共享命令和方法。
发布于 2014-05-29 20:45:20
您正在尝试用telnet测试到远程Web服务器的连接吗?然后,不:您不需要telnet服务器。远程HTTP服务器正在等待命令,如转义字符所示。当它超时等待时,连接将关闭。所以..。
telnet <hostname or ip address> 80
然后键入一些HTTP命令:
GET / HTTP/1.1
host: <fqdn>使用远程Web服务器配置为服务的主机的FQDN。它将使用上面的HTTP命令返回默认文档。请注意0xAF的准确评论。
发布于 2014-05-29 21:12:34
要回答第一句中的问题: Telnet是两件事:服务器端应用程序(守护进程)和客户端应用程序。
当telnet服务器运行时,计算机正在监听来自telnet客户端的TCP端口23的连接。
telnet客户端不监听任何端口,而是尝试连接到计算机上的TCP端口23 (默认情况下)。如果连接正确,则可能会提示用户登录,然后具有交互式shell会话。由于telnet默认使用未加密的纯文本(包括您的密码!)进行通信,因此不建议这样做。
然而,正如Christopher在他的出色答案中所说的,如果您真的在尝试使用telnet测试http服务器,您可以使用telnet程序,而不需要telnet服务器。
telnet客户端程序可用于连接到默认端口23以外的其他TCP端口。
telnet <hostname> <TCP port>由于http服务器通常在端口80上侦听,所以可以使用telnet程序连接到端口80,并查看http服务器连接到浏览器时发送给浏览器的内容:
telnet google.com 80这将连接,但是必须键入以下文本,这只是一个简单的http请求(大小写很重要):
GET / HTTP/1.1
host: test.com然后按两次enter键。
然后,您将看到google向浏览器提供的所有原始html。您可以使用相同的概念来测试您自己的http服务器。
发布于 2014-05-29 23:27:31
telnet可以用来测试HTTP,但是有些工具更适合这个任务。我个人推荐curl。它本质上是一个命令行实用程序,能够与多种协议(HTTP、HTTPS、FTP.)进行交互。使用curl而不是telnet来测试HTTP服务器可以避免手动输入HTTP请求,而且它将为您提供更多的信息。您可能认为对当前情况有用的一些特性是:
使用HTTP连接到主机,并请求默认文档:
curl <public ip>使用HTTP连接到主机,并仅查看HTTP报头:
curl -I <public ip>使用HTTP连接到主机,只查看HTTP头,然后遵循3xx重定向:
curl -LI <public ip>curl确实有几十种选择。我建议使用curl --help进行快速总结,使用man curl或curl --manual获取更详细的信息。
https://unix.stackexchange.com/questions/132606
复制相似问题