Ростовская агломерация
- 1 year ago
- 0
- 0
CHARGEN ( Character Generator Protocol ) — это служба стека протоколов TCP/IP , определённая в в 1983 году Джоном Постелом . Она предназначена для тестирования, измерения и отладки.
Узел сети может установить соединение с сервером, поддерживающим Character Generator Protocol с использованием TCP или UDP через порт 19. После открытия TCP-соединения, сервер начинает отправлять клиенту случайные символы и делает это непрерывно до закрытия соединения. В UDP-реализации протокола, сервер отправляет UDP-датаграмму, содержащую случайное (от 0 до 512) количество символов каждый раз, когда получает датаграмму от узла. Все полученные сервером данные игнорируются.
На большинстве UNIX-подобных операционных систем сервер CHARGEN встроен в демон-программу Inetd (или XInetd). Служба CHARGEN, как правило, по умолчанию недоступна. Она может быть подключена путём добавления следующих строк в файл /etc/inetd.conf и перезагрузкой конфигурации Inetd:
chargen stream tcp nowait root internal chargen dgram udp wait root internal
Служба CHARGEN может быть использована как источник потока байтов для отладки кода, использующего TCP-сеть. Также, она может быть использована как источник трафика для измерения пропускной способности сети и тонкой настройки QoS, хотя эффективность такого использования сомнительна если включено аппаратное сжатие данных, так как вывод службы CHARGEN сжимается легко и эффективно. Из-за сжатия тесты пропускной способности могут сообщать размер данных после декомпрессии вместо реального размера переданных данных.
Типичная сессия службы CHARGEN выглядит примерно следующим образом: 1. Пользователь подключается к узлу, используя клиент Telnet . 2. Пользователь принимает поток байтов . Хотя в не описан определенный формат вывода, рекомендуемый формат вывода (по стандарту де-факто ) — сдвигающиеся строки из 72 повторяющихся символов ASCII .
$ 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.
Это продолжается до закрытия соединения TCP, как показано выше завершением сессии Telnet.
Служба была злонамеренно использована, чтобы обрушить сервера MS DNS под управлением Microsoft Windows NT 4.0 путём передачи произвольных символов прямо в прослушивающий порт (telnet ntbox 19 | telnet ntbox 53) DNS-сервера. Впрочем, атака была предположительно следствием неправильного управления буфером DNS-сервером Microsoft и не имеет прямого отношения к службе CHARGEN.