---
name: "services"
section: "5"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["linux", "freebsd", "openbsd", "macos"]
url: "https://new.carta.tech/services"
---

# services(5)

service name database

## NAME

**services** – service name database

## DESCRIPTION

The **services** file contains information regarding the known services available in the Internet. For each service, a single line should be present with the following information:

```
official service name
port number
protocol name
aliases
```

Items are separated by any number of blanks and/or tab characters. The port number and protocol name are considered a single item; a slash (‘/’) is used to separate the port and protocol (e.g., “512/tcp”).

A hash mark (‘#’) indicates the beginning of a comment; subsequent characters up to the end of the line are not interpreted by the routines which search the file.

Service names may contain any printable character other than a field delimiter, newline, or comment character.

To protect service ports from being used for dynamic port assignment, [rc(8)](/rc/8.md) reads **services** at boot and uses the contents to populate *net.inet.tcp.baddynamic* and *net.inet.udp.baddynamic*.

While it is the policy of IANA to assign a single well-known port number for both TCP and UDP, to avoid reducing the dynamic port range unnecessarily, the unused entries are not always listed in **services**.

## FILES

- */etc/services*

  ## SEE ALSO

[getservent(3)](/getservent/3.md)

## HISTORY

The **services** file format appeared in 4.2BSD.

## BUGS

A name server should be used instead of a static file. Lines in */etc/services* are limited to BUFSIZ characters (currently 1024). Longer lines will be ignored.
