TCP 與 UDP 連接埠
伺服器、網路與開發中最常用的 TCP 與 UDP 連接埠參考:每個連接埠上監聽的服務、使用的傳輸協定,以及哪些以明文傳輸。可依連接埠號或服務名稱搜尋。

共 130 個連接埠,顯示 130 個

連接埠協定服務用途
20系統TCPFTP-DATA明文 主動模式下的 FTP 資料通道。 檔案
21系統TCPFTP明文 FTP 控制通道:使用者名稱、密碼和命令均以明文傳輸。 檔案
22系統TCPSSH 加密的遠端存取;SFTP、SCP 和透過 SSH 的 Git 也使用它。 遠端存取
23系統TCPTelnet明文 未加密的遠端終端機;如今只在老舊網路設備上使用。 遠端存取
25系統TCPSMTP 伺服器之間投遞郵件;許多服務商會封鎖外送連線。 郵件
49系統TCPTACACS+ 網路設備上管理員的驗證與授權。 目錄與驗證
53系統TCP/UDPDNS 網域名稱解析;較大的回應和區域傳送使用 TCP。 網路服務
67系統UDPDHCP DHCP 伺服器:在區域網路中分配 IP 位址。 網路服務
68系統UDPDHCP DHCP 用戶端:接收分配的 IP 位址。 網路服務
69系統UDPTFTP明文 無驗證的檔案傳輸,用於網路開機(PXE)和韌體。 檔案
80系統TCPHTTP明文 未加密的 Web;如今幾乎總會重新導向到 HTTPS。 Web 與開發
88系統TCP/UDPKerberos Kerberos 驗證,Active Directory 登入的基礎。 目錄與驗證
110系統TCPPOP3明文 未加密的郵件下載;其安全版本使用 995。 郵件
111系統TCP/UDPrpcbind Unix RPC 連接埠對應器,NFS v3 必需。 網路服務
123系統UDPNTP 與時間伺服器同步時間。 網路服務
135系統TCPMS-RPC Windows RPC 端點對應器,DCOM 和 WMI 使用。 目錄與驗證
137系統UDPNetBIOS-NS 舊版 Windows 網路的 NetBIOS 名稱服務。 檔案
138系統UDPNetBIOS-DGM 用於在網路上通告電腦的 NetBIOS 資料包。 檔案
139系統TCPNetBIOS-SSN NetBIOS 工作階段;基於 NetBIOS 的 SMB 共用資料夾。 檔案
143系統TCPIMAP明文 未加密的信箱存取;其安全版本使用 993。 郵件
161系統UDPSNMP明文 向網路設備發出的監控查詢;v1 和 v2c 不加密。 網路服務
162系統UDPSNMP-TRAP 設備傳送給監控系統的告警(trap)。 網路服務
179系統TCPBGP 路由器與自治系統之間交換路由。 網路服務
389系統TCP/UDPLDAP明文 不使用 TLS 的目錄查詢(Active Directory、OpenLDAP)。 目錄與驗證
443系統TCP/UDPHTTPS 使用 TLS 加密的 Web;UDP 上由基於 QUIC 的 HTTP/3 使用。 Web 與開發
445系統TCPSMB Windows 檔案與印表機共用;絕不應暴露在網際網路上。 檔案
464系統TCP/UDPkpasswd Kerberos 密碼變更。 目錄與驗證
465系統TCPSMTPS 使用隱式 TLS 提交郵件,RFC 8314 建議的方式。 郵件
500系統UDPIKE IPsec VPN 的金鑰協商。 VPN 與代理
514系統UDPSyslog明文 向 syslog 伺服器傳送日誌,既不加密也不確認送達。 網路服務
520系統UDPRIP 小型網路中的 RIP 路由協定。 網路服務
546系統UDPDHCPv6 DHCPv6 用戶端。 網路服務
547系統UDPDHCPv6 DHCPv6 伺服器。 網路服務
548系統TCPAFP Apple 檔案共用(AFP),在 macOS 中已被 SMB 取代。 檔案
554系統TCP/UDPRTSP 影像串流控制,常見於網路攝影機。 語音、影片與訊息
587系統TCPSubmission 用戶端和應用程式透過驗證提交郵件,使用 STARTTLS。 郵件
631系統TCP/UDPIPP 網路列印(IPP)以及 CUPS 的 Web 介面。 網路服務
636系統TCPLDAPS 使用 TLS 加密的 LDAP。 目錄與驗證
853系統TCP/UDPDoT / DoQ 加密 DNS:TCP 上為 DNS over TLS,UDP 上為 DNS over QUIC。 網路服務
873系統TCPrsync 用於在伺服器之間同步檔案的 rsync 常駐程式。 檔案
989系統TCPFTPS-DATA 使用隱式 TLS 的 FTP 資料通道。 檔案
990系統TCPFTPS 使用隱式 TLS 的 FTP 控制通道。 檔案
993系統TCPIMAPS 使用 TLS 加密的 IMAP;目前的郵件用戶端使用它。 郵件
995系統TCPPOP3S 使用 TLS 加密的 POP3。 郵件
1080註冊TCPSOCKS SOCKS 代理;使用 ssh -D 建立動態通道時通常選用的連接埠。 VPN 與代理
1194註冊UDPOpenVPN OpenVPN VPN;也可以透過 TCP 執行。 VPN 與代理
1433註冊TCPMS SQL Server Microsoft SQL Server 資料庫引擎。 資料庫
1434註冊UDPSQL Browser 告知 SQL Server 具名執行個體連接埠的服務。 資料庫
1521註冊TCPOracle Oracle Database 接聽程式。 資料庫
1701註冊UDPL2TP L2TP 通道,通常與 IPsec 結合使用。 VPN 與代理
1723註冊TCPPPTP明文 PPTP VPN,已過時:其驗證自 2012 年起被認為已被攻破。 VPN 與代理
1812註冊UDPRADIUS 用於企業 Wi-Fi(802.1X)和 VPN 的 RADIUS 驗證。 目錄與驗證
1813註冊UDPRADIUS-ACCT RADIUS 使用紀錄(計費)。 目錄與驗證
1883註冊TCPMQTT明文 未加密的 MQTT 物聯網訊息;TLS 版本使用 8883。 語音、影片與訊息
1900註冊UDPSSDP 在區域網路中透過 UPnP 探索裝置。 網路服務
1935註冊TCPRTMP 向 YouTube 或 Twitch 等平台推送直播串流。 語音、影片與訊息
2049註冊TCP/UDPNFS NFS 網路檔案系統。 檔案
2181註冊TCPZooKeeper 使用 Apache ZooKeeper 協調叢集。 容器與 DevOps
2222註冊TCPSSH (alt) SSH 常用的替代連接埠;非官方。 遠端存取
2375註冊TCPDocker API明文 未啟用 TLS 的 Docker API:暴露它等同於交出主機的 root 權限。 容器與 DevOps
2376註冊TCPDocker API (TLS) 使用雙向 TLS 保護的 Docker API。 容器與 DevOps
2379註冊TCPetcd etcd 的用戶端 API,Kubernetes 的狀態資料庫。 容器與 DevOps
2380註冊TCPetcd peer etcd 叢集節點之間的通訊。 容器與 DevOps
2525註冊TCPSMTP (alt) 當服務商封鎖連接埠時,寄信服務提供的 587 非官方替代連接埠。 郵件
3000註冊TCPNode.js / Grafana Node.js 開發伺服器以及 Grafana 的 Web 介面。 Web 與開發
3128註冊TCPSquid Squid HTTP 代理。 VPN 與代理
3260註冊TCPiSCSI 透過 iSCSI 使用網路上的遠端磁碟。 檔案
3268註冊TCPGlobal Catalog Active Directory 通用類別目錄,用於整個樹系範圍的搜尋。 目錄與驗證
3269註冊TCPGlobal Catalog (TLS) 使用 TLS 的 Active Directory 通用類別目錄。 目錄與驗證
3306註冊TCPMySQL MySQL 與 MariaDB 資料庫。 資料庫
3389註冊TCP/UDPRDP Windows 遠端桌面;一旦暴露就常成為攻擊目標。 遠端存取
3478註冊TCP/UDPSTUN / TURN WebRTC 視訊通話中的 NAT 穿透。 語音、影片與訊息
4200註冊TCPAngular CLI Angular 開發伺服器(ng serve)。 Web 與開發
4222註冊TCPNATS 使用 NATS 在微服務之間傳遞訊息。 容器與 DevOps
4500註冊UDPIPsec NAT-T 封裝在 UDP 中以穿越 NAT 的 IPsec。 VPN 與代理
5000註冊TCPFlask / Registry Flask 和 Docker 映像檔倉庫的預設連接埠;在 macOS 上被 AirPlay 接收器占用。 容器與 DevOps
5044註冊TCPLogstash Beats 供 Beats 代理程式使用的 Logstash 輸入。 容器與 DevOps
5060註冊TCP/UDPSIP 未加密的 IP 電話信令。 語音、影片與訊息
5061註冊TCPSIPS 使用 TLS 的 IP 電話信令。 語音、影片與訊息
5173註冊TCPVite Vite 開發伺服器。 Web 與開發
5222註冊TCPXMPP XMPP(Jabber)即時通訊用戶端連線。 語音、影片與訊息
5269註冊TCPXMPP S2S XMPP 伺服器之間的聯合。 語音、影片與訊息
5349註冊TCPTURN (TLS) 基於 TLS 的 STUN 與 TURN。 語音、影片與訊息
5353註冊UDPmDNS 多點傳送 DNS(Bonjour),無需 DNS 伺服器即可探索裝置。 網路服務
5355註冊UDPLLMNR Windows 本機名稱解析;由於存在詐騙風險,建議停用。 網路服務
5432註冊TCPPostgreSQL PostgreSQL 資料庫。 資料庫
5601註冊TCPKibana Kibana 的 Web 介面。 容器與 DevOps
5672註冊TCPAMQP AMQP 訊息佇列,例如 RabbitMQ。 容器與 DevOps
5683註冊UDPCoAP 面向資源受限物聯網裝置的 CoAP 協定。 語音、影片與訊息
5900註冊TCPVNC VNC 遠端桌面;每多一個顯示器就加一。 遠端存取
5938註冊TCPTeamViewer TeamViewer 連線。 遠端存取
5984註冊TCPCouchDB Apache CouchDB 的 HTTP API。 資料庫
5985註冊TCPWinRM 透過 HTTP 進行 Windows 遠端管理(PowerShell Remoting)。 遠端存取
5986註冊TCPWinRM (HTTPS) 透過 HTTPS 進行 Windows 遠端管理。 遠端存取
6000註冊TCPX11 透過網路執行的 X11 視窗系統;如今透過 SSH 通道使用。 遠端存取
6379註冊TCPRedis Redis 與 Valkey 記憶體資料庫。 資料庫
6443註冊TCPKubernetes API Kubernetes API 伺服器,kubectl 連線的目標。 容器與 DevOps
6514註冊TCPSyslog (TLS) 基於 TLS 的 Syslog。 網路服務
6667註冊TCPIRC明文 未加密的 IRC 聊天;啟用 TLS 時使用 6697。 語音、影片與訊息
7474註冊TCPNeo4j 圖形資料庫 Neo4j 的 HTTP 介面;Bolt 協定使用 7687。 資料庫
8000註冊TCPHTTP (dev) Django 或 python -m http.server 等開發伺服器。 Web 與開發
8080註冊TCPHTTP (alt) 代理和 Tomcat、Jenkins 等應用程式伺服器使用的替代 HTTP 連接埠。 Web 與開發
8081註冊TCPHTTP (alt) 另一個替代 HTTP 連接埠;Nexus Repository 預設使用。 Web 與開發
8086註冊TCPInfluxDB 時序資料庫 InfluxDB 的 HTTP API。 資料庫
8123註冊TCPClickHouse / Home Assistant ClickHouse 的 HTTP 介面;也是 Home Assistant 的 Web 介面。 資料庫
8200註冊TCPVault 用於管理機密的 HashiCorp Vault API。 容器與 DevOps
8443註冊TCPHTTPS (alt) 管理面板和應用程式伺服器使用的替代 HTTPS 連接埠。 Web 與開發
8500註冊TCPConsul HashiCorp Consul 的 HTTP API 和 Web 介面。 容器與 DevOps
8883註冊TCPMQTT (TLS) 使用 TLS 加密的 MQTT。 語音、影片與訊息
8888註冊TCPJupyter Jupyter Notebook 與 JupyterLab。 Web 與開發
9000註冊TCPPHP-FPM Nginx 後面的 PHP-FPM;ClickHouse、SonarQube 和 Portainer 也使用。 Web 與開發
9042註冊TCPCassandra Apache Cassandra 與 ScyllaDB 的 CQL 協定。 資料庫
9050註冊TCPTor SOCKS Tor 用戶端的 SOCKS 代理。 VPN 與代理
9090註冊TCPPrometheus Prometheus 指標伺服器。 容器與 DevOps
9092註冊TCPKafka Apache Kafka 代理節點。 容器與 DevOps
9100註冊TCPJetDirect / node_exporter 直接向網路印表機傳送 RAW 列印;也是 Prometheus node_exporter 的連接埠。 網路服務
9200註冊TCPElasticsearch Elasticsearch 與 OpenSearch 的 REST API。 資料庫
9300註冊TCPElasticsearch transport Elasticsearch 叢集節點之間的通訊。 資料庫
9418註冊TCPGit明文 唯讀的 git:// 協定,沒有驗證也沒有加密。 容器與 DevOps
10250註冊TCPkubelet 每個 Kubernetes 節點上的 kubelet API。 容器與 DevOps
11211註冊TCP/UDPMemcached Memcached 快取;其 UDP 連接埠曾被濫用於放大攻擊。 資料庫
11434註冊TCPOllama 用於執行語言模型的本機 Ollama API。 容器與 DevOps
15672註冊TCPRabbitMQ UI RabbitMQ 管理 Web 介面。 容器與 DevOps
19132註冊UDPMinecraft Bedrock Minecraft 基岩版伺服器。 遊戲
25565註冊TCPMinecraft Minecraft Java 版伺服器。 遊戲
27015註冊TCP/UDPSteam / Source 採用 Source 引擎和 Steam 的遊戲伺服器,例如 Counter-Strike。 遊戲
27017註冊TCPMongoDB MongoDB 資料庫。 資料庫
32400註冊TCPPlex Plex 媒體伺服器。 語音、影片與訊息
50000動態TCPDb2 / Jenkins agent IBM Db2 的預設連接埠;也是 Jenkins 代理程式的連線連接埠。 資料庫
51820動態UDPWireGuard WireGuard 常用連接埠;它沒有官方連接埠,可以修改。 VPN 與代理

