如何 Ping 指定 IP 的端口号(检测端口是否开放)

普通的 ping 命令只能检测主机是否可达(基于 ICMP 协议),无法检测指定端口(如 80、443、3306 等)。要“ping 一个端口”,实际上是检测目标 IP 的某个端口是否开放,常用以下工具和方法。

1. Windows 系统(最简单常用)

方法1:PowerShell(推荐,内置)

Test-NetConnection -ComputerName 192.168.1.1 -Port 80
  • -ComputerName:目标 IP 或域名
  • -Port:要检测的端口号

输出示例(端口开放):

ComputerName     : 192.168.1.1
RemoteAddress    : 192.168.1.1
RemotePort       : 80
InterfaceAlias   : 以太网
SourceAddress    : 192.168.1.100
TcpTestSucceeded : True   ← 表示端口开放

如果 TcpTestSucceeded : False,说明端口关闭或被防火墙阻挡。

方法2:telnet(需启用)

  1. 启用 Telnet 客户端:
    • 设置 → 应用 → 程序和功能 → 启用或关闭 Windows 功能 → 勾选 “Telnet 客户端”
  2. 命令:
    telnet 192.168.1.1 80
    
    • 屏幕变黑或显示 “Connected to…” → 端口开放
    • 显示 “无法打开到主机的连接” → 端口关闭

方法3:第三方工具(更强大)

  • PuTTY:下载后选择 “Telnet” 或 “Raw”,输入 IP 和端口,连接成功即开放。
  • PortQry(微软官方工具):下载后用 portqry -n IP -e 端口
2. Linux / macOS 系统

方法1:nc(netcat,最常用)

nc -zv 192.168.1.1 80
# 或
nc -z -v 192.168.1.1 80
  • -z:扫描模式(不发送数据)
  • -v:显示详细信息

输出示例:

  • 成功:Connection to 192.168.1.1 port 80 [tcp/http] succeeded!
  • 失败:connect to 192.168.1.1 port 80 (tcp) failed: Connection refused

方法2:telnet

telnet 192.168.1.1 80
  • 显示 “Connected to…” → 开放
  • “Connection refused” 或超时 → 关闭

方法3:nmap(专业端口扫描)

nmap -p 80 192.168.1.1

输出:

  • 80/tcp open http → 开放
  • 80/tcp closed http → 关闭
3. 跨平台在线工具(无需安装)

如果不想用命令行,可以用网页工具:

输入公网 IP 和端口即可检测(注意:只能检测公网可达的端口,本地局域网不行)

4. 常见端口参考
端口 服务 常见用途
21 FTP 文件传输
22 SSH 远程登录
23 Telnet 远程登录(不安全)
80 HTTP 网页
443 HTTPS 安全网页
3306 MySQL 数据库
3389 RDP Windows 远程桌面
8080 HTTP 代理/替代 常用开发端口
5. 注意事项

总结推荐

  • Windows 用户:优先用 Test-NetConnection(PowerShell)
  • Linux/macOS 用户:优先用 nc -zv
  • 快速测试:用在线工具

如果你有具体场景(如“检测服务器 3306 端口”或“批量检测多个端口”),告诉我,我再给你更详细的命令!

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