大数跨境
0
0

Linux不使用telnet测试端口连通性

Linux不使用telnet测试端口连通性 笨熊呆呆瓜
2025-12-05
4
导读:在Linux服务器上,有些操作系统默认没有telnet命令,在不使用teln

在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

通用TCP端口测试

需安装

/dev/tcp

无额外工具依赖

Bash内置

nmap

批量扫描或详细探测

需安装

curl

HTTP/HTTPS服务

通常预装

ssh

SSH服务专属

预装

socat

复杂网络调试

需安装

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

【声明】内容源于网络
0
0
笨熊呆呆瓜
知识互助 生活交流
内容 505
粉丝 0
笨熊呆呆瓜 知识互助 生活交流
总阅读50
粉丝0
内容505