|
|
La Guida dell'Operatore IRC
ovvero: ora che ho la @, che cosa ci *faccio*?
Di Thoth e SilverOz, con l'aiuto di MoonWolf e Charles versione 1.5 - Maggio 1995 Traduzione italiana a cura di Te0 - Febbraio 1997 Indice
| |
1. I server - Come funziona IRCIRC è un acronimo e sta per Internet Relay Chat. IRC è un insieme di server in rete, ai quali i cosiddetti "client" possono collegarsi e quindi interagire con gli altri client connessi allo stesso server o ad altri. Qualunque "persona" vediate su IRC è un client connesso a un server.In generale, i server funzionano 24 ore al giorno, 7 giorni la settimana, aspettando che i client si connettano. I client viceversa, vengono attivati solo quando un utente ha intenzione di usare IRC, anche se ci sono eccezioni a questa regola, tra cui i bot. Quando scrivete /server irc-2.mit.edu in ircII, state aprendo una connessione con la macchina irc-2.mit.edu. (In genere, anche se non sempre, il client si connette sulla porta 6667. Quando scrivete /server irc-2.mit.edu, ircII userà quella porta. Se volete invece connettervi sulla porta 6665, potete scrivere:/server irc-2.mit.edu 6665. irc-2.mit.edu, da parte sua, sta facendo girare un programma server che è connesso a un grande numero di macchine su cui girano altri programmi server (chiamati semplicemente server). Esso trasmette ciò che voi scrivete agli altri server, e trasmette a voi ciò che gli altri utenti scrivono. Ogni server ha una lista di tutto ciò che succede in ogni canale in cui sono presenti "suoi" utenti, e quando un utente su qualunque server cambia qualcosa in quella lista, il server di quell'utente notifica il cambiamento a tutti gli altri server. Torna all'indice 1.2. Come i server sono collegati e perchè si scollegano (split)I vari server sono collegati tramite Internet, e si scambiano molte informazioni tra loro.Quando il traffico della rete diventa pesante (non solo il traffico di IRC, ma tutto il traffico della rete) i collegamenti si sovraccaricano e si spezzano. Questo si chiama "netsplit". Quando qualcuno "splitta", si vede qualcosa come:
*** Signoff: Thoth (eff.org dewey.cc.utexas.edu)
Questo indica che la connessione tra eff.org e dewey.cc.utexas.edu si è interrotta, e che voi siete dalla stessa parte dello split del server eff.org, mentre Thoth era dalla parte di dewey.cc.utexas.edu. Questo NON significa necessariamente che Thoth era sul server dewey o voi su eff.org; solo che che Thoth era da quella parte dello split e voi da questa. Quando il collegamento tra il vostro server e un altro si interrompe, qualunque cosa fatta sul vostro server non sarà trasmessa all'altro e viceversa -- almeno finchè questi non si ricollegano (rejoin). Torna all'indice 1.3. Cose che possono succedere quando un server splittaQuando un server splitta, non sa più cosa succede agli altri, nè gli altri server sanno che cos'è successo su di esso mentre erano splittati.In questo modo, il server splittato potrebbe avere nuovi operatori mentre era splittato, o nuovi ban o nuovi utenti. Quando il server si ricollega (rejoin), aggiorna tutti su ciò che è accaduto, questo è il motivo per cui vedrete qualcosa come:
*** Mode change "+o Thoth" on channel #bdsm by dewey.cc.utexas.edu
che significa che il server dewey.cc.utexas.edu sta "sincronizzando" le proprie informazioni con quelle di tutti gli altri, e sta annunciando a tutti che ha un nuovo op. Qualche volta l'aggiornamento non funziona, e i server continuano ad avere la propria visione della realtà. Immaginatevi una situazione del genere:
*** Mode change "+o Thoth" on channel #bdsm by dewey.cc.utexas.edu *** Mode change "-o Thoth" on channel #bdsm by SilverOz Un server, in questo caso dewey, ha oppato Thoth. In seguito SilverOz l'ha immediatamente deoppato. SilverOz lo ha probabilmente deoppato prima che il suo server avesse la possibilità di dire al server di Thoth che SilverOz era op. Se anche Thoth avesse provato a deoppare SilverOz, dal punto di vista di Thoth, l'incidente sarebbe apparso molto differente:
*** Mode change "+o SilverOz" on channel #bdsm by eff.org *** Mode change "-o SilverOz" on channel #bdsm by Thoth I server che stanno dalla parte di eff.org vedono SilverOz oppata e Thoth deoppato; dalla parte di dewey si vede l'esatto contrario. Il server dewey d'ora in poi ignorerà qualunque cosa SilverOz faccia che richieda lo status di op, e così farà anche eff.org nei confronti di Thoth. Il messaggio che riceverete sarà qualcosa come: (Thoth scrive:)
/mode * +b *!*zjohnsto*@*scu.edu.au /kick * silveroz Go away (Thoth vede:) *** Mode change "+b *!*zjohnsto*@*scu.edu.au" on channel #bdsm by Thoth *** Not channel operator (from eff.org) *** SilverOz has been kicked off channel #bdsm by Thoth (Go away) *** Not channel operator (from eff.org) SilverOz non vedrà nè il ban nè il kick, dal momento che il suo server non accetta l'op di Thoth come legittimo. In questo modo può accadere che gli utenti connessi ad un server vedano ban e op che utenti connessi ad un altro server non vedono, anche se queste persone possono comunque vedersi e parlarsi. Quando questo accade, il server di dice "desynch" (desincronizzato). Nota: SilverOz SARà ANCORA IN GRADO DI VEDERE QUALUNQUE COSA THOTH DICA SUL CANALE, ANCHE SE THOTH PENSA DI AVERLA KICKATA. Dal momento che lui l'ha effettivamente kickata, quando SilverOz cercherà di scrivere qualcosa sul canale, riceverà il messaggio:
*** Can't send to channel (from dewey.cc.utexas.edu)
Dato che il server di Thoth crede che SilverOz non sia sul canale, non trasmetterà ciò che lei dice a Thoth. Ma, visto che invece il server di SilverOz crede che lei sia sul canale, esso le trasmetterà qualunque cosa Thoth scriva. Nota: SilverOz può lasciare il canale e rientrare. Dal punto di vista di Thoth, lei entrerà nel canale anche se bannata, in quanto il suo server informerà tutti gli altri che lei è entrata. Il server di Thoth semplicemente accetterà questo fatto senza controllare la lista dei ban. Maggiori dettagli sulle conseguenze degli split si trovano alla sezione 3. Come gli hacker si impadroniscono dei canali (e cosa fare in questo caso) Torna all'indice 2.Una guida al comando ModeTorna all'indice2.1. Cosa sono i mode?I mode sono i parametri di un canale. Essi definiscono cosa può e cosa non può essere fatto. Sia gli utenti che i canali possono avere dei mode, ma gli effetti di un particolare mode (es. +i) sono differenti. Questo documento si occupa solo dei mode dei canali, per maggiori informazioni consultate i file elencati alla fine di questo documento.Torna all'indice 2.2 I mode principaliCi sono 7 mode. Decidere quali mode assegnare al vostro canale dipende da cosa volete fare.Potete impostare i mode singolarmente o a gruppi:
/mode * +nt
equivale a:
/mode * +n /mode * +t Nota: potete anche usare il nome del canale, es.
/mode #channel +nt
ma scrivere * è più veloce (Ndt - credo che il '*' in Pirch e mIRC sia sostituito da '#'). Comunque alcuni client richiedono il nome completo. Torna all'indice 2.2.1. +n+n significa "no notices" (niente notice). Questo impedisce agli utenti di mandare dei notice o dei messaggi al canale da fuori. Il vostro canale dovrebbe *sempre* essere +n, per prevenire il flood.Torna all'indice 2.2.2. +t+t sta per "topic". Se questo è impostato, solo gli operatori possono cambiare il topic. Non è necessario usare questo mode, ma la mia esperienza mi ha insegnato che se non lo fate sarete floodati con cambi di topic. Non so perchè, sembra solo che sia così.Torna all'indice 2.2.3. +i+i significa "invite only" (solo a inviti). Chiunque voglia entrare nel canale deve essere "invitato" da un operatore. Utile se non volete essere disturbati o come parte di un'azione difensiva verso chi sta cercando di impadronirsi del canale, ma altrimenti solo fastidioso.Torna all'indice 2.2.4. +p+p sta per "private" (privato). Se il vostro canale è +p, quando qualcuno fa un /whois su chiunque stia su quel canale, non verrà rivelato su quale canale l'interessato sta. In ogni caso risulterà evidente che costui sta su *qualche* canale. Il risultato del /whois sarà qualcosa come (ammesso che non siate voi stessi su quel canale):
*** Thoth is ~thoth@disco.intercon.com (Far and Away) *** on channels: *private* *** on IRC via server dewey.cc.utexas.edu (UT's "I Repeat Class" server) Torna all'indice 2.2.5. +s+s vuol dire "secret" (segreto). Se il vostro canale è segreto, allora non riceverà alcuna risposta chi proverà a fare un /names #canale. (Ovviamente se chi dà questo comando *sta* sul canale in questione, allora vedrà tutte le persone presenti). Un /whois su qualcuno che sta su un canale segreto sarà (ammesso che non siate su quel canale voi stessi):
*** Thoth is ~thoth@disco.intercon.com (Far and Away) *** on IRC via server dewey.cc.utexas.edu (UT's "I Repeat Class" server) Nota: Un canale non può essere contemporaneamente +p e +s Torna all'indice 2.2.6. +kUn canale con il mode +k richiede una parola d'ordine (keyword) per entrare. Su EFnet (la più grande rete IRC) questa keyword può contenere caratteri "non-stampabili" (cioè che non sono caratteri numeri o comunque quelli che stanno sulla tastiera). Su UnderNet, sono ammessi solo i caratteri stampabili.Per impostare la keyword sul canale #silveroz a mykey:
/mode #silveroz +k mykey
oppure
/mode * +k mykey
Inoltre dovete conoscere la chiave anche per poterla togliere... se la sapete,
/mode * -k mykey
Il caso in cui la chiave non sia nota è discusso più avanti. Torna all'indice 2.2.7. +mSe il vostro canale è +m, allora possono parlare sul canale solo gli operatori o coloro ai quali un operatore abbia dato il mode +v. Questo è un'utile protezione in caso di attacco di bot fatti per floodare il canale.Torna all'indice 2.2.8. +o <nickname>Il mode +o è impostato o meno per particolari utenti. Dare a un utente il mode +o, concede a questi lo stato di operatore del canale. Rendere un utente -o significa togliergli i privilegi di operatore.Torna all'indice 2.2.9. +v <nickname>Il +v dà semplicemente la possibilità di parlare in un canale +m anche a chi non è operatore. (Tutti gli operatori hanno automaticamente il permesso di parlare.)Torna all'indice 2.2.10 +l <number>Questo stabilisce un limite al numero di utenti che possono entrare nel canale. Questo mode in realtà non garantisce che sul canale non entrerà un numero di utenti maggiore di quello definito. Per esempio, impostare questo mode non butta fuori nessuno anche se il limite è superato. Inoltre gli utenti che rientrano da uno split ignorano totalmente il +l (esattamente come ignorano tutte le altre limitazioni del canale).Torna all'indice 2.2.11. +b <pattern>Questo modo "banna" qualunque utente corrisponda a <pattern> impedendogli così di entrare. Questo punto è discusso meglio nella sezione 2.6.Torna all'indice 2.3. Eliminare i mode del canaleI mode sono generalmente impostati e rimossi con il comando mode in questa maniera:
/mode * -n /mode * -nt Potete anche combinare i comandi mode. Supponiamo che il canale sia al momento +i +n +t (solitamente scritto +int) Potete rimuovere il +i con
/mode * -i
ma supponendo che voi lo vogliate -i ma +s?
/mode * -i+s
Potete rimuovere tutti i mode (inclusa una chiave che non conoscete...) con il comando:
/eval mode * -$M
Nota: eval e $M sono entrambi comandi specifici del client ircII. Se non state usando ircII, questo comando probabilmente non funzionerà. Torna all'indice 2.4. Oppare e deopparePer oppare qualcuno usate ancora il comando mode:
/mode * +o SilverOz
per deopparlo:
/mode * -o SilverOz
potete oppare e deoppare fino a 3 persone per volta:
/mode * +ooo SilverOz Tangent Agatha /mode * -ooo SilverOz Tangent Agatha notare che il numero di 'ò deve corrispondere al numero di persone. Torna all'indice 2.5. KickarePer kickare qualcuno fuori dal canale, si usa il comando /kick
/kick * SilverOz
Potete anche aggiungere un commento che la persona vedrà quando sarà espulsa:
/kick * SilverOz Good bye and good riddance!
Si può kickare solo una persona per volta. Torna all'indice 2.6. BannareQuesto è uno di quei comandi per cui è utile avere un alias (abbreviazione) -- vedere la sezione sugli script per sapere come scrivere un alias. Notare anche che è spesso consigliabile bannare un utente *prima* di kickarlo -- in questo modo costui non può rientrare nel breve intervallo tra il ban e il kick. Ulteriori dettagli si trovano alla sezione 2.6.1.5.Quando si fa un ban, il nick l'utente e le informazioni sul suo indirizzo sono scritte così:
nick!user@host1.host2.suffix
es. SilverOz!zjohnsto@angus.scu.edu.au oppure: felix!f-t-cat@whack.cartoon.org Cioè qualunque cosa stia a sinistra del '!' è il nick, ciò che sta tra il '!' e la '@' è l'utente (username) e la parte alla destra della '@' è l'indirizzo (host). Potete usare dei caratteri speciali (wildcards) nei ban; questi servono come sostituti per un carattere o un gruppo di caratteri: ? sta per "qualunque singolo carattere" * sta per "qualunque gruppo di caratteri" In questo modo "S?lverOz" corrisponderà a "SilverOz", "SolverOz" e "SklverOz", ma non a "SiilverOz". "*Oz" corrisponderà a "SilverOz", "AgOz" e "SilverOOz", ma non a "Silver" o "SilverOzz". Allo stesso modo "*.hacker.com" corrisponderà a "bozo.hacker.com" e "luser.hacker.com", ma non a "hacker.com". Notare che alcuni utenti (utenti di client windows principalmente, ndt) possono cambiare il nome utente con la stessa facilità con cui cambiano il proprio nick. Questo significa che dovrete bannare il loro host o anche il loro dominio, per tenerli fuori dal canale (ricordo che gli indirizzi sono così fatti: nick!user@host.dominio.suffisso oppure nick!user@host.sottodominio.dominio.suffisso, ndt). Torna all'indice 2.6.1. Tipi di ban e quando usarliCi sono alcuni tipi di ban, ognuno dei quali è utile per particolari situazioni, anche se ce ne sono un paio (soprattutto i cosiddetti "screwban", quelli pieni di singoli '?') che sembrano proprio essere completamente inutili.Torna all'indice 2.6.1.1. Ban sul nickIl formato corretto per un nick ban è:
/mode * +b nick!*@*
Questo banna chiunque usi il nick "nick". Per esempio /mode * +b SilverOz!*@* bannerà chiunque usi il nick SilverOz. Naturalmente in questo caso è possibile cambiare nick ed entrare nel canale nonostante il ban. Questo ban è praticamente inutile contro le persone, ma può essere usato per liberarsi dei bot, che in genere non cambiano il proprio nick. (Alcuni lo cambiano comunque. Inoltre, su EFnet, potete vedere i ban impostati su qualunque canale, indipendentemente dal fatto che siate o meno su quel canale, scrivendo /mode #canale b.) Può anche essere usato per tenere fuori un utente inattivo da tempo (idle) che ha una funzione di auto-rejoin (rientra automaticamente nel canale dopo un kick). In questo caso bannatelo e sbannatelo poi dopo 5 minuti. Torna all'indice 2.6.1.2. Ban del tipo user@hostIl formato corretto per un ban del tipo user@host è il seguente:
/mode * *!*user*@*host.suffix
Questo è il tipo di ban standard. Esso banna tutti i nick (*! significa "qualunque nick") che abbiano il dato nome utente (*user* indica il nome utente; il '*' all'inizio serve nel caso sia presente il carattere '~' che potete vedere in alcuni casi, il '*' alla fine serve per assicurarsi che il nome utente dato stia nello spazio previsto -- lo spazio massimo è di 9 caratteri), da qualunque macchina all'interno del dominio dato. Es. per bannare SilverOz che è zjohnsto@scu.edu.au scriverete:
/mode * +b *!*zjohnsto*@*scu.edu.au
per bannare Luser che è lame@mm.elcheepo.edu scriverete:
/mode * +b *!*lame*@*elcheepo.edu
Notare che per l'indirizzo non USA (.au sta per Australia) lasciate 3 parti del nome del host, per quello USA solo 2. La maggior parte degli script scrivono il ban così:
/mode * +b *!*lame*@*.elcheepo.edu
che va bene a meno che troviate qualcuno che abbia un indirizzo composto da 2 sole parti; ad esempio se luser ha un altro account, joe@hacker.com e ha accesso anche a joe@phreak.hacker.com:
/mode *!*joe*@*.hacker.com
bannerà solo il secondo account e non il primo. Torna all'indice 2.6.1.3. Ban su un sitoIl formato per un 'site ban' efficace è:
/mode * +b *!*@*host.suffix
Questo banna chiunque da una particolare macchina o da un dominio, chiunque sia e qualunque sia il suo nick. Per esempio, se voleste bannare SilverOz e chiunque altro da SCU, dovreste scrivere:
/mode * +b *!*@*scu.edu.au
A questo punto non importa più chi è la persona, se sta su una macchina di SCU sarà bannata. Potete anche bannare gli utenti di una particolare macchina, così se volete bannare gli utenti di alsvid.scu.edu.au, ma non quelli di angus.scu.edu.au, dovete scrivere:
/mode * +b *!*@alsvid.scu.edu.au
Torna all'indice 2.6.1.4. Ban sugli indirizzi IPAlcuni server non restituiscono il nome della macchina quando fate un whois ma vi danno solo una serie di numeri che identifica l'indirizzo IP (Internet Protocol). (Ndt - Questo capita anche perchè ad alcune macchine non viene effettivamente assegnato un nome, ma vengono identificate solo col loro indirizzo IP)Un indirizzo numerico è in realtà l'indirizzo "IP" di quella persona e alcune volte bannare semplicemente l'intero indirizzo IP è sufficiente. Esempio:
/mode #bdsm +b *!*zjohnsto*@203.2.20.1
Se la persona bannata ha accesso ad altre macchine sulla propria rete o può cambiare il proprio indirizzo IP, la situazione è un pò più complicata. Ci sono 3 tipi di indirizzi che potete ottenere registrando un network (rete): classe A, classe B e classe C. Un network di classe C è una piccola rete che contiene non più di 255 host, ed è il più comune. In un network di classe C solo l'ultimo numero può cambiare. Se so che SilverOz sta su una rete di classe C, posso fare un site ban su di lei così:
/mode #bdsm +b *!*zjohnsto@203.2.20.*
Un dominio di classe B è più grande, fino a 65535 host, e i numeri che possono cambiare sono gli ultimi 2. Per un dominio di classe B dovrete usare:
/mode #bdsm +b *!*zjohnsto@203.2.*
Un dominio di classe A contiene 16777215 host e tutte le ultime 3 componenti dell'indirizzo possono cambiare. Ci sono solo 255 network di classe A - tutti di proprietà di grosse corporazioni. Molti network, specialmente quelli grandi, sono suddivisi in reti più piccole, il che vuol dire che anche se l'utente in questione sta su una grande rete, la sottorete che lui usa può essere bannata semplicemente mettendo un '*' nell'ultima parte dell'indirizzo. I network da 128-191 sono di classe B I network da 192-223 sono di classe C Tutto il resto dev'essere considerato classe A. Potete fare un ban tipo /mode * +b *!*zjohnsto*@203.2.20* ma questo bannerebbe gli utenti che hanno l'indirizzo 203.2.202.4 per esempio, ma anche quelli provienienti da un dominio completamente differente. Morale: includete sempre il punto '.' alla fine quando usate i ban sugli IP address. Ora sapete più di quanto avreste mai voluto sapere sugli indirizzi IP. Torna all'indice 2.6.1.5. Efficienzaè possibile nonchè consigliabile rendere i vostri kick e ban più efficienti. Per esempio dovreste sempre deoppare un utente prima di bannarlo. Perchè? Perchè se non lo fate, può deopparvi o kickarvi prima che lo facciate voi.Questa operazione può essere fatta semplicemente combinando i mode. Ad esempio, per cacciare Thoth dal canale dovrete fare così:
/mode * -o+b thoth *!*thoth*@*intercon.com /kick * thoth Get out you wanker e sullo schermo si vede:
*** Mode change "-o+b thoth *!*thoth*@*intercon.com" on channel #bdsm by SilverOz *** Thoth has been kicked off channel #bdsm by SilverOz (Get out you wanker) Questo mode change ha prima deoppato Thoth e poi l'ha immediatamente bannato. Torna all'indice 2.6.2. Rimuovere i banPer vedere quali ban sono presenti sul canale, scrivete:
/mode * b
Nota: questo funziona indipendentemente dal fatto che voi siate o meno sul canale, ma ovviamente se siete fuori dovete specificare il nome del canale, /mode #canale b. Per rimuovere i ban, dovete scriverli *esattamente* come sono - un terminale senza taglia e incolla è sconsigliato per questo. Se fate un errore, il sistema non vi avvertirà, vi dirà semplicemente che il ban è stato tolto, anche se non è mai esistito. Dovete scrivere il ban esattamente com'era. Per rimuovere un ban:
/mode * -b <ban pattern>
es. per rimuovere il ban *!*zjohnsto*@*scu.edu.au
/mode * -b *!*zjohnsto*@*scu.edu.au
Torna all'indice 2.6.3 Perchè un ban può non funzionareQualche volta bannate un utente e questo rientra lo stesso sul canale. Può essere che l'abbiate bannato male. Ma se il ban sembra corretto, ci sono altre spiegazioni.Torna all'indice 2.6.3.1 Troppi banUn canale può contenere al massimo 20 ban contemporaneamente. Se provate a mettere un nuovo ban e già ce ne sono 20, non otterrete nessun cambiamento di mode, non otterrete nessuna risposta.Torna all'indice 2.6.3.2. Ban similiSe è già presente un ban simile a quello che state cercando di mettere, allora il vostro non funzionerà. Rimuovete il ban inesatto o inutile e riprovate.Che cosa vuol dire 'similè? Un ban è definito 'troppo similè se il nick, lo user o l'host del ban coincidono con quelli di un ban già esistente. Torna all'indice 2.6.3.3. Server 'desynch'Questo è un brutto problema. Se un server diventa desynch, allora un hacker (pirata) può entrare nel canale su quel server dal momento che il ban che avete messo non sarà nella memoria di quel server. In questo modo, l'hacker può uscire e rientrare quando vuole e, dal vostro punto di vista, potrà farlo nonostante la presenza di un ban. Vedere la sezione 1.3 per ciò che succede in caso di split.Torna all'indice 2.6.2.4. Server splittatiQuando un server splittato si ricollega (rejoin), tutte le persone che stanno su quel server entrano sul canale. I ban non contano. Ovviamente potete kickarli una volta entrati, ma ricordate che questa non è sempre una buona idea, soprattutto durante un tentativo di takeover, visto che loro continueranno a vedere ciò che voi dite, ma voi non potrete vedere ciò che dicono loro!Inoltre non c'è modo di capire che una persone è entrata in seguito ad uno split -- appare esattamente come un join normale. Torna all'indice 3. Come gli hacker si impadroniscono dei canali
Questo è un piccolo sermone sui takeover e sulle contromosse da adottare. | |
|
Copyright © 1997, StallonIt - Ultimo aggiornamento - Gennaio 1999
|