phpman > man > services(5)

Markdown | JSON | MCP    

SERVICES(5)                           Linux Programmer's Manual                          SERVICES(5)



NAME
       services - Internet network services list

DESCRIPTION
       services  is  a plain ASCII file providing a mapping between human-friendly textual names for
       internet services, and their underlying assigned port numbers and protocol types.  Every net‐
       working program should look into this file to get the port number (and protocol) for its ser‐
       vice.  The C library  routines  getservent(3),  getservbyname(3),  getservbyport(3),  setser‐‐
       vent(3), and endservent(3) support querying this file from programs.

       Port  numbers  are assigned by the IANA (Internet Assigned Numbers Authority), and their cur‐
       rent policy is to assign both TCP and UDP protocols when assigning a port number.  Therefore,
       most entries will have two entries, even for TCP-only services.

       Port  numbers  below  1024 (so-called "low numbered" ports) can be bound to only by root (see
       bind(2), tcp(7), and udp(7)).  This is so clients connecting to low numbered ports can  trust
       that  the service running on the port is the standard implementation, and not a rogue service
       run by a user of the machine.  Well-known port numbers specified by the IANA are normally lo‐
       cated in this root-only space.

       The  presence  of  an entry for a service in the services file does not necessarily mean that
       the service is currently running on the machine.  See inetd.conf(5) for the configuration  of
       Internet  services  offered.   Note that not all networking services are started by inetd(8),
       and so won't appear in inetd.conf(5).  In particular, news (NNTP) and mail (SMTP) servers are
       often initialized from the system boot scripts.

       The location of the services file is defined by _PATH_SERVICES in <netdb.h>.  This is usually
       set to /etc/services.

       Each line describes one service, and is of the form:

              service-name   port/protocol   [aliases ...]

       where:

       service-name
              is the friendly name the service is known by and looked up under.  It is  case  sensi‐
              tive.  Often, the client program is named after the service-name.

       port   is the port number (in decimal) to use for this service.

       protocol
              is  the  type  of protocol to be used.  This field should match an entry in the proto‐‐
              cols(5) file.  Typical values include tcp and udp.

       aliases
              is an optional space or tab separated list of other names for  this  service.   Again,
              the names are case sensitive.

       Either spaces or tabs may be used to separate the fields.

       Comments  are  started  by  the  hash sign (#) and continue until the end of the line.  Blank
       lines are skipped.

       The service-name should begin in the first column of the file, since leading spaces  are  not
       stripped.  service-names can be any printable characters excluding space and tab.  However, a
       conservative choice of characters should be used to minimize compatibility problems.  For ex‐
       ample, a-z, 0-9, and hyphen (-) would seem a sensible choice.

       Lines  not  matching  this  format  should  not be present in the file.  (Currently, they are
       silently skipped by getservent(3), getservbyname(3), and getservbyport(3).  However, this be‐
       havior should not be relied on.)

       This file might be distributed over a network using a network-wide naming service like Yellow
       Pages/NIS or BIND/Hesiod.

       A sample services file might look like this:

           netstat         15/tcp
           qotd            17/tcp          quote
           msp             18/tcp          # message send protocol
           msp             18/udp          # message send protocol
           chargen         19/tcp          ttytst source
           chargen         19/udp          ttytst source
           ftp             21/tcp
           # 22 - unassigned
           telnet          23/tcp

FILES
       /etc/services
              The Internet network services list

       <netdb.h>
              Definition of _PATH_SERVICES

SEE ALSO
       listen(2), endservent(3), getservbyname(3), getservbyport(3),  getservent(3),  setservent(3),
       inetd.conf(5), protocols(5), inetd(8)

       Assigned Numbers RFC, most recently RFC 1700, (AKA STD0002).

COLOPHON
       This  page  is  part  of  release  5.10 of the Linux man-pages project.  A description of the
       project, information about reporting bugs, and the latest version of this page, can be  found
       at https://www.kernel.org/doc/man-pages/.



Linux                                        2020-04-11                                  SERVICES(5)
services(5)
NAME DESCRIPTION FILES SEE ALSO COLOPHON

Generated by phpman v3.7.12 Author: Che Dong Under GNU General Public License
2026-06-13 11:22 @216.73.216.28
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!

^_back to top