是的,mac上airdrop搜不到设备很可能是防火墙拦截了sharingd和mdnsresponder服务;需关闭“阻止所有传入连接”,手动放行这两项系统服务,并通过控制台日志或临时关闭防火墙验证拦截是否仍存在。
mac 上 airdrop 搜不到附近设备,如果已确认 wi-fi、蓝牙开启,距离合理,可见性设为“所有人”,但问题依旧,那很可能是系统防火墙的入站规则误拦了 airdrop 的底层服务。airdrop 本身不作为一个独立应用出现在防火墙列表里,它依赖 sharingd(文件共享守护进程)和 mdnsresponder(负责设备发现与名称解析)这两个系统服务通信。一旦防火墙阻止了它们的入站连接,设备就无法被彼此“看见”。
检查并关闭“阻止所有传入连接”
这是最常见也最直接的冲突点:
- 打开“系统设置” → “网络” → 选中当前 Wi-Fi 连接 → 点击右下角“防火墙”选项卡(或在“高级”中查找)
- 点击“防火墙选项…”
- 确认“阻止所有传入连接”未被勾选——只要勾选了这一项,AirDrop 必然失效,因为 sharingd 和 mDNSResponder 的响应全被拦截
- 若已勾选,取消后直接点“确定”,无需重启,立刻测试 AirDrop
手动放行关键系统服务
即使“阻止所有传入连接”未启用,某些自定义规则仍可能单独屏蔽 sharingd 或 mDNSResponder:
- 在同一个“防火墙选项…”窗口中,向下滚动查看服务列表
- 查找 sharingd 和 mDNSResponder —— 它们通常以灰色字体显示在系统服务区域
- 如果任一服务右侧状态为“阻止”,点击其左侧的开关将其设为“允许”
- 若列表中没有这两项,可点击左下角“+”号,手动添加:路径为
/usr/libexec/sharingd和/usr/sbin/mDNSResponder - 保存后关闭窗口,AirDrop 会自动尝试重建发现通道
验证防火墙是否仍在干扰
若上述操作后仍无效,可通过日志确认是否真有拦截发生:
- 打开“控制台”应用(聚焦搜索即可)
- 在左侧边栏选择你的 Mac 名称,在搜索框输入 sharingd 或 mDNSResponder
- 查看最近几分钟是否有类似 “connection denied by firewall” 或 “blocked by pf” 的报错
- 若有,说明防火墙仍在生效;若无,问题大概率已不在防火墙层面,需转向网络重置或用户配置排查
临时禁用防火墙快速验证
这是判断问题归属最干脆的方法:
- 回到“防火墙选项…”窗口,直接点击顶部的“关闭防火墙”按钮
- 等待 10 秒,立即打开 AirDrop 窗口,看能否秒级发现附近设备
- 若能发现,说明问题确由防火墙规则引起;此时再逐项恢复规则,只保留对 sharingd 和 mDNSResponder 的允许即可
- 验证完毕后,务必重新开启防火墙,仅保留必要放行项,兼顾安全与功能











