> 技术文档 > 如何ping指定IP的端口号_ping 端口

如何ping指定IP的端口号_ping 端口


一、Windows 系统

方法 1:使用 ping 命令(可以ping IP,无法ping端口号)

打开命令提示符(CMD)

  • 按 Win + R,输入 cmd 并回车。
  • 常用命令格式 ping [目标IP/域名] [-参数]

示例

  • 检测百度域名的连通性:
ping www.baidu.com
正在 Ping www.baidu.com [14.215.177.38] 具有 32 字节的数据:来自 14.215.177.38 的回复: 字节=32 时间=12ms TTL=54来自 14.215.177.38 的回复: 字节=32 时间=11ms TTL=54来自 14.215.177.38 的回复: 字节=32 时间=10ms TTL=54来自 14.215.177.38 的回复: 字节=32 时间=13ms TTL=5414.215.177.38 的 Ping 统计信息: 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),往返行程的估计时间(以毫秒为单位): 最短 = 10ms,最长 = 13ms,平均 = 11.5ms
  •  ping 某 IP :
ping 127.0.0.1
C:\\Users\\Administrator>ping 127.0.0.1正在 Ping 127.0.0.1 具有 32 字节的数据:来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128来自 127.0.0.1 的回复: 字节=32 时间

但是这样只能知道ip是可以ping通的,并不知道它的某个端口是否可以ping通,于是可以使用telnet命令。
只需要在cmd中输入:Telnet +IP +端口 或者 Telnet 域名 端口 回车;

方法 2:使用 telnet 命令(需手动开启功能)

适用场景:检测 TCP 端口是否开放(如 Web 服务的 80/443 端口、SSH 的 22 端口等)。

1. 开启 Telnet 功能:

  • 打开「控制面板」→「程序」→「启用或关闭 Windows 功能」,勾选「Telnet 客户端」并确定。

2. 执行命令:

telnet [目标IP] [端口号]

示例:检查 IP 为 127.0.0.1 的 80 端口:

telnet 127.0.0.1 80

结果判断

  • 窗口黑屏且无报错,表示端口开放;
  • 若提示「无法打开连接」或「连接失败」,表示端口关闭或被防火墙拦截。

方法 3:使用 netstat 命令(间接验证本地端口)

适用场景:查看本地端口的连接状态(如确认程序是否监听某端口)。
命令示例

netstat -ano | findstr \"端口号\"
  • 参数说明
    • -a:显示所有连接和监听端口;
    • -n:以数字形式显示地址和端口号;
    • -o:显示关联的进程 ID。
  • 示例:查看本地 3306 端口(MySQL)的状态:
netstat -ano | findstr \"3306\"

二、Linux/macOS 系统

方法 1:使用 telnet 或 nc(netcat)命令

1. Telnet 命令(需安装):

telnet [目标IP] [端口号]

示例:检查 10.0.0.1 的 22 端口(SSH):

telnet 10.0.0.1 22
  • 结果同上:无报错表示端口开放,超时或拒绝连接表示关闭。

2. Netcat 命令(推荐,功能更强大):

nc -nzv [目标IP] [端口号]

参数说明:

  • -n:不进行 DNS 解析,直接使用 IP 地址(避免因 DNS 问题导致的延迟或错误)。
  • -z:零 I/O 模式,仅检测端口是否开放,不发送数据(减少对目标服务的影响)。
  • -v:详细输出模式(verbose),显示连接尝试的结果。

示例:检查 example.com 的 443 端口(HTTPS): 

nc -nzv example.com 443

输出示例: 

Connection to example.com 443 port [tcp/https] succeeded! # 端口开放

方法 2:使用 ss 或 lsof 命令(查看本地端口) 

查看本地监听的端口

ss -tuln | grep [端口号] # ss 命令 lsof -i :[端口号] # lsof 命令(需安装)

示例:查看本地 8080 端口是否被占用: 

ss -tuln | grep 8080

注意事项 

端口协议类型:

  • TCP 端口和 UDP 端口需区分(如 DNS 使用 UDP 53 端口,HTTP 使用 TCP 80 端口)。
  • telnet 和 nc 默认检测 TCP 端口,检测 UDP 端口需加参数(如 nc -zvu [IP] [端口])。

防火墙与权限:

  • 目标主机的防火墙(如 Windows 防火墙、Linux 的 iptables)可能拦截端口访问,需确认规则。
  • 部分端口(如 1-1024)需管理员 /root 权限才能检测。

超时问题:

  • 若网络延迟高或端口关闭,命令可能需要等待较长时间才会返回结果,可按 Ctrl+C 强制终止。 

三、通用工具:在线端口检测(无需本地工具)

若无法在本地执行命令,可通过在线网站检测端口是否开放,例如:

  • WhatIsMyIPAddress:https://whatismyipaddress.com/port-scanner
  • Canyouseeme:http://canyouseeme.org/
  • 站长工具:https://tool.chinaz.com/port 

操作步骤

  • 输入目标 IP 和端口号;
  • 网站会尝试连接并返回结果(可能受目标服务器防火墙影响)。