一個常見的連接埠號碼,是一個 16 位元的傳輸層識別碼,範圍是 0 到 65535,由 IANA 為特定的 TCP 與 UDP 服務登記,而且維運人員經常遇到,值得記下來。實務上,只有不到一百個這樣的號碼,承載了大部分真實的網路流量——HTTP 用 80、HTTPS 用 443、SSH 用 22、DNS 用 53、SMTP 用 25,再加上一小群遠端存取、資料庫、容器、訊息傳遞與列印服務。這就是為什麼一份聚焦、經過篩選的查詢表,能涵蓋日常排錯與設定問題中的絕大多數情況,即使官方登記簿記錄了成千上萬筆指派。當你在日誌、防火牆規則或掃描結果中看到一個不熟悉的號碼時,把它翻譯成一個可能的服務,通常是進行更深入調查之前的第一步。知道登記的名稱,能縮小可能的處理程序範圍、找出重要的設定檔,以及預期在線路上會看到哪種流量。

原始登記簿的問題在於規模與雜訊。完整的 IANA Service Name and Transport Protocol Port Number Registry 列出了成千上萬筆指派、別名、參照與變更歷史紀錄,會拖慢快速查詢的速度。開發者與維運人員需要的是一份更小、經過篩選的表格,能放在同一個畫面上、能立即搜尋,也能直接複製進工單,而不必捲過大半打已棄用或很少見到的項目。這正是一份經過策展的連接埠參考表背後的設計初衷:穩定、聚焦,並貼近實務用途,而不是追求登記簿的完整性。

common port numbers
常見連接埠號碼

「常見連接埠號碼」實際上代表什麼

IANA 把 16 位元的連接埠空間劃分成三個登記範圍,定義在RFC 6335 中,並可在官方登記簿上查到。下表整理了這些範圍,以及每個範圍在實際部署中扮演的角色。

範圍數值區間典型角色
系統連接埠(System Ports)0 – 1023在大多數作業系統上,歷來需要 root 或系統管理員權限才能使用的已指派服務
使用者連接埠(User Ports)1024 – 49151來自 IANA 登記、廠商慣例,以及不需要提升權限的應用程式所使用的服務
動態/私有連接埠(Dynamic / Private Ports)49152 – 65535供用戶端使用的臨時連接埠,以及執行在非標準連接埠上的服務;並非集中指派

「常見連接埠號碼」幾乎都是指來自前兩個範圍的項目。網頁伺服器、郵件傳輸代理、名稱伺服器、資料庫常駐程式、容器執行環境、遠端 shell,以及列印服務,全都落在 0 到 49151 之間。動態範圍會被刻意排除在經過策展的清單之外,因為這些號碼並未指派給特定服務,主機上的任何程式都可能在任何時候重複使用它們。

如何查詢一個常見的連接埠號碼

把一個號碼翻譯成服務、或把一個服務翻譯成號碼,最快的方式是Common Network Ports List。這份表格可排序、可搜尋、可篩選,因此你只需要按幾下鍵盤,就能從主機端觀察到的現象,推導出最可能的常駐程式。

  1. 在搜尋欄位中輸入一個連接埠號碼、服務名稱、產品名詞,或簡短描述。舉例來說,輸入 443 會找到 HTTPS,輸入 PostgreSQL 會找到 5432,輸入 mail 則會找到 SMTP、POP3、IMAP、message submission,以及它們對應的 TLS 版本。
  2. 你也可以用通訊協定控制項,依 TCP 或 UDP 篩選顯示的列。大多數網頁、郵件、檔案傳輸與資料庫查詢請用 TCP;當你特別想找 DNS、SNMP、syslog,或其他無連線通訊協定時,請用 UDP。
  3. 你也可以依服務類別篩選,在不變更底層參考資料的情況下,單獨列出資料庫、網頁服務、網路基礎設施、遠端存取、列印,或其他支援的分組。
  4. 檢視表格中顯示的相符登記提示:一個數字連接埠、對應選取到的 IANA 服務名稱、一個或多個相關的傳輸通訊協定、一段簡短的白話描述,以及篩選器所使用的類別。
  5. 當你需要為工單、操作手冊、學習筆記或設定審查準備參考資料時,可以把目前顯示的列以定位字元分隔的文字形式複製出來。任何內容都不會離開瀏覽器;匯出結果是根據你目前看到的列在本機產生的。

因為搜尋不區分大小寫,並且會同時比對連接埠號碼、服務名稱、描述與類別欄位,你可以在任務進行到一半時混合搜尋策略。一開始輸入 8080 的查詢,可以隨著情境縮小,逐步改成「8080 web」或「8080 proxy」,不必重新開始查詢。

搜尋與篩選器如何運作

在底層,這份經過策展的表格為每一個顯示出來的連接埠儲存一列排序好的資料,而且每一列都已對照IANA Service Name and Transport Protocol Port Number Registry 核對過。搜尋功能會把你輸入的文字,同時比對數字連接埠、選取到的服務名稱、描述,以及類別標籤,再立即改寫顯示出來的列,只留下相符的結果。這裡沒有伺服器往返,也沒有需要失效的快取:輸入文字與篩選,都會直接就地更新表格。

