來自開發者 acidvegas 的一篇實測紀錄 acidvegas x blog – the port that does not exist,受到社群矚目,他把一個 IRC 網路架在不該存在的 Port 0 上,隨後好奇是否還有別人這樣做,於是對整個 IPv4 網段掃描 Port 0,結果發現它戳破了一個長年被視為理所當然的假設。
Port 0 的禁忌來自程式介面,不是網路封包
作者在文中指出,Port 0 的惡名其實源自 sockets API 的行為,而非 TCP 線路上的規則。當程式以 sin_port = 0 呼叫 bind() 時,並不是要求綁定 Port 0,而是請作業系統代為挑一個臨時埠,Linux 會從 net.ipv4.ip_local_port_range 的範圍中選號。換句話說,工具拒絕 Port 0、瀏覽器封鎖 Port 0、掃描器的預設埠清單跳過 Port 0,都是軟體層面的默契,而不是通訊協定的禁令。
標準文件只說「保留」,沒有說「禁止」
作者引用 RFC 9293 與 RFC 6335 說明,TCP 標頭的目的埠欄位就是 16 位元,0x0000 完全塞得進去,線路上沒有任何機制阻止封包被送往 Port 0。IANA 把 0/tcp 與 0/udp 標為 Reserved,設計是保留下來的。唯一在協定層面賦予零明確意義的是 UDP,RFC 768 規定來源埠可省略,未使用時填入零。這個標準空窗,正好成為藏東西的好地方。
核心選擇邏輯比想像中複雜
文章進一步拆解 Linux 核心如何挑選臨時埠。在 inet_csk_find_open_port() 中,核心從隨機偏移開始,以間隔兩號的方式走訪範圍,並刻意把奇數埠留給主動要求任何埠的伺服器,偶數埠則優先給發起連線的客戶端,這是 RFC 6056 演算法 4 的實作。核心依奇偶把號碼空間切開,避免伺服器與客戶端爭搶同一批號碼。這段細節讓不少留言者直呼意外,也解釋了為何 Port 0 在實務上長期被忽略。
全網掃描只需數秒,社群反應兩極
在 Reddit r/cybersecurity 社群留言中,dunder_name 表示從沒想過可以試 Port 0,並好奇還有哪些邊界案例。generic-d-engineer 認為這是幾十年來一直擺在眼前、卻沒人真的去查的東西。Digerati808 則提出安全面的疑問,認為 Port 0 的隱蔽性可能被威脅行為者用來做埠閃避或協定混搭。
關於掃描成本,acidvegas 回覆單一埠掃描 0.0.0.0/0 約需 3 到 5 秒,因為他自建分散式掃描基礎設施,從全球上千臺主機發出探測,性質類似 RIPE Atlas 但全為自有設備。也有偶爾出現的雜音,occasionallyaccurate 直言這篇像大型語言模型生成、讀不下去,Landkey 則半開玩笑地建議接著試試數字 4。
Zyxel 防火牆的舊帳被翻出
最具體的實務案例來自 e_y_d,他回憶多年前滲透測試時發現 Zyxel 防火牆會在 Port 0 回應,花了些時間才說服廠商這是問題,最終推出韌體更新修補。對照 NVD 上與此元件相關的近期紀錄,可以看到 Zyxel 裝置仍有其他待留意的弱點,例如 CVE-2026-76955 為 zdp_wtp 二進位檔的緩衝區溢位,CVSS 8.8 HIGH,CVE-2026-107441 為 CGI 程式的越界寫入,CVSS 8.8 HIGH,CVE-2026-12489 則是資料存取層的授權判斷錯誤,CVSS 6.5 MEDIUM。
這些編號並非本次 Port 0 事件本身所引用,而是同一廠牌元件的關聯漏洞,詳細分數與受影響產品請見隨文附上的表格。
CyberQ 觀點
企業可把 Port 0 納入資產盤點與外部攻擊面掃描的清單,別再預設它不存在。防火牆與負載平衡器的規則也應明確處理 Port 0 流量,避免未預期的服務長期裸露。
開發團隊則可把這類邊界案例寫進測試案例,讓既有的假設或認知,不再成為實作中的盲點。
CVE 漏洞資料
討論串與外連文章未直接引用 CVE 編號。以下為撰文時以 NVD 2.0 API 依元件關鍵字(zyxel、tcp)查得的近期公告紀錄,屬同一元件的關聯漏洞,並非本文事件本身所對應的編號:
| CVE 編號 | CVSS 分數/嚴重度 | 公佈時間(UTC) | 受影響廠商/產品 | 弱點類型 | 官方摘要(原文節錄) | 參考連結 |
|---|---|---|---|---|---|---|
| CVE-2026-76955 | 8.8(HIGH) | 2026-11-03T02:16:53 | , | CWE-120 | A buffer overflow vulnerability in the zdp_wtp binary in Zyxel NWA110AX firmware versions through 7.12(ABTG.0)C0 could allow a LAN-based attacker to escalate privileges on an affected device. | https://www.zyxel.com/global/en/support/security-advisories/zyxel-secu |
| CVE-2026-107441 | 8.8(HIGH) | 2026-11-03T02:16:52 | , | CWE-787 | An out-of-bounds write vulnerability in the CGI program of Zyxel GS1900-24E firmware versions through 2.90(AAHK.2)C0 could allow an unauthenticated adjacent attacker to exploit the flaw and potentially execute OS commands via a crafted HTTP request. | https://www.zyxel.com/global/en/support/security-advisories/zyxel-secu |
| CVE-2026-12489 | 6.5(MEDIUM) | 2026-10-20T03:17:15 | , | CWE-863 | An incorrect authorization vulnerability in the Data Access Layer (DAL) of Zyxel EX3501-T0 firmware versions through 5.44(ACHR.6)C0 could allow an authenticated attacker to escalate privileges by modifying the login_privilege data on an affected device. | https://www.zyxel.com/global/en/support/security-advisories/zyxel-secu |







