The CHARGEN (character generator) service is an internet protocol defined in RFC 864. It is intended for testing and measurement purposes.

A host may connect to a server that supports the CHARGEN protocol, on either TCP or UDP port 19. Upon opening a TCP connection, the server starts sending arbitrary characters to the connecting host and continues until the hosts closes the connection. In the UDP version of the protocol, the server sends a UDP packet containing a random number (between 0 and 512) of characters every time it receives a UDP packet from the connecting host. Any data received by the server is thrown away.

Inetd implementation of CHARGEN

On Linux, FreeBSD, and other UNIX-like operating systems a chargen server is built into the inetd daemon. The chargen service is usually not enabled by default. It may be enabled by adding the following lines to the file /etc/inetd.conf and telling inetd to reload its configuration: chargen stream tcp nowait root internal chargen dgram udp wait root internal

Examples of use

* As a source of generic byte-stream payload for debugging TCP and/or UDP based network code for proper bounds checking and buffer management.
* Can also be a source of generic payload for bandwidth measurement and/or QoS fine-tuning. Although consideration must be given if hardware compression is active, as the output from chargen is easily and efficiently compressed. This compression can cause bandwidth tests to report the size of the data "after" decompression, instead of the actual amount of data which passed along the wire. (Eg. 5Gb of actual data transferred may decompress to as much as 9..10Gb)

A sample session

A typical CHARGEN session looks like this: first the user connects to the host using a telnet client. $ telnet localhost chargen Trying Connected to localhost. Escape character is '^] '.What follows is a stream of bytes. Although the precise format of the output is not prescribed by RFC 864, the recommended pattern (and a de-facto standard) is shifted lines of 72 ASCII characters repeating:

!"#$%&'()*+,-./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
This goes on until the client quits. ^] telnet> quit Connection closed.


* Was used maliciously to crash MS DNS servers running Microsoft Windows NT 4.0 by piping the arbitrary characters straight into the port the DNS server listens on (telnet ntbox 19 | telnet ntbox 53). [] However, the attack was presumably a symptom of improper buffer management on the part of Microsoft's DNS service and not directly related to the CHARGEN service.

See also

* List of well-known ports
* Echo protocol

External links

* The Character Generator Protocol (RFC 864)

Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • CHARGEN — (Character Generator Protocol) это служба стека протоколов TCP/IP, определённая в RFC 864 в 1983 году Джоном Постелом. Она предназначена для тестирования, измерения и отладки. Узел сети может установить соединение с сервером, поддерживающим… …   Википедия

  • 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… …   Wikipedia Español

  • Chargen — veterinarinio vaisto serija statusas Aprobuotas sritis veterinariniai vaistai apibrėžtis Veterinarinio vaisto kiekis, pagamintas per vieną gamybos ciklą tomis pačiomis gamybos sąlygomis, sufasuotas arba supakuotas, turintis savo numerį ir… …   Lithuanian dictionary (lietuvių žodynas)

  • CHARGEN — Character Generator …   Acronyms

  • CHARGEN — Character Generator …   Acronyms von A bis Z

  • CHARGEN — abbr. comp. Character Generator Protocol …   Dictionary of English abbreviation

  • Character Generator Protocol — Not to be confused with character generator. Internet protocol suite Application layer BGP …   Wikipedia

  • Bundesheer — Österreichisches Bundesheer Bundesheer …   Deutsch Wikipedia

  • Charge (Studentenverbindung) — „Die Herren Chargierten“ von Georg Mühlberg (1863–1925) Eine Charge ist eine einem Vorstandsamt ähnliche Führungsposition in einer Studentenverbindung, deren Inhaber („Chargierte“ oder ebenfalls „Chargen“ genannt) in der Regel jeweils für ein… …   Deutsch Wikipedia

  • Chargia — Die Herren Chargierten von Georg Mühlberg (1863 1925) Die Chargierten des …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”