---
title: "macOS 防火牆阻擋傳入連線：允許 App · Kilobat 指南"
url: "https://kilobat.app/zh-hant/guides/macos-firewall-incoming.html"
description: "macOS 防火牆只控制傳入連線。了解它是否阻擋了你的伺服器或共享服務，並安全地允許 App。"
---

區域網路

# macOS 防火牆阻擋傳入連線

macOS 防火牆控制的是其他電腦向你的 Mac 發起的連線，不控制你的 App 發起的連線。

適用於：「系統設定」>「網路」>「防火牆」適用於 macOS 13 Ventura 及以上版本。較早的版本使用「安全性與隱私權」。 · 檢查日期：2026年10月29日

## 症狀

- 其他裝置無法連到你 Mac 上的伺服器、遊戲或共享服務。
- Mac 不回應其他裝置的 ping。
- 開發伺服器在 Mac 上可以使用，但同一個 Wi-Fi 上的手機卻連不到。
- macOS 詢問是否允許某個 App 接受傳入的網路連線。

## 可能原因

- **阻擋所有傳入連線。**Apple 表示，此選項會阻擋連到非必要服務及所有其他共享服務的連線。
- **被拒絕的 App。**你先前在提示中按了「拒絕」，或該 App 在防火牆「選項」中被設為阻擋。
- **隱形模式。**Mac 不會回應 ping 等探測請求。
- **伺服器監聽 127.0.0.1。**這樣無論防火牆如何設定，都只有 Mac 本身能連線。

## 如何檢查

1. 選擇「蘋果」選單 >「系統設定」>「網路」>「防火牆」。查看「防火牆」是否開啟。
2. 按一下「選項」。查看你的 App 的設定，以及「阻擋所有傳入連線」。
3. 從「終端機」顯示防火牆狀態。

   ```
   /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
   /usr/libexec/ApplicationFirewall/socketfilterfw --getblockall
   /usr/libexec/ApplicationFirewall/socketfilterfw --getstealthmode
   ```
4. 確認伺服器監聽的是所有位址，而不只是 127.0.0.1。

   ```
   lsof -nP -iTCP:8000 -sTCP:LISTEN
   ```

## 如何修正

1. 如果需要共享或伺服器功能，請在防火牆「選項」中關閉「阻擋所有傳入連線」。
2. 按一下「加入」按鈕並選取 App，將它設為允許傳入連線。
3. 按一下「好」，再從其他裝置測試一次連線。
4. 你也可以從「終端機」允許 App。將路徑換成你的 App。

   ```
   sudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp /Applications/Example.app
   ```

   需要管理者密碼。
5. 保持防火牆開啟，只允許必須接受連線的 App。

## 使用 Kilobat

1. Kilobat 的過濾器控制的是你的 App 發起的連線，無法取代 macOS 防火牆處理傳入連線。
2. 若要查看伺服器程序開啟的通訊端，請使用 destinations 指令。

   ```
   kilobat destinations --pid 12345
   ```

## 常見問題

**macOS 防火牆會阻擋傳出連線嗎？**

不會。Apple 將它描述為防範其他電腦所發起連線的保護機制。傳出連線請使用過濾器 App。

**隱形模式有什麼作用？**

Mac 不會回應來自不明來源的 ping 等探測請求。已允許的 App 仍會收到它們的請求。

## 資料來源

- [Apple 支援：在 Mac 上更改防火牆設定](https://support.apple.com/guide/mac-help/change-firewall-preferences-on-mac-mh11783/mac)
- [Apple 支援：在 Mac 上使用防火牆阻擋連線](https://support.apple.com/guide/mac-help/block-connections-to-your-mac-with-a-firewall-mh34041/mac)
- [Apple 平台安全性：應用程式防火牆](https://support.apple.com/guide/security/application-firewall-seca0e83763f/web)
- socketfilterfw(8)，macOS 27.2 內建的 man 頁面

資料來源檢查日期：2026年10月29日。man 頁面為 macOS 內建版本；在終端機中用 `man <name>` 開啟。

## 相關指南

- [App 找不到區域網路上的裝置](https://kilobat.app/zh-hant/guides/local-network-permission.html): macOS 15 Sequoia 以上版本會在 App 連接區域網路上的裝置前先詢問你。
- [容器無法連到 Mac 上的 localhost](https://kilobat.app/zh-hant/guides/localhost-from-container.html): 每個容器都有自己的網路堆疊。
- [Little Snitch、LuLu 等網路延伸功能在 Mac 上互相衝突](https://kilobat.app/zh-hant/guides/network-extension-conflicts.html): macOS 上的防火牆、VPN 和內容過濾器都使用網路延伸功能。
- [從 Mac 找出區域網路上的裝置](https://kilobat.app/zh-hant/guides/find-devices-on-network.html): macOS 內建兩種查看其他裝置的方法：ARP 表和 Bonjour。
