1. Computing & Technology

Linux Network Administrators Guide

From


   Linux Network Administrators Guide
   Prev    Chapter 12. ImportantNetwork Features    Next

12.3. The Services and Protocols Files

The port numbers on which certain "standard" services are offered are defined in the Assigned Numbers RFC. To enable server and client programs to convert service names to these numbers, at least part of the list is kept on each host; it is stored in a file called /etc/services . An entry is made up like this:


   

 service port/protocol [aliases] 

Here, service specifies the service name, port defines the port the service is offered on, and protocol defines which transport protocol is used. Commonly, the latter field is either udp or tcp . It is possible for a service to be offered for more than one protocol, as well as offering different services on the same port as long as the protocols are different. The aliases field allows you to specify alternative names for the same service.

Usually, you don't have to change the services file that comes along with the network software on your Linux system. Nevertheless, we give a small excerpt from that file in Example 12-2 .

Example 12-2. A Sample /etc/services File


   

 # The services file:
 #
 # well-known services
 echo 7/tcp # Echo
 echo 7/udp #
 discard 9/tcp sink null # Discard
 discard 9/udp sink null #
 daytime 13/tcp # Daytime
 daytime 13/udp #
 chargen 19/tcp ttytst source # Character Generator
 chargen 19/udp ttytst source #
 ftp-data 20/tcp # File Transfer Protocol (Data)
 ftp 21/tcp # File Transfer Protocol (Control)
 telnet 23/tcp # Virtual Terminal Protocol
 smtp 25/tcp # Simple Mail Transfer Protocol
 nntp 119/tcp readnews # Network News Transfer Protocol
 #
 # UNIX services
 exec 512/tcp # BSD rexecd
 biff 512/udp comsat # mail notification
 login 513/tcp # remote login
 who 513/udp whod # remote who and uptime
 shell 514/tcp cmd # remote command, no passwd used
 syslog 514/udp # remote system logging
 printer 515/tcp spooler # remote print spooling
 route 520/udp router routed # routing information protocol 

Note that the echo service is offered on port 7 for both TCP and UDP, and that port 512 is used for two different services: remote execution (rexec ) using TCP, and the COMSAT daemon, which notifies users of new mail, over UDP (see xbiff(1x)  ).

Like the services file, the networking library needs a way to translate protocol names—for example, those used in the services file—to protocol numbers understood by the IP layer on other hosts. This is done by looking up the name in the /etc/protocols file. It contains one entry per line, each containing a protocol name, and the associated number. Having to touch this file is even more unlikely than having to meddle with /etc/services . A sample file is given in Example 12-3 .

Example 12-3. A Sample /etc/protocols File


   

 #
 # Internet (IP) protocols
 #
 ip 0 IP # internet protocol, pseudo protocol number
 icmp 1 ICMP # internet control message protocol
 igmp 2 IGMP # internet group multicast protocol
 tcp 6 TCP # transmission control protocol
 udp 17 UDP 

* License

* Linux Network Administrators Guide Guide Index

©2012 About.com. All rights reserved.

A part of The New York Times Company.