Chargen
Chargen (Generador de caracteres) es un programa informático para sistemas operativos basados en Unix que actúa de servidor de caracteres ofrecido por Inetd en el puerto 19 con los protocolos TCP y UDP.
Chargen es utilizado para comprobar el estado de algunas conexiones de red. El usuario remoto al ingresar a este puerto verá un listado de caracteres en formato ASCII que se repetirá de forma indefinida hasta que el mismo usuario finalice la conexión con el puerto.
Implementación Inetd
En la mayoría de los sistemas operativos tipo Unix, un servidor CHARGEN está incluido en el demonio inetd o xinetd. El servicio CHARGEN usualmente está desactivado por omisión. Puede ser activado agregando las siguientes líneas al archivo /etc/inetd.conf y diciéndole a inetd que recargue la configuración:
chargen stream tcp nowait root internal chargen dgram udp wait root internal
Sesión de ejemplo
Una sesión de servicio CHARGEN típica es el siguiente: El usuario se conecta al host mediante un cliente Telnet. El usuario recibe un flujo de bytes. Aunque el formato específico de la salida no está prescrito por el RFC 864, el patrón recomendado (y un estándar de facto) son líneas que se desplazan de 72 caracteres ASCII que se repiten.
$ telnet localhost chargen Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi #$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijk %&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkl &'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm '()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn ()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmno )*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnop *+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq +,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr ,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs -./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst ./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu /0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv ^] telnet> quit Connection closed.
Esto continúa hasta que la conexión TCP se cierre como se muestra en la traza al salir de la sesión de telnet.