運作方式

連接埠是 0 到 65535 之間的 16 位元數字,讓同一個 IP 能同時提供多種服務:作業系統會把每個封包交給在目的連接埠上監聽的程式。TCP 和 UDP 各有一套獨立的連接埠,因此即使同一個服務同時使用,53/TCP 和 53/UDP 也是兩個不同的連接埠。

IANA 將這個範圍分為三段(RFC 6335)。0 到 1023 是系統連接埠,分配給經典協定,在 Linux 上預設只有特權程序才能開啟。1024 到 49151 是註冊連接埠,由應用程式向 IANA 申請。49152 到 65535 是動態連接埠,由系統暫時分配給每個連線的用戶端一側。

這張表彙整了管理員或開發者在實務中會遇到的連接埠,其中也包括一些非官方但人人都用的連接埠,例如 8080、3000 或 WireGuard 的 51820。連接埠說明的是那裡通常執行什麼,而不是實際執行什麼:任何服務都可以監聽任何連接埠號碼,所以想知道一台機器上是什麼在回應,只能去問那台機器本身。

範例

443/UDPHTTP/3 · QUIC多年來 443 只用於 TCP。HTTP/3 執行在使用 UDP 的 QUIC 之上,所以只放行 443/TCP 的防火牆會迫使瀏覽器退回 HTTP/2。
ss -tulpn | grep :8080tcp LISTEN 0 100 *:8080 *:* users:(("java",pid=2314,fd=45))在 Linux 上,ss 會顯示每個連接埠由哪個程序監聽。Windows 上對應的是顯示 PID 的 netstat -ano,或 PowerShell 中的 Get-NetTCPConnection;macOS 上是 lsof -i :8080。
sysctl net.ipv4.ip_local_port_range32768 60999Linux 預設從這個範圍分配用戶端的暫時連接埠,而不是 IANA 建議、Windows 採用的 49152-65535。在對外連線很多的代理或負載平衡器上,這個範圍可能不夠用。

