127 個網路連接埠
哪個服務用哪個號、這個號落在哪個區間、要不要 root 權限。查 22 或 3306 就來這裡。
三個區間
公認連接埠81
0–1023。在 Unix 上只有 root 能開啟。
註冊連接埠81
1024–49151。本該申請註冊,但這裡也混著約定俗成的號。
動態連接埠2
49152–65535。系統每次向外連線時臨時挑一個,沒有固定歸屬。
網頁11
瀏覽器敲門的地方。
郵件8
把郵件送出去,再取回來。
檔案15
搬檔案,或者共用一塊磁碟。
20ftp-dataFTP data transferTCP21ftpFile Transfer ProtocolTCP69tftpTrivial FTPUDP111rpcbindONC RPC portmapperTCP 與 UDP115sftp-legacySimple File Transfer ProtocolTCP139netbios-ssnNetBIOS sessionTCP152bftpBackground File TransferTCP445microsoft-dsSMB file sharingTCP540uucpUUCPTCP548afpApple Filing ProtocolTCP873rsyncrsync file syncTCP989ftps-dataFTPS data transferTCP990ftpsFTP over TLSTCP2049nfsNetwork File SystemTCP 與 UDP3260iscsiiSCSI storage targetTCP
遠端連線12
在別人的機器上敲指令或看螢幕。
22sshSecure ShellTCP23telnetTelnetTCP177xdmcpX display managerUDP512execRemote process executionTCP513loginRemote login (rlogin)TCP992telnetsTelnet over TLSTCP2222ssh-altSSH (관습적 대체 포트)TCP3389rdpRemote DesktopTCP 與 UDP5900vncVNC screen sharingTCP5985winrmWinRM HTTPTCP5986winrm-httpsWinRM HTTPSTCP6000x11X Window SystemTCP
資料庫16
資料庫等著接查詢的地方。
1433ms-sql-sMicrosoft SQL ServerTCP1434ms-sql-mSQL Server browserUDP1521oracleOracle Database listenerTCP3050firebirdFirebird SQLTCP3306mysqlMySQL and MariaDBTCP5432postgresqlPostgreSQLTCP5984couchdbCouchDBTCP6379redisRedisTCP7000cassandra-gossipCassandra inter-nodeTCP8086influxdbInfluxDBTCP9042cassandraApache CassandraTCP9200elasticsearchElasticsearch HTTPTCP9300es-transportElasticsearch transportTCP11211memcachedMemcachedTCP 與 UDP27017mongodbMongoDBTCP50000db2IBM Db2TCP
名稱解析11
把名稱換成位址,或查人查機器。
42nameserverHost Name ServerTCP 與 UDP43whoisWHOIS directoryTCP53domainDNS name lookupTCP 與 UDP101hostnameNIC Host Name ServerTCP137netbios-nsNetBIOS name serviceUDP389ldapDirectory accessTCP 與 UDP427svrlocService Location ProtocolTCP 與 UDP636ldapsDirectory access over TLSTCP853dns-over-tlsDNS over TLSTCP5353mdnsMulticast DNSUDP5355llmnrLLMNRTCP 與 UDP
認證9
確認你是誰,並發放金鑰。
49tacacsTACACS+ loginTCP 與 UDP88kerberosKerberos authenticationTCP 與 UDP113identIdent identificationTCP370codaauth2Coda authenticationTCP 與 UDP464kpasswdKerberos password changeTCP 與 UDP543kloginKerberos loginTCP544kshellKerberos remote shellTCP1812radiusRADIUS authenticationUDP1813radius-acctRADIUS accountingUDP
訊息14
把訊息傳下去,或先排成佇列。
119nntpUsenet newsTCP194ircInternet Relay ChatTCP517talkTalkUDP563nntpsUsenet news over TLSTCP1883mqttMQTT messagingTCP5060sipSIP call setupTCP 與 UDP5061sipsSIP over TLSTCP5222xmpp-clientXMPP clientTCP5269xmpp-serverXMPP server linkTCP5672amqpAMQP messagingTCP6667ircdIRC serverTCP8883mqttsMQTT over TLSTCP9092kafkaApache KafkaTCP15672rabbitmq-mgmtRabbitMQ managementTCP
監控與日誌10
收集日誌、盯著狀態。
網路17
網路本身——分位址、報路由、挖隧道。
67bootpsDHCP serverUDP68bootpcDHCP clientUDP135msrpcMicrosoft RPC endpoint mapperTCP 與 UDP138netbios-dgmNetBIOS datagramUDP179bgpBorder Gateway ProtocolTCP500isakmpIKE key exchange for IPsecUDP520routerRIP routingUDP546dhcpv6-clientDHCPv6 clientUDP547dhcpv6-serverDHCPv6 serverUDP1080socksSOCKS proxyTCP1194openvpnOpenVPNTCP 與 UDP1701l2tpL2TP tunnellingUDP1723pptpPPTP tunnellingTCP1900ssdpSSDP (UPnP discovery)UDP3128squidSquid proxyTCP3478stunSTUN / TURNTCP 與 UDP51820wireguardWireGuardUDP
開發與維運19
開發和維運工具打開的連接埠。
1099rmiregistryJava RMI registryTCP2181zookeeperApache ZooKeeperTCP2375dockerDocker daemonTCP2376docker-sDocker daemon over TLSTCP2379etcd-clientetcd client APITCP2380etcd-peeretcd peer trafficTCP3000dev-httpLocal dev serverTCP3690svnSubversionTCP4200angular-devAngular dev serverTCP4369epmdErlang port mapperTCP4444seleniumSelenium GridTCP5000dev-altLocal dev server, UPnPTCP5173vite-devVite dev serverTCP6443kube-apiKubernetes API serverTCP8000http-devLocal HTTP serverTCP8888jupyterJupyter, alternate HTTPTCP9000php-fpmPHP-FPM, MinIO, SonarQubeTCP9418gitGit protocolTCP11434ollamaOllamaTCP
其他22
對時、列印、遊戲——歸不進別處的那些。
1tcpmuxTCP Port Service MultiplexerTCP2compressnetManagement UtilityTCP 與 UDP7echoEchoTCP 與 UDP9discardDiscardTCP 與 UDP11systatActive UsersTCP13daytimeDaytimeTCP 與 UDP15netstatNetstatTCP17qotdQuote of the dayTCP 與 UDP19chargenCharacter generatorTCP 與 UDP37timeTime protocolTCP 與 UDP79fingerFinger user infoTCP102iso-tsapISO-TSAP (S7 PLC)TCP123ntpNetwork Time ProtocolUDP210z3950Z39.50 library searchTCP322rtspsRTSP over TLSTCP515printerLine printer daemonTCP554rtspStreaming controlTCP 與 UDP631ippInternet Printing ProtocolTCP 與 UDP6881bittorrentBitTorrentTCP 與 UDP9100jetdirectRaw printing, node_exporterTCP19132minecraft-bedrockMinecraft BedrockUDP25565minecraftMinecraft serverTCP
怎麼看這一頁
- 連接埠號是 16 位,所以從 0 到 65535。沒有 65536 號。
- 要開啟 1023 以內的連接埠,在 Unix 上需要 root 權限。
- 明文和加密常常分在兩個號上——80 和 443 就是。
- 3000、8080 這類從未註冊卻固定下來的號,都標了「約定俗成」。
常見問題
Q連接埠號為什麼到 65535 為止?
因為它用 16 位整數表示。2 的 16 次方是 65536,從 0 數起,最後一個就是 65535。
Q1024 以下的連接埠有什麼特別?
在類 Unix 系統上只有 root 能開啟,免得任何程式都能在 80 埠冒充網站伺服器。
Q80 和 443 有什麼區別?
都是網頁,443 是外面裹了 TLS 的那一個。這樣的明文—加密成對還有好幾組:21 和 990、143 和 993。
Q3000 埠是註冊過的嗎?
不是。它是開發伺服器用著用著固定下來的。這類號在列表裡標了「約定俗成」。
QTCP 和 UDP 能用同一個號嗎?
能。兩者的號碼空間是分開的,TCP 53 和 UDP 53 是兩個地方。DNS 兩個都用。