Services (網絡服務配置文件)
此條目需要擴充。 (2017年9月8日) |
Service文件是現代操作系統在etc
目錄下的一個配置文件,記錄網絡服務名對應的端口號與協議。
service文件的用途是:
介紹
IP協議的端口號,可用於區分服務器提供的不同服務。值得範圍是0至65535. IP地址、端口號、TCP/UDP協議,這三者合起來稱為套接字(socket)。
前1000個被保留用於特定應用,被稱為著名端口(well known ports)。細節見RFC 1340。並寫在service文件中。[3]
歷史
最初在Internet的前身ARPANET中,其成員SRI International手動維護並分享了一個名為SERVICES.TXT的文件,其中就包括網絡服務名對應的端口號與協議。[4]
端口號和標準服務之間的對應關係在RFC 1700 「Assigned Numbers」中有詳細的定義。
Linux操作系統
文件位置是/etc/services
只有「root」用戶才有權限修改這個文件。文件中的每一行由4個字段組成,用TAB或空格分隔,分別表示「服務名稱」、「使用端口」、「協議名稱」以及「別名」。例如:
http 80/tcp www
Windows操作系統
文件位置是C:\WINDOWS\system32\drivers\etc\services
只有「administrator」用戶才有權限修改這個文件。文件中的每一行由5個字段組成,用TAB或空格分隔,分別表示「服務名稱」、「使用端口」、「協議名稱」、「別名」、「注釋」。[5]例如:
qotd 17/tcp quote #Quote of the day qotd 17/udp quote #Quote of the day
Winsock的API函數WSAConnectByName
的第三個參數servicename
,其官方文檔解釋是:服務名是端口號的字符串別名。[6]
參見
參考文獻及注釋
- ^ MSDN:getservbyname function. [2017-09-08]. (原始內容存檔於2017-07-06).
- ^ MSDN:getservbyport function. [2017-09-08]. (原始內容存檔於2017-09-20).
- ^ TCP and UDP port numbers (/etc/services) quick reference. [2017-09-08]. (原始內容存檔於2017-09-13).
- ^ Internet Systems Consortium. The Most Widely Used Name Server Software: BIND. History of BIND. [28 July 2013]. (原始內容存檔於2016-01-02).
- ^ MSDN:Add or Edit a Service
- ^ MSDN: WSAConnectByName function, "A service name is a string alias for a port number.". [2017-09-08]. (原始內容存檔於2017-09-11).