Mac测试端口连接的几种方式

在 macOS 上测试端口是否开放,可通过以下三种常用方法实现(推荐优先使用系统自带的 nc 命令,简单高效):

方法 1:用系统自带 nc(netcat)测试(最推荐)

nc 是 macOS 自带工具,无需安装,适合快速测试 TCP/UDP 端口连通性。

命令格式

bash

复制代码
nc -zv 目标地址 端口号
  • -z:仅扫描端口,不发送实际数据(安全且高效);
  • -v:显示详细连接信息(成功 / 失败会明确提示)。
示例操作
  1. 测试本地 localhost8080 端口:

    bash

    复制代码
    nc -zv localhost 8080
    • 若端口开放,返回类似:Connection to localhost port 8080 [tcp/http] succeeded!
    • 若端口关闭,返回类似:nc: connectx to localhost port 8080 (tcp) failed: Connection refused
  2. 测试远程服务器(如 baidu.com443 端口):

    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 安装。

安装步骤(首次使用需执行)
  1. 安装 Homebrew(若未安装): bash

    复制代码
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. 安装 nmap

    bash

    复制代码
    brew install nmap
命令格式

bash

复制代码
nmap -p 端口号 目标地址
  • -p:指定要扫描的端口(可单个或范围,如 -p 80,443-p 1-1000)。
示例操作

测试 localhost80-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

相关推荐
sweethhheart1 天前
【typora激活使用】mac操作方式
前端·数据库·macos
库奇噜啦呼2 天前
【iOS】简单的四则运算
macos·ios·cocoa
HoJunjie2 天前
macOS sequoia 15.7.1 源码安装node14,并加入nvm管理教程
macos·node.js
心灵宝贝2 天前
Principal v6.15 中文汉化版安装教程|Mac .dmg 文件安装步骤详解
macos
你好龙卷风!!!2 天前
mac | Windows 本地部署 Seata1.7.0,Nacos 作为配置中心、注册中心,MySQL 存储信息
windows·mysql·macos
源文雨2 天前
MacOS 下 Warp ping 局域网设备报错 ping: sendto: No route to host 的解决方法
运维·网络协议·安全·macos·网络安全·ping
liulilittle3 天前
macOS 内核路由表操作:直接 API 编程指南
网络·c++·macos·策略模式·路由·route·通信
QQ12958455044 天前
Mac添加全局变量
开发语言·macos
Everbrilliant894 天前
Xcode上编译调试ffmpeg
macos·ffmpeg·xcode·ffmpeg源码编译工具·xcode调试ffmpeg源码·ffmpeg工具环境变量配置
感谢地心引力4 天前
iOS26 打开开发者模式
windows·macos·ios·iphone·ios26