使用情境

  • 了解每個服務會開放什麼,據此撰寫防火牆或雲端安全群組規則。
  • 解讀對自己網路進行連接埠掃描的結果。
  • 發現不應暴露卻暴露在外的服務,例如 SMB、RDP、Redis 或 Docker API。
  • 為新服務選擇連接埠,避免與常見連接埠衝突。
  • 理解啟動開發伺服器或容器時出現的「連接埠已被使用」錯誤。
  • 找出網路中哪些協定仍以明文傳輸。

常見問題

TCP 連接埠和 UDP 連接埠有什麼差別?

TCP 會建立連線,保證資料完整、依序到達,並重送遺失的部分;Web、郵件和 SSH 使用它。UDP 傳送獨立的封包,不需要確認,延遲更低;DNS、語音、遊戲和 QUIC 使用它。兩者的連接埠號碼空間彼此獨立:在防火牆上開放 53/TCP 並不會開放 53/UDP。

如何知道是哪個程式占用了某個連接埠?

在 Linux 上,ss -tulpn 會列出正在監聽的連接埠以及開啟它們的程序。在 Windows 上,netstat -ano 顯示 PID,再到工作管理員中尋找;也可以在 PowerShell 中使用 Get-NetTCPConnection -LocalPort 8080。在 macOS 和 Linux 上還可以用 lsof -i :8080。如果命令沒有顯示程序,請以系統管理員權限執行。

更改服務的連接埠會讓它更安全嗎?

作用不大。把 SSH 從 22 改到 2222,能減少在預設連接埠上嘗試密碼的機器人雜訊,但一次完整掃描幾秒鐘就能找到該服務。真正的防護在於使用金鑰驗證、限制允許連線的 IP,以及不把不需要的服務暴露到網際網路上。

哪些連接埠絕不應該對網際網路開放?

管理類和資料庫類連接埠:SMB(445)、RDP(3389)、Telnet(23),MySQL、PostgreSQL、Redis、MongoDB 等資料庫,Docker API(2375)以及 kubelet(10250)。它們是自動化掃描器最常搜尋的目標。如果需要從外部存取,正確的做法是使用 VPN 或 SSH 通道。

為什麼開發伺服器使用 8080 或 3000,而不是 80?

因為在 Linux 上,預設只有 root 才能開啟 1024 以下的連接埠,而以特權執行開發伺服器並不妥當。所以各個工具都選了一個較大的連接埠號碼:Java 伺服器用 8080,Node.js 用 3000,Angular 用 4200,Vite 用 5173,Django 用 8000。在正式環境中,由 Nginx 之類的代理處理 80 和 443,再轉送到這些內部連接埠。