使用 nc -zv 测试端口连通性
在前面的步骤中,你学习了如何使用 netstat
和 ss
列出开放端口。现在,让我们使用 nc
命令(netcat)来测试你是否真的可以连接到特定端口。nc
是一个多功能的网络工具,它可以使用 TCP 或 UDP 读写网络连接。
我们将使用 nc
的以下选项:
-z
:指定 nc
仅扫描监听的守护进程,而不向它们发送任何数据。这对于检查端口是否开放很有用。
-v
:启用详细输出,显示有关连接尝试的更多详细信息。
我们将测试到端口 22(SSH)的连通性,在前面的步骤中我们看到该端口正在监听。我们将测试连接到本地机器,本地机器可以通过 IP 地址 127.0.0.1
或主机名 localhost
来引用。
如果终端尚未打开,请打开它。
输入以下命令并按回车键:
nc -zv 127.0.0.1 22
你应该会看到类似以下的输出:
Connection to 127.0.0.1 22 port [tcp/ssh] succeeded!
此输出确认 nc
能够成功连接到本地机器上的端口 22。
现在,让我们尝试测试一个可能未开放的端口,例如端口 80(HTTP),因为在此环境中默认没有运行 Web 服务器。
输入以下命令并按回车键:
nc -zv 127.0.0.1 80
你可能会看到表明连接被拒绝或超时的输出,类似于以下内容:
nc: connect to 127.0.0.1 port 80 (tcp) failed: Connection refused
此输出表明 nc
无法连接到端口 80,这是预期的,因为该端口上没有服务在监听。
使用 nc -zv
是一种快速简便的方法,用于验证从你当前位置是否可以访问并打开特定端口。
点击 继续 完成此实验。