插件窝 干货文章 linux 怎么查看远程服务器端口是否开放

linux 怎么查看远程服务器端口是否开放

端口 telnet example 示例 287    来源:    2025-05-01

在 Linux 中查看远程服务器端口是否开放,有以下几种常用方法:


1. telnet 命令

telnet <远程IP或域名> <端口号>
  • 示例telnet example.com 80
  • 结果
    • 连接成功 → 端口开放
    • Connection refused → 端口关闭或拒绝访问
  • 注意:若未安装 telnet,需先执行 yum install telnet(CentOS)或 apt install telnet(Ubuntu)。

2. nc(netcat)命令

nc -zv <远程IP或域名> <端口号>
  • 示例nc -zv example.com 22
  • 参数
    • -z:只检测端口,不发送数据。
    • -v:显示详细信息。
  • 结果
    • succeeded → 端口开放
    • 无响应或报错 → 端口关闭或网络不通。

3. nmap 工具

nmap -p <端口号> <远程IP或域名>
  • 示例nmap -p 443 example.com
  • 结果:显示端口状态为 open/closed/filtered
  • 注意:需安装 nmapyum install nmapapt install nmap)。

4. curl 测试 HTTP/HTTPS 端口

curl -I http://<域名>:<端口>
curl -I https://<域名>:<端口>
  • 示例curl -I http://example.com:80
  • 结果
    • 返回 HTTP 头 → 端口开放
    • Connection refused → 端口关闭。

5. ssh 测试 SSH 端口(默认22)

ssh -v -p <端口号> user@<远程IP或域名>
  • 示例ssh -v -p 22 root@example.com
  • 结果debug1: Connection established 表示端口开放。

6. ping + 端口扫描工具

如果目标禁用了 ICMP(ping),可结合 ping 和端口工具:

ping -c 4 example.com  # 先测试网络连通性
nc -zv example.com 80  # 再测端口

常见问题排查

  1. 连接超时
    • 检查防火墙(iptables/firewalld)是否放行端口。
    • 确认远程服务器是否监听该端口(netstat -tulnss -tuln)。
  2. 命令不存在
    • 安装对应工具(如 telnetncnmap)。

总结推荐

  • 快速测试telnetnc
  • 详细扫描nmap
  • HTTP服务curl

根据实际需求选择合适的方法即可。