为什么我对 Web 服务器使用 telnet 会以相同的方法向其他人提供不一致的结果?

Kyl*_*zer 3 ssh telnet putty

我正在尝试使用端口 80 连接到一个网站 (www.ucf.edu),并发送一个 GET 请求,但我使用相同的方法得到了与其他学生不一致的结果。在执行此操作之前,我们必须使用 SSH 安全地连接到我们的学校服务器。连接后,我们被指示发送获取请求“GET /index.html HTTP/1.1”,当我发送此请求时,我得到不一致的结果。

我试过在 Windows 上使用 Putty,在虚拟机上使用 ubuntu 的命令提示符,但无济于事。

预期结果:

telnet www.ucf.edu 80

尝试 10.171.52.44

连接到 www.ucf.edu。

转义字符是“^]”。

获取 /index.html HTTP/1.1\r\n

发现 HTTP/1.1 302

服务器:阿帕奇

位置:https : //www.ucf.edu/index.html

等等等等

实际结果:

telnet www.ucf.edu 80

正在尝试 52.5.147.12...

连接到 edums-dr-alb-211439321.us-east-1.elb.amazonaws.com。

转义字符是“^]”。

获取 /index.html HTTP/1.1\r\n

HTTP/1.1 400 错误请求

服务器:awselb/2.0

日期:2019 年 10 月 3 日星期四 05:49:42 GMT

Ton*_*nny 6

对于您而言,www.ucf.edu 解析为不同的 IP 地址(公共互联网而不是私有 10.xx.xx.xx 地址)。显然这是一个不同的服务器。

您提到您必须先使用 SSH 登录到学校服务器。我假设您应该在连接到学校服务器时从该 SSH 会话中运行 telnet 命令(在这种情况下,您不会在互联网上获得真正的 www.ucf.edu,而是使用使用10.xx.xx.xx 私有地址)。

但是您提到您从 Windows 和 Linux 获得相同的结果,所以我只能假设您在执行此操作时没有登录到 SSH 服务器。(如果您连接到 SSH,则客户端操作系统不会有任何区别。)或者您确实登录了,但再次注销了您不应该这样做的情况。

所以你最好仔细检查说明。因为我很确定您在此过程中错过了一步。或者走的太多了。

  • 另请注意,10.171.52.44 是专用 IP 地址,用于专用网络,而 52.5.147.12 是公共 IP 地址。 (2认同)