Services (网络服务配置文件)

介绍

IP协议的端口号，可用于区分服务器提供的不同服务。值得范围是0至65535. IP地址、端口号、TCP/UDP协议，这三者合起来称为套接字（socket）。
前1000个被保留用于特定应用，被称为著名端口（well known ports）。细节见RFC 1340。并写在service文件中。

历史

最初在Internet的前身ARPANET中，其成员SRI International手动维护并分享了一个名为SERVICES.TXT的文件，其中就包括网络服务名对应的端口号与协议。
端口号和标准服务之间的对应关系在RFC 1700 “Assigned Numbers”中有详细的定义。

Linux操作系统

文件位置是/etc/services
只有“root”用户才有权限修改这个文件。文件中的每一行由4个字段组成,用TAB或空格分隔，分别表示“服务名称”、“使用端口”、“协议名称”以及“别名”。例如：

http      80/tcp      www

Windows操作系统

文件位置是C:\WINDOWS\system32\drivers\etc\services
只有“administrator”用户才有权限修改这个文件。文件中的每一行由5个字段组成,用TAB或空格分隔，分别表示“服务名称”、“使用端口”、“协议名称”、“别名”、“注释”。例如：

qotd               17/tcp    quote                  #Quote of the day
qotd               17/udp    quote                  #Quote of the day
Winsock的API函数WSAConnectByName的第三个参数servicename，其官方文档解释是：服务名是端口号的字符串别名。