ÎNCĂRCARE

CHARGEN ( Character Generator Protocol ) este un serviciu de stivă de protocol TCP/IP definit în RFC 864 în 1983 de Jon Postel . Este destinat pentru testare, măsurare și depanare.

O gazdă poate stabili o conexiune la un server care acceptă protocolul generator de caractere folosind TCP sau UDP pe portul 19. După deschiderea unei conexiuni TCP, serverul începe să trimită caractere aleatorii către client și face acest lucru continuu până când conexiunea este închisă. În implementarea UDP a protocolului, serverul trimite o datagramă UDP care conține un număr aleatoriu (de la 0 la 512) de caractere de fiecare dată când primește o datagramă de la o gazdă. Toate datele primite de server sunt ignorate.

Implementări Inetd

Pe majoritatea sistemelor de operare asemănătoare UNIX, serverul CHARGEN este încorporat în demonul Inetd (sau XInetd). În general, serviciul CHARGEN nu este disponibil implicit. Poate fi activat adăugând următoarele linii în fișierul /etc/inetd.conf și reîncărcând configurația Inetd:

chargenstream tcp nowait root intern chargen dgram udp wait root intern

Aplicații

Serviciul CHARGEN poate fi folosit ca sursă de flux de octeți pentru a depana codul care utilizează o rețea TCP. De asemenea, poate fi folosit ca sursă de trafic pentru a măsura debitul rețelei și a regla QoS, deși eficiența unei astfel de utilizări este îndoielnică dacă este activată compresia datelor hardware, deoarece ieșirea serviciului CHARGEN este comprimată ușor și eficient. Datorită compresiei, testele de debit pot raporta dimensiunea datelor după decompresie în loc de dimensiunea reală a datelor transmise.

Exemplu de sesiune

O sesiune tipică de serviciu CHARGEN arată cam așa: 1. Un utilizator se conectează la o gazdă folosind un client Telnet . 2. Utilizatorul primește un flux de octeți . Deși RFC 864 nu specifică un format de ieșire specific, formatul de ieșire recomandat (de către standardul de facto ) este deplasarea liniilor de 72 de caractere ASCII repetate .

$ telnet localhost taxat Încercați 127.0.0.1... conectat la localhost. Caracterul de evacuare este „^]”. !"#$%&'()*+,-./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 > ieși conexiunea închisă.

Aceasta continuă până când conexiunea TCP este închisă, așa cum se arată mai sus, prin terminarea sesiunii Telnet.

Abuz

Serviciul a fost folosit în mod rău intenționat pentru a prăbuși serverele MS DNS care rulează Microsoft Windows NT 4.0 prin trecerea de caractere arbitrare direct la portul de ascultare (telnet ntbox 19 | telnet ntbox 53) al serverului DNS. [1] Cu toate acestea, atacul ar fi fost rezultatul unei gestionări greșite a buffer-ului de către serverul DNS Microsoft și nu are legătură directă cu serviciul CHARGEN.

Vezi și

Note

  1. Încălcarea accesului în Dns.exe cauzată de un atac Telnet rău intenționat (downlink) . Support.microsoft.com (1 noiembrie 2006). Preluat la 31 mai 2009. Arhivat din original la 3 iulie 2012.