soarli

别再只会用 Ping 啦!一文教你在主流系统(Win/Mac/Linux/安卓)中测试端口连通性
在日常的网络排障或服务器部署中,我们经常需要测试本机与目标服务器的网络连接。很多同学的第一反应是打开终端输入 pi...
扫描右侧二维码阅读全文
09
2026/03

别再只会用 Ping 啦!一文教你在主流系统(Win/Mac/Linux/安卓)中测试端口连通性

在日常的网络排障或服务器部署中,我们经常需要测试本机与目标服务器的网络连接。很多同学的第一反应是打开终端输入 ping <IP>

但是,ping 命令只能基于 ICMP 协议测试 IP 的连通性,它无法告诉你服务器的某个特定端口(比如 80、443、3306)是否开放并允许连接。 要测试特定端口的连通性,我们需要建立 TCP 连接。今天,我们就来盘点一下在 Windows、Ubuntu、macOS 和 Android 等主流系统中,测试特定 IP 和端口连通性的最佳方法。


1. Windows 系统:拥抱 PowerShell

很多老教程会教你使用 telnet,但现代 Windows 系统出于安全考虑,默认是关闭 Telnet 客户端的。因此,最推荐也是最优雅的方法是使用系统自带的 PowerShell。

方法一:使用 PowerShell(推荐,开箱即用)

打开你的 PowerShell,输入以下命令:

Test-NetConnection -ComputerName <IP地址> -Port <端口号>
  • 示例: Test-NetConnection -ComputerName 192.168.1.10 -Port 80
  • 如何看结果: 在返回的详细信息中,找到 TcpTestSucceeded 这一行。如果是 True,恭喜你,端口畅通!如果是 False,则说明无法连接。

方法二:使用经典 Telnet

如果你非常怀旧并开启了 Telnet 客户端(控制面板 -> 程序 -> 启用或关闭 Windows 功能),可以使用:

telnet <IP地址> <端口号>
  • 如何看结果: 如果屏幕瞬间变黑或进入一个空白光标界面,说明连接成功。如果一直提示“正在连接...”最后报错,说明不通。

2. Linux (Ubuntu/CentOS):强大的命令行工具

Linux 玩家的工具箱里永远不缺网络神器,最常用的当属 Netcat (通常简称 nc) 和 Telnet。

方法一:Netcat / nc(网络界的瑞士军刀)

打开终端,直接输入:

nc -zv <IP地址> <端口号>
  • 示例: nc -zv 192.168.1.10 443
  • 参数揭秘: -z 表示“零 I/O 模式”(只扫描不发送数据),-v 表示“详细模式”(输出执行过程)。
  • 如何看结果: 看到 succeeded!Connected to... 就是成功通关;如果显示 Connection refusedConnection timed out,说明连接被拒绝或超时。

方法二:Telnet

与 Windows 类似,如果系统安装了该工具,可以直接测试:

telnet <IP地址> <端口号>

3. macOS:优雅的 Unix 核心

由于 macOS 底层基于 Unix,它的网络命令与 Linux 几乎如出一辙。需要注意的是,较新的 macOS(High Sierra 之后)为了安全,已经移除了内置的 telnet

方法一:使用 Netcat (nc)(首选)

打开“终端”App,输入与 Linux 一样的命令:

nc -zv <IP地址> <端口号>
  • 如何看结果: 输出 Connection to <IP> port <端口> [tcp/*] succeeded! 表示连接成功。

方法二:用 curl 曲线救国

如果你的环境中恰好 nc 罢工了,强大的 curl 也能用来测试 TCP 端口:

curl -v telnet://<IP地址>:<端口号>
  • 如何看结果: 看到 Connected to <IP> 提示即代表端口开放,测试完毕后按 Ctrl+C 退出即可。

4. Android (安卓):移动端的排障指南

手机虽然没有原生的命令行供普通用户使用,但我们依然有办法进行专业的网络测试。

方法一:借助第三方 App(最适合大众)

在各大应用商店搜索并下载网络诊断工具,如 PingToolsNetwork Utilities
打开 App,找到 Port Scanner(端口扫描)或 Telnet 功能模块,输入 IP 和端口即可获得直观的可视化结果。

方法二:使用 Termux(极客专属)

如果你是个极客,一定不要错过 Termux 这款终端模拟器。它能在手机上运行一个微型的 Linux 环境。
打开 Termux 后,输入以下命令:

pkg install netcat-openbsd  # 初次使用先安装 nc 工具
nc -zv <IP地址> <端口号>

操作和结果判断与 Linux 完全一致!


💡 排错避坑指南
如果测试结果是不通(Connection refused / timed out),先别急着怀疑人生,通常是以下三个“嫌疑人”作祟:

  1. 服务未启动: 目标服务器上压根没有程序监听这个端口。
  2. 本机防火墙拦截: 目标服务器的内部防火墙(如 Linux 的 iptables/firewalld,Windows 防火墙)把你的请求拒之门外了。
  3. 网络安全策略: 你们之间的网络路由、机房防火墙,或是云服务器的“安全组”策略拦截了该端口的流量。

希望这篇文章能帮你告别“盲目 Ping”,精准定位网络问题!如果觉得有用,欢迎点赞收藏,也欢迎在评论区分享你的网络排障踩坑日常。

最后修改:2026 年 03 月 10 日 12 : 12 AM

发表评论