在Linux服务器上,有些操作系统默认没有telnet命令,在不使用telnet的情况下,有多种方法可以测试远程服务器的端口连通性。以下是几种常用且高效的方式:
1. 使用 nc(netcat)
步骤:
nc -zvw3 目标IP 端口•
-z:只扫描端口(不发送数据)•
-v:显示详细输出•
-w3:设置超时时间为3秒
示例:
• 成功 :显示
Connection to 192.168.1.100 80 port [tcp/http] succeeded!• 失败 :显示超时错误或拒绝连接。
注意:若未安装
nc,可通过包管理器安装(如apt install netcat)。

2. 使用 nmap
步骤:
nmap -Pn -p 端口 目标IP•
-Pn:跳过主机发现(直接扫描端口)•
-p:指定端口号
示例:
nmap -Pn -p 22 192.168.1.100• 开放 :显示
22/tcp open ssh• 关闭 :显示
22/tcp closed
注意:
nmap可能需要安装(如apt install nmap),适用于批量端口扫描。

3. 使用 Bash 内置的 /dev/tcp
步骤:
timeout 3 bash -c "</dev/tcp/目标IP/端口" && echo "端口开放" || echo "端口关闭"• 原理 :通过Bash内置功能直接操作TCP套接字。
• 超时 :
timeout 3限制3秒后终止。
示例:
timeout 3 bash -c "</dev/tcp/google.com/443" && echo "OPEN" || echo "CLOSED"
4. 使用 curl(适用于HTTP/HTTPS)
步骤:
curl -I --connect-timeout 3 http://目标IP:端口•
-I:只获取响应头(快速验证)•
--connect-timeout 3:设置超时时间
示例:
curl -I --connect-timeout 3 http://192.168.1.100:80• 成功 :返回HTTP状态码(如
200 OK)。• 失败 :显示连接错误(如
Connection refused)。

5. 使用 ssh(仅限SSH端口)
步骤:
ssh -p 端口 目标IP -o ConnectTimeout=3 "exit"• 通过尝试建立SSH连接并立即退出验证端口。
• 适用于测试SSH默认端口(22)或其他自定义SSH端口。
示例:
ssh -p 2222 user@192.168.1.100 -o ConnectTimeout=3 "exit"
6. 使用 socat
步骤:
#TCP前面有空格
socat - TCP:目标IP:端口,connect-timeout=3• 按
Ctrl+C退出。• 成功 :保持空连接(无错误提示)。
• 失败 :显示连接错误信息。

使用场景推荐
选择合适的方法取决于服务器环境和测试需求,优先推荐 nc或 /dev/tcp进行快速验证。