127 个网络端口
哪个服务用哪个号、这个号落在哪个区间、要不要 root 权限。查 22 或 3306 就来这里。
三个区间
公认端口63
0–1023。在 Unix 上只有 root 能打开。
注册端口63
1024–49151。本该申请注册,但这里也混着约定俗成的号。
动态端口1
49152–65535。系统每次向外连接时临时挑一个,没有固定归属。
网页11
浏览器敲门的地方。
邮件8
把邮件送出去,再取回来。
文件12
搬文件,或者共享一块磁盘。
20ftp-dataFTP data transferTCP21ftpFile Transfer ProtocolTCP69tftpTrivial FTPUDP111rpcbindONC RPC portmapperTCP 与 UDP139netbios-ssnNetBIOS sessionTCP445microsoft-dsSMB file sharingTCP548afpApple Filing ProtocolTCP873rsyncrsync file syncTCP989ftps-dataFTPS data transferTCP990ftpsFTP over TLSTCP2049nfsNetwork File SystemTCP 与 UDP3260iscsiiSCSI storage targetTCP
远程连接7
在别人的机器上敲命令或看屏幕。
数据库14
数据库等着接查询的地方。
1433ms-sql-sMicrosoft SQL ServerTCP1434ms-sql-mSQL Server browserUDP1521oracleOracle Database listenerTCP3306mysqlMySQL and MariaDBTCP5432postgresqlPostgreSQLTCP5984couchdbCouchDBTCP6379redisRedisTCP8086influxdbInfluxDBTCP9042cassandraApache CassandraTCP9200elasticsearchElasticsearch HTTPTCP9300es-transportElasticsearch transportTCP11211memcachedMemcachedTCP 与 UDP27017mongodbMongoDBTCP50000db2IBM Db2TCP
名字解析7
把名字换成地址,或查人查机器。
认证8
确认你是谁,并发放钥匙。
消息13
把消息传下去,或先排成队。
119nntpUsenet newsTCP194ircInternet Relay ChatTCP563nntpsUsenet news over TLSTCP1883mqttMQTT messagingTCP5060sipSIP call setupTCP 与 UDP5061sipsSIP over TLSTCP5222xmpp-clientXMPP clientTCP5269xmpp-serverXMPP server linkTCP5672amqpAMQP messagingTCP6667ircdIRC serverTCP8883mqttsMQTT over TLSTCP9092kafkaApache KafkaTCP15672rabbitmq-mgmtRabbitMQ managementTCP
监控与日志5
收集日志、盯着状态。
网络14
网络本身——分地址、报路由、挖隧道。
67bootpsDHCP serverUDP68bootpcDHCP clientUDP135msrpcMicrosoft RPC endpoint mapperTCP 与 UDP138netbios-dgmNetBIOS datagramUDP179bgpBorder Gateway ProtocolTCP500isakmpIKE key exchange for IPsecUDP520routerRIP routingUDP546dhcpv6-clientDHCPv6 clientUDP547dhcpv6-serverDHCPv6 serverUDP1080socksSOCKS proxyTCP1194openvpnOpenVPNTCP 与 UDP1701l2tpL2TP tunnellingUDP1723pptpPPTP tunnellingTCP3128squidSquid proxyTCP
开发与运维14
开发和运维工具打开的端口。
1099rmiregistryJava RMI registryTCP2181zookeeperApache ZooKeeperTCP2375dockerDocker daemonTCP2376docker-sDocker daemon over TLSTCP2379etcd-clientetcd client APITCP2380etcd-peeretcd peer trafficTCP3000dev-httpLocal dev serverTCP3690svnSubversionTCP4369epmdErlang port mapperTCP5000dev-altLocal dev server, UPnPTCP6443kube-apiKubernetes API serverTCP8000http-devLocal HTTP serverTCP8888jupyterJupyter, alternate HTTPTCP9000php-fpmPHP-FPM, MinIO, SonarQubeTCP
其他14
对时、打印、游戏——归不进别处的那些。
7echoEchoTCP 与 UDP9discardDiscardTCP 与 UDP13daytimeDaytimeTCP 与 UDP17qotdQuote of the dayTCP 与 UDP19chargenCharacter generatorTCP 与 UDP37timeTime protocolTCP 与 UDP79fingerFinger user infoTCP123ntpNetwork Time ProtocolUDP515printerLine printer daemonTCP554rtspStreaming controlTCP 与 UDP631ippInternet Printing ProtocolTCP 与 UDP6881bittorrentBitTorrentTCP 与 UDP9100jetdirectRaw printing, node_exporterTCP25565minecraftMinecraft serverTCP
怎么看这一页
- 端口号是 16 位,所以从 0 到 65535。没有 65536 号端口。
- 要打开 1023 以内的端口,在 Unix 上需要 root 权限。
- 明文和加密常常分在两个号上——80 和 443 就是。
- 3000、8080 这类从未注册却固定下来的号,都标了“约定俗成”。
常见问题
Q. 端口号为什么到 65535 为止?
因为它用 16 位整数表示。2 的 16 次方是 65536,从 0 数起,最后一个就是 65535。
Q. 1024 以下的端口有什么特别?
在类 Unix 系统上只有 root 能打开,免得任何程序都能在 80 端口冒充网站服务器。
Q. 80 和 443 有什么区别?
都是网页,443 是外面裹了 TLS 的那一个。这样的明文—加密成对还有好几组:21 和 990、143 和 993。
Q. 3000 端口是注册过的吗?
不是。它是开发服务器用着用着固定下来的。这类号在列表里标了“约定俗成”。
Q. TCP 和 UDP 能用同一个号吗?
能。两者的号码空间是分开的,TCP 53 和 UDP 53 是两个地方。DNS 两个都用。