TCP Port Service Multiplexer explained

The TCP Port Service Multiplexer (TCPMUX) is a little-used Internet protocol defined in . The specification describes a multiplexing service that may be accessed with a network protocol to contact any one of a number of available TCP services of a host on a single, well-known port number.[1]

The specification of TCPMUX, RFC 1078, was deprecated in 2016 by for technical reasons and lack of use in the Internet.[2]

Description

A host may connect to a server that supports the TCPMUX protocol on TCP port 1. The host then sends a name of the service required, followed by a pair of carriage return and line feed characters (CRLF). The server replies with a '+' or '-' character and an optional message, followed by CRLF. In case of a positive reply ('+'), the protocol or service requested is started, otherwise the connection is closed.

This service also features a reserved name, "HELP". If the remote server receives this message it will output a multi-line message listing the names of all supported services, one service name per line.

Security risks

Enabling TCPMUX on a server enables an attacker to easily find out the services running on the host, either by using the "HELP" command or by requesting a large number of services. This has the same effect as port scanning the host for available services iteratively. Because TCPMUX allows someone to use any service only by accessing port number 1, the protocol makes it difficult to apply traditional port-based firewall rules that block access from certain or all hosts to specific services.

See also

Notes and References

  1. RFC 1078, TCP Port Service Multiplexer (TCPMUX), M Lottor (November 1988)
  2. RFC 7805, Moving Outdated TCP Extensions and TCP-Related Documents to Historic or Informational Status (April 2016)