Mac测试端口连接的几种方式
在 macOS 上测试端口是否开放,可通过以下三种常用方法实现(推荐优先使用系统自带的 nc
命令,简单高效):
方法 1:用系统自带 nc
(netcat)测试(最推荐)
nc
是 macOS 自带工具,无需安装,适合快速测试 TCP/UDP 端口连通性。
命令格式
bash
nc -zv 目标地址 端口号
-z
:仅扫描端口,不发送实际数据(安全且高效);-v
:显示详细连接信息(成功 / 失败会明确提示)。
示例操作
测试本地
localhost
的8080
端口:bash
nc -zv localhost 8080
- 若端口开放,返回类似:
Connection to localhost port 8080 [tcp/http] succeeded!
- 若端口关闭,返回类似:
nc: connectx to localhost port 8080 (tcp) failed: Connection refused
- 若端口开放,返回类似:
测试远程服务器(如
baidu.com
的443
端口):bash
nc -zv baidu.com 443
方法 2:用 curl
测试(适合 HTTP/HTTPS 端口)
curl
也是 macOS 自带工具,仅适用于 HTTP/HTTPS 服务的端口测试(如 80
/443
/8080
等)。
命令格式
bash
curl -m 5 -I http://目标地址:端口号
-m 5
:设置超时时间为 5 秒(避免长时间等待);-I
:仅获取 HTTP 响应头(无需下载完整内容,快速判断服务是否存活)。
示例操作
测试 http://passport.s.ecust.edu.cn:7081
的端口连通性:
bash
curl -m 5 -I http://passport.s.ecust.edu.cn:7081
- 若端口开放且服务正常,返回类似:
HTTP/1.1 200 OK
(或其他 HTTP 状态码,如302
重定向); - 若端口关闭或超时,返回类似:
curl: (7) Failed to connect to ... Connection refused
方法 3:用 nmap
测试(功能更强,需安装)
nmap
是专业网络扫描工具,支持复杂端口扫描和服务识别,但需通过 Homebrew 安装。
安装步骤(首次使用需执行)
- 安装 Homebrew(若未安装):
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- 安装
nmap
:bash
brew install nmap
命令格式
bash
nmap -p 端口号 目标地址
-p
:指定要扫描的端口(可单个或范围,如-p 80,443
或-p 1-1000
)。
示例操作
测试 localhost
的 80-100
端口范围:
bash
nmap -p 80-100 localhost
返回结果会列出每个端口的状态(open
/closed
/filtered
等)和对应的服务(如 http
/ssh
)。
三种方法对比
工具 | 优点 | 缺点 | 适用场景 |
---|---|---|---|
nc | 系统自带、无需安装、快速 | 仅支持基础连通性测试 | 日常快速验证端口是否开放 |
curl | 系统自带、适合 HTTP 服务 | 仅限 HTTP/HTTPS 端口 | 测试 Web 服务端口(如 80/443) |
nmap | 功能强、支持复杂扫描 | 需安装、扫描速度较慢 | 专业网络诊断、批量端口扫描 |
根据需求选择即可:日常快速测试用 nc
;Web 服务测试用 curl
;深度扫描用 nmap
。