IANA(Internet Assigned Numbers Authority)把端口号分为三类:已知的, 已注册的及动态和(或)专用端口.
0-1023: 由IANA控制, 为已知服务所保留
1024-49151: 由IANA列出的已注册的端口,由普通用户执行的普通用户进程或程序可以使用这些端口.
49152-65535: 动态和(或)专用端口.
普通用户应用程序应在1024-49151范围内选用已注册的端口,以避免可能使用其他应用程序或系统服务正在使用的端口.
下面地址上列举了IANA规定的端口对应的协议和服务, 如果需要详细内容, 请参考:
http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml
端口和服务对应关系通过以下几个函数来获取其对应关系, getserverbyname, WSAAsyncGetServerByName, getserverbyport, WSAAsyncGetServerByPort.
另外, 本地的端口和服务对应信息存放在%WINDOWS%\System32\Drivers\Etc下面services文件存放了这些信息.以下是部分信息.
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This file contains port numbers for well-known services defined by IANA
#
# Format:
#
# <service name> <port number>/<protocol> [aliases...] [#<comment>]
#
echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp users #Active users
systat 11/tcp users #Active users
daytime 13/tcp
daytime 13/udp
qotd 17/tcp quote #Quote of the day
qotd 17/udp quote #Quote of the day
chargen 19/tcp ttytst source #Character generator
chargen 19/udp ttytst source #Character generator
ftp-data 20/tcp #FTP, data
ftp 21/tcp #FTP. control
telnet 23/tcp
smtp 25/tcp mail #Simple Mail Transfer Protocol