Go to main content

man pages section 8: System Administration Commands

Exit Print View

Updated: Wednesday, July 27, 2022



in.chargend - UDP or TCP character generator service daemon






The in.chargend service provides the server-side of the character-generator protocol. This protocol is used for debugging and bandwidth measurement and is available on both TCP and UDP transports, through port 19.

The in.chargend service is an inetd(8) delegated smf(7) service. The in.chargend detects which transport is requested by examining the socket it is passed by the inetd daemon.

TCP-based service

Once a connection is established, the in.chargend generates a stream of data. Any data received is discarded. The server generates data until the client program terminates the connection. Note that the data flow is limited by TCP flow control mechanisms.

UDP-based service

The in.chargend listens for UDP datagrams. When a datagram is received, the server generates a UDP datagram in response containing a random number of ASCII characters (ranging from 0 to 512 characters). Any received data is ignored.

The in.chargend data consists of a pattern of 72 character lines containing the printable, 7–bit ASCII characters. Each line is terminated with a carriage return and a line feed character.


See attributes(7) for descriptions of the following attributes:

Interface Stability

See Also

attributes(7), smf(7), inetadm(8), inetd(8)

Postel, J. RFC 864, Character Generator Protocol. Network Working Group. May 1983. https://tools.ietf.org/html/rfc864


The in.chargend service is managed by the service management facility, smf(7), under the service identifier:


Administrative actions on this service, such as enabling, disabling, or requesting restart, can be performed using svcadm(8). Responsibility for initiating and restarting this service is delegated to inetd(8). Use inetadm(8) to make configuration changes and to view configuration information for this service. The service's status can be queried using the svcs(1) command.


The in.chargend program and the svc:/internet/chargen:default service were added in the Solaris 10 3/05 release. Prior to that, support for the chargen service was provided as a builtin part of inetd(8) since the initial release of Solaris.

Support for IPv6 was added in Solaris 8.

The chargen service was enabled by default in releases up through Solaris 9, but has been disabled by default since the Solaris 10 3/05 release.