通訊協定篩選器,會在區分 TCP 與 UDP 具有實務意義的地方做出區分。DNS 會同時列出兩種通訊協定,因為名稱解析視查詢大小與解析器實作而定,合理地會使用其中任何一種;而 HTTPS 只列出 TCP,因為那正是實際生產環境中網頁流量所走的路徑。類別篩選器是一個快速縮小範圍的工具:當你想找表格中所有的資料庫時,篩選器會立即移除網頁、郵件與容器相關的列,而不會改變底層的資料集。

有一個限制是刻意設下的:這份表格大約收錄四十個連接埠,而不是完整的 IANA 登記簿。這樣的範圍選擇,讓畫面保持易讀、搜尋保持快速,也符合大多數開發者與維運人員在單次排錯過程中實際需要的內容。若需要完整的指派清單、二次登記、SCTP 或 DCCP 項目、別名、聯絡資訊,以及變更歷史,請透過上方連結前往 IANA 登記簿,並以它作為權威的最終依據。

解讀 IANA 登記的脈絡

即使是一個簡短的連接埠,也帶有一小段值得理解的登記脈絡。IANA 明確指出:「指派並不代表為某個應用程式背書,也不能證明觀察到的流量是良性的。」登記只是一項提示,不是最終判定:清單上的一個號碼,告訴你的是某個應用程式最可能是什麼,而不是你正在檢視的主機上,那個實際在執行的應用程式究竟在做什麼。

RFC 6335 進一步闡述了這一點,把整個號碼空間劃分成上面那三個範圍,並說明每個範圍代表的意義。系統連接埠與歷史上的權限要求綁在一起,使用者連接埠開放給廠商與社群提案,而動態連接埠的存在,是為了讓作業系統與應用程式能挑選臨時識別碼,而不會與任何已指派的號碼衝突。當你在日誌中看到一個大於 49151 的四位數號碼時,請把它當成不透明的資訊,順著連線回頭追蹤到處理程序,而不是單靠服務名稱下判斷。

這份經過策展的表格中的描述,是刻意精簡過的,方便快速瀏覽,但它們並不會凌駕於登記簿的原始措辭之上。如果這裡的描述與 IANA 的描述有出入,請以 IANA 為準。這份常見連接埠清單是為快速查詢而打造的;登記簿則是為了需要完整脈絡、標註日期的參照,以及完整指派歷史的決策而打造的。

為工單與操作手冊複製資料列

複製動作只會匯出你在套用搜尋與篩選之後、目前看到的那些列。這項功能正是讓這個工具在文件撰寫上派得上用場的原因:你可以搜尋「mail」,把通訊協定篩選器切到 TCP,再以定位字元分隔的形式,複製一份涵蓋 SMTP、POP3、IMAP、message submission 與一個 TLS 版本、共五列的參考資料。把這段內容貼進工單、操作手冊或 Markdown 學習筆記時,對齊格式會被保留下來,因為定位字元能通過大多數純文字接收介面。

整個資料流程都留在瀏覽器內。沒有任何查詢會被送到後端服務,沒有任何複製的資料列會被記錄,也不會從你的搜尋字詞中產生任何遙測資料。對於敏感環境而言,這種「只在本機」的行為,和查詢速度一樣重要:只要頁面本身已經載入,你就能在一台其他方面完全與外界隔離的工作站上,把連接埠翻譯成服務。

當一個連接埠號碼還不夠的時候

以連接埠為依據的判斷,有三種眾所周知的失效模式。第一,伺服器可以監聽在一個不常見的連接埠上——HTTPS 用 8443、PostgreSQL 用 5433、SSH 用 2222——以避開與另一個常駐程式的衝突,而登記的號碼完全不會揭露這種調動。第二,好幾個登記的名稱可能共用同一個號碼,因此 1194 可能是 OpenVPN,也可能是某個廠商的管理代理程式,或是主機維運人員選擇的任何其他東西。第三,一個使用登記號碼的封包,完全可能屬於一個不同的程式;線路上沒有任何東西強制應用程式必須遵守登記簿。

具體來說,這代表這份連接埠參考表支援的是翻譯,而不是定論。用它把「636 是什麼」這個問題,轉譯成「LDAPS,也就是透過 TLS 的 LDAP 版本」,然後再用平台原生的工具、服務設定、日誌與網路政策,去檢查實際的端點。至於防火牆的決策,答案必須包含方向、來源、目的地、通訊協定、驗證方式、加密方式、業務負責人,以及最小權限範圍——這些都無法單靠一個連接埠號碼推論出來。如果你需要更深入討論防火牆這個問題,請參閱Can a Common Ports List Be Used as a Firewall Allowlist?;如果需要更廣泛的典型服務目錄,請參閱List of Most Common Network Ports: TCP and UDP

就學習而言,這份經過策展的表格,很適合用來比較明文與 TLS 版本的對照組:HTTP 與 HTTPS、IMAP 與 IMAPS、LDAP 與 LDAPS。但要記住,加密狀態取決於實際的服務設定,而不是取決於所選的連接埠。一個設定為 STARTTLS 的常駐程式,仍然使用與其明文版本相同的登記號碼;而一個只支援 TLS、跑在非標準連接埠上的服務,無論這個連接埠是否出現在表格中,依然會使用它自己的通訊協定。

查詢完成之後,最後一步是驗證實際運行中的端點:一份處理程序清單、一份監聽通訊端傾印、一次設定審查,或一次封包擷取。連接埠號碼是有用的第一個問題。它們不是最終的答案。