当前位置: 首页 > news >正文

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

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

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

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

命令格式

bash

nc -zv 目标地址 端口号

  • -z:仅扫描端口,不发送实际数据(安全且高效);
  • -v:显示详细连接信息(成功 / 失败会明确提示)。
示例操作
  1. 测试本地 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
  2. 测试远程服务器(如 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 安装。

安装步骤(首次使用需执行)
  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)。
示例操作

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

http://www.dtcms.com/a/351137.html

相关文章:

  • 如何将视频从安卓设备传输到Mac?
  • Mac安装mitmproxy及操作对监控的请求
  • 少儿舞蹈小程序详细设计文档
  • Mac中修改Word的Normal.dotm文件
  • 使用Uniapp开发小程序,如何引入插件组件!
  • 三电平buckboost电路出现上下母线不平衡是什么原因
  • Linux驱动开发笔记(八)——按键输入实验
  • 滚珠导轨如何定义半导体制造精度?
  • 【LeetCode 热题 100】75. 颜色分类——双指针
  • 算法题打卡力扣第209题:长度最小的子数组(mid)
  • 计算神经科学数学建模编程深度前沿方向研究(中)
  • AbMole小课堂丨Lenvatinib(E7080):如何通过靶向多靶点抑制VEGFR/FGFR/PDGFRα抑制肿瘤?
  • 【vue eslint】报错:Component name “xxxx“ should always be multi-word
  • LeetCode 100 -- Day6
  • 论文阅读:CIKM 2024 Empowering Private Tutoring by Chaining Large Language Models
  • 低空经济产业白皮书:音视频链路在智能飞行体系中的核心地位
  • 验证码请求与缓存问题解决方案
  • 用无标签语音自我提升音频大模型:SI-SDA 方法详解
  • 【JavaEE】(19) MyBatis-plus
  • 基于SpringBoot的考研资讯平台
  • 没有cpolar:会议记录手忙脚乱;有了cpolar:CapsWriter语音转文字轻松搞定
  • 如何在GitHub找到10k+个stars的仓库
  • USB摄像头驱动完整分析 (从插入到出画)
  • 飞算JavaAI:Java开发新时代的破晓之光
  • 基于印染数据的可视化系统设计与实现
  • 【笔记】大模型业务场景流程综述
  • (论文速读)MBQ:大型视觉语言模型的模态平衡量化
  • 深度学习在金融订单簿分析与短期市场预测中的应用
  • 力扣hot100:搜索旋转排序数组和寻找旋转排序数组中的最小值(33,153)
  • 大语言模型(LLM)基本原理浅析:从“冰箱做菜“到多模型对比实战