IRC.IT

Internet Relay Chat (IRC) è un protocollo di messaggistica istantanea su Internet, che consente sia la comunicazione diretta fra due utenti, che il dialogo contemporaneo di gruppi di persone raggruppati in stanze[1] di discussione dette canali.

Storia:

IRC fu creato da Jarkko Oikarinen nell'agosto 1988 per sostituire un programma chiamato MUT (MultiUserTalk) che girava sulla BBS finlandese OuluBox. Jarkko Oikarinen trovò l'ispirazione dalla Bitnet Relay Chat che operava sulla rete Bitnet.

Per ovviare alle censure dei mezzi di comunicazione di massa, IRC fu usato sia durante il tentato colpo di Stato in Unione Sovietica, sia durante la Guerra del Golfo. I registri delle conversazioni IRC in questi ed altri importanti eventi sono conservati nell'archivio ibiblio.



Informazioni tecniche:

L'RFC 1459 descrive i protocolli di comunicazione utilizzati per IRC; più recentemente IRC2 viene regolato dai documenti RFC 2810, il RFC 2811, il RFC 2812 e il RFC 2813, che descrivono un insieme di proposte di estensioni al modello IRC. Molte implementazioni IRC si basano sul IRC2 con vari add-on che prevengono le incompatibilità causate delle differenze tra i software utilizzati per la gestione dei server di rete.

IRC è un protocollo di rete aperto che utilizza il protocollo di trasmissione TCP (Transmission Control Protocol) e opzionalmente il Transport Layer Security (TLS). Un server IRC (chiamato IRCd) è in grado di connettersi con altri server IRC, formando così una rete di comunicazione alla quale gli utenti accedono mediante un client. Molti server IRC non richiedono all'utente di autenticarsi, ma va comunque specificato un nickname (univoco a livello della rete IRC).

IRC è un protocollo plaintext, questo significa che è possibile (anche se con qualche inconveniente) usarlo tramite una connessione socket di tipo raw. Tuttavia non vi è modo di definire il carattere di decodifica dei messaggi e dei nickname, rendendo impossibile il filtraggio di caratteri non-ASCII.

