使用 telnet 客户端执行测试

现在安装了 telnet 客户端,我们可以执行一些基本的网络连接测试。

该命令以“telnet 主机名/ip 地址端口”的格式使用,并在 Windows 下进入命令提示符或者 powershell,或者通过 Linux 或者 Unix 中的 shell 输入。
例如,我们可以输入以下命令尝试在端口 80 上连接到 google.com:

telnet google.com 80

如果此连接成功,命令窗口将变为空白,我们可以通过按“control + ]”然后输入“退出”来终止会话,或者更好的是,我们可以从那里向服务器发出命令。
在上面的示例中,我们在端口 80 上连接到了一个 Web 服务器,该端口通常用于提供 HTTP 流量,因此我们可以发出如下 HTTP 命令:

GET /

将其输入到空白的 telnet 会话中后,我们将不会看到任何输出,直到我们按 Enter,此时我们应该会看到来自 Web 服务器的响应。
虽然这是一个基本测试,但如果会话变为空白,则表明我们可以在端口 80 上建立到 Web 服务器的 TCP 连接,这意味着可能有一个 Web 服务器运行在远程主机上接受我们的连接。
如果我们得到对 GET 命令的响应,那就更好了,因为这可以确认 Web 服务器是否正在响应并按预期运行。

如果我没有回应怎么办?

另一方面,如果 telnet 会话不成功并且无法连接,我们可能会得到类似于下面的输出。

C:\>telnet google.com 1111
Connecting To google.com...Could not open connection to the host, on port 1111: Connect failed

在这个例子中,我试图通过随机端口 1111 连接到 google.com,但是它失败了,可能是什么问题呢?

远程服务器可能没有侦听该端口:我们尝试连接的服务器可能没有任何服务侦听我们尝试连接的端口,在这种情况下它不会响应并且连接将失败它不期待端口上的连接。
如果我们有权访问远程服务器,则可以运行诸如“netstat”之类的命令来了解服务器正在侦听和接受连接的端口。

远程服务器可能没有在该端口上响应:我们尝试连接的服务器可能正在侦听该端口,但它可能正在运行防火墙,该防火墙配置为阻止连接,导致 telnet 客户端失败。
如果我们有权访问远程服务器,请使用“netstat”确认服务正在侦听指定的端口,然后调查正在使用的任何防火墙,例如 Windows 防火墙或者 iptables。
如果我们想查看服务器是否在不应该响应的端口上响应,telnet 客户端是快速测试服务器安全性的好工具。

连接可能在我们自己的网络中或者沿途的其他地方被阻止:也许我们在自己的网络中运行防火墙阻止了各种出站端口。

如何使用 telnet 测试网络连接
日期:2020-07-07 20:56:37 来源:oir作者:oir