Il mezzo di comunicazione in una sessione IRC è il "canale": un nome che identifica un gruppo di utenti. Nel canale tutti gli appartenenti possono mandare messaggi, che sono leggibili unicamente dagli utenti dello stesso gruppo. Un canale IRC si crea automaticamente al primo ingresso da parte di qualsiasi utente. I nomi dei canali appartenenti ad una rete IRC si identificano col carattere "#" iniziale, mentre quelli locali (specifici di un server) sono identificati con il carattere "&" (tuttavia quest'ultimo potrebbe non essere disponibile su alcune reti). Per ovviare a problemi di desincronizzazione dei canali, quando dei server si scollegano, furono creati i canali "!" senza i problemi di sincronismo che però ottennero scarso successo.

Il primo utente che entra in un canale acquisisce automaticamente dei privilegi che può poi passare a qualsiasi altro utente presente nel medesimo canale; questi utenti vengono chiamati operatori di canale (channel operator). Vi sono anche diversi utenti con privilegi differenti e con compiti di amministrazione della rete; questi sono chiamati IRC Operator (abbreviato in IRCop, spesso erroneamente confuso in IR-Cop) o in italiano "operatori IRC". Nelle implementazioni più recenti è anche possibile registrare i canali, in modo che i diritti di accesso non vengano persi alla disconnessione dell'ultimo operatore; ove questo non sia possibile viene fatto uso di bot, programmi speciali che appaiono come normali utenti, ma che presidiano il canale e, all'uso, ri-conferiscono lo status di operatore ai proprietari.

Gli "Operatori del canale" possono impostare diverse opzioni su quel determinato canale, vedi b:IRC/Modi canale. Gli utenti nell'ambito del canale o del server possono avere diversi attributi, vedi b:IRC/Modi utente

Le connessioni IRC sono un ghiotto obiettivo per cracker, in quanto, pur essendo cifrate, prendono, per loro stessa natura, lunghi periodi di tempo di connessione. È necessario pertanto assicurare a queste connessioni, una accurata politica di sicurezza in grado di proteggerle dagli attacchi di script kiddie che cercano di prenderne il controllo (IRC takeover war), magari tentando di sfruttare a proprio vantaggio un netsplit (come si dice in gergo cavalcando lo split).

La connessione IRC viene spesso utilizzata da parte degli script kiddies come "laboratorio" per provare diversi tipi di attacchi in rete, per esempio inviando pacchetti ICMP (Internet Control Message Protocol) mal formati al fine di disturbarne gli utenti (vedi anche nuke). Tuttavia, con l'entrata in scena dei Bouncer (BNC) e dei virtual host, è molto difficile per queste persone malintenzionate portare a termine un attacco, visto che questi servizi riescono a nascondere l'indirizzo IP collegato ad un nickname.


Reti di comunicazione:

In tutto il mondo, ci sono diverse centinaia di reti IRC attive. Eseguono diverse implementazioni di server IRC, e sono amministrate da vari gruppi di Operatori IRC, ma tutti i protocolli utilizzati dagli utenti IRC presentano similitudini, per cui in tutte le reti IRC si può accedere col medesimo client senza problemi.

La differenza tra i vari network sta nella gestione delle implementazioni. IRCnet ad esempio è fedele all'implementazione storica di IRC e può essere definita la rete più anarchica poiché non prevede alcun controllo di nickname o canali. Al contrario altre reti hanno sviluppato sistemi per registrare i nickname o i canali debellando così l'uso di bot e i problemi causati da ircwar. Come in Usenet i contenuti inviati sono immediatamente visibili da più siti e su tutti i server d'accesso, però, a differenza di usenet, non sono più cancellabili. Una traccia delle discussioni (non in chat room private) è tenuta in file di log di pubblico dominio.

IRC offre le funzionalità tipiche delle chat più evolute: possibilità di creare profili-utente con dati personali, chattare, invio di messaggi privati, scambio di file, organizzare meeting della chat. Per individuare un'ora standard in tutto il mondo è stata scelta la convenzione UTC.


Client IRC:

IRC ha subito una notevole evoluzione nel tempo. Software più recenti di gestione dei server hanno aggiunto nuove funzioni e caratteristiche.

  • Services: sono servizi gestiti da "bot" che permettono la registrazione dei nickname (NickServ) e dei canali IRC (ChanServ), ma anche l'invio di messaggi per utenti non connessi in quel momento (MemoServ).
  • Extra Modes: I sistemi originali IRC usavano un serie di modalità standard, ora le nuove caratteristiche permettono di rimuovere i codici colore dai testi, o per nascondere un utente al fine di proteggerlo dagli attacchi di hacker malintenzionati (denial of service).
  • Proxy Detection: molti server moderni implementano la possibilità di individuare e bloccare utenti che tentano di connettersi attraverso proxy mal configurati, spesso per compiere abusi del servizio (ad esempio "IRC War").

Lo slang di IRC:

Su IRC spesso può capitare di imbattersi in acronimi usati in sostituzione di frasi fatte, il più delle volte in inglese ma non necessariamente, come ad esempio:

  • LOL - Laughing Out Loud (risata ad alta voce)
  • ROTFL - Rolling On The Floor Laughing ( "... mi sto rotolando sul pavimento dalle risate")
  • BRB - Be Right Back ("ritorno subito")
  • IMO - In My Opinion ("secondo me")
  • IMHO - In My Humble Opinion - In My Honest Opinion ("secondo il mio modesto parere")
  • AFK - Away From keyboard (non al computer)
  • AFAIK - As Far As I Know ("per quanto ne sappia")
  • STFU - Shut The Fuck Up. ("chiudi il becco")
  • IRL - In Real Life. ("nella vita vera")
  • ASL - Age Sex Location. ("Età sesso località")
  • LMAO - Laughing My Ass Off. ("mi spacco dalle risate")
  • BTW - By The Way ("ad ogni modo")
  • ASAP - As Soon As Possible ("quanto prima")
  • AKA - Also Known As. ("conosciuto anche come")
  • RE - REturned ("sono rientrato")
  • KISS - Keep It Simple, Stupid! ("falla semplice, stupido!": non complicarti la vita)
  • NUKE - qualunque tipo di attacco in grado di disconnettere un utente dal server irc
  • FYI - For Your Information (per tua informazione)
  • BYOB - Bring Your Own Beer. ("porta la tua birra")
  • RTFM - Read The Fucking Manual ("leggi il fottuto manuale")
  • RULES - Dominanza su altri utenti
  • TBH - To Be Honest ("per essere onesti...")

I network implementano un servizio di gestione delle risorse. (chanserv, nickserv, memoserv, helpserv, etc.) Sia da considerare di primaria importanza la gerarchia nelle stanze irc. (v. Chan Operators / Moderators.)