sabato 31 luglio - 03:00
Google
 
Menù
  Home
  Come nasce IRC-Zone
  Glossario Informatico
  News
  I nostri progetti
  I nostri servizi
  Partners
  Diventa un Partner

IRC
  Cos'è IRC
  Storia di IRC
  Netiquette su IRC
  Emoticons
  Gergo della chat
  Lista Servers
  RFC 1459
  Shell Hosting

mIRC
  Cos'è il mIRC
  FAQ mIRC
  Configurazione mIRC
  Download mIRC
  Novità
  Script Stranieri
  Script Italiani
  MTS
  MTS Engine

mIRC Addon
  mIRC addon Audio
  mIRC addon SMS
  mIRC addon Grafica
  mIRC addon Utility
  mIRC addon Uso Bot

Client IRC
  Client IRC Linux
  Client IRC Mac
  Client IRC Win

XChat
  Cos'è XChat
  XChat per Win
  XChat per Unix

KVirc
  Cos'è KVirc
  FAQ KVirc
  Installazione su Linux
  KVirc Scripting
  KVirc per Mac
  KVirc per Win
  KVirc per Unix
  KVirc addon

Irssi
  Cos'è Irssi
  Download Irssi
  Download Moduli

Eggdrop/Windrop
  Cos'è un Eggdrop
  Download Eggdrop
  Configurazione Eggdrop
  Download Windrop
  Installazione Windrop

Tcl
  Download TCL
  Tutorial TCL scripting
  Documenti/Guide

BNC
  Cos'è un psyBNC
  Download psyBNC
  Configurazione psyBNC
  Download sBNC
  Configurazione sBNC

Linkaci!
footer

Credits
Somerights

Donazione con Paypal
footer

Statistiche
Ip: 38.107.191.106
Download: 486121 file
Totale: 654581 MB

footer



Clone Scanner

Autore: ntdData: 2005-04-18
Modificato: 2005-08-28 Letture: 3820
Torna indietroStampa articoloInvia ad un amico

"Come posso scrivere un clone scanner" è una delle domande che più frequentemente ho visto pubblicate su vari siti. È anche un esempio di come la maggior parte di utenti riescano ad utilizzare adeguatamente i loro due strumenti più importanti: il file di help di mIRC ed i loro propri cervelli. In ogni modo, iniziamo...
Prima di poter scrivere uno Script per il clone scanner bisogna essere sicuri di sapere esattamente cosa è un clone.
Cosa sono i cloni? Sono semplicemente connessioni multiple dallo stesso host (si ricordi che un host è la parte di indirizzo dopo il segno @). Ah, qui il primo indizio: l'indirizzo. Ora, come possiamo noi vedere l'indirizzo di qualcuno? Domanda abbastanza semplice, chiunque abbia avuto qualche esperienza con lo scripting conoscerà l'identificatore $address. Per chi non ne fosse a conoscenza la traduzione da "address" (indirizzo) ad "$address" è piuttosto ovvia...
Questa fase è importante. Rivela il segreto più importante del tutto dello scripting in mIRC. /help $address Il file di Help praticamente quasi vi rivela come scrivere lo Script, Si guardi la voce $mask per i tipi di indirizzi che si possono usare e si ricordi che siamo soltanto interessati ad un host corrispondente. Così dovreste individuare subito che quello *!*@host.dominio è la mask corretta, che è la mask di tipo 2.
Trovare i Cloni Dopo, sappiamo che la cosa importante è che esiste più di un collegamento da quell' host. Come si faccia questo è un po' più ingannevole ed ammetto che questa parte dell'operazione non è qualcosa che salti prontamente dall' helpfile. Potete pensare di fare un ciclo di confonrti tra $$address ad altri $$address-es, ed in effetti non c'e' nulla di sbagliato in questo. Tuttavia, il modo migliore è lasciare che il mIRC faccia il lavoro duro per voi. Essite infatti un identifier che permette di sapere "quanta gente ha questo host", e se il numero è maggiore di 1, avete un clone. Quell'identifier è $$ial.
Il normale clone scanner farà uno scan solo un canale, così si può preferire il comando $$ialchan e ricordarsi che lo script standard, che usa 0 nel campo N vi dà il conto totale.Passiamo ad un po' di codice.
Controllare un nick.

%host_to_search_for = $address(nick,2)
%number_from_that_host = $ialchan(%host_to_search_for,chan,0)
if (%number_from_that_host > 1) {
;we have clones!
;first set up our vars and loop
var %count = 0
unset %clones
:loop
inc %count
;loop through every nick, adding the nicks to %clones
%clones = %clones $ialchan(%host_to_search_for,chan,%count).nick
if (%count < %number_from_that_host) { goto loop }
echo -a The clones were %clones
}

Controllare un canale.
Naturalmente, quel codice ha funzionato soltanto per un nick. noi invece vogliamo che vengano controllati tutti i nick nel canale. Ciò è (si spera) evidente - basta fare un ciclo di loop attraverso $$nick fino a che non otteniate il risultato di tutti i nick. (proprio come $$address). Per ciascun $$nick che controlliamo, dovremo effettuare il "ciclo interno" codificato sopra.

alias clonescan {
;$1 is the channel to scan
var %count1 = 0
:outer_loop
inc %count1
;now $nick($1,%count) is the nick to check
;the following code is just like that above, but smaller
if ($ialchan($address($nick($1,%count1),2),$1,0) > 1) {
var %clones, %count2 = 0
:inner_loop
inc %count2
%clones = $ialchan($address($nick($1,%count1),2),$1,%count2).nick
if (%count2 < $ialchan($address($nick($1,%count1),2),$1,0)) {
goto inner_loop
}
echo -a These are clones: %clones
}
;now just go to the next nick if there are any more
if (%count1 < $nick($1,0)) { goto outer_loop }
}

Problemi Noterete certamente alcuni problemi esaminando un certo alias in un canale con vari cloni. Se che Joe è un clone di Jack, allora Jack è un clone di Joe. Questo significa che si innesca due volte:

Questi sono i cloni: Jack Joe Questi sono i cloni: Joe Jack

Non così buono. Come possiamo riparare a ciò? Semplice... basta applicare un po' di logica! Avrete bisogno di ricordare l'indirizzo appena controllato e se lo troverete di nuovo non applicare il ciclo interno.



Branzilla Contest Redeem

Links utili

Newsletter
Iscriviti
Cancellati

Ci sono 84 iscritti

In rilievo..
  JackSMS v3
  Venom Script Lite

Documenti/Guide
  I Social Network
  Sicurezza in rete
  Cos'è SSL
  FAQ Bot
  Documenti su IRC
  FAQ Ident
  RFC 2810
  RFC 2811
  IRCx RFC

Informatica libera
  Gli Hoaxes
  Hoaxes report
  Documenti vari
  CensorWare
  Windows
  Linux

mIRC Scripting
  Codice ASCII
  Snippet mIRC scripting
  Tutorial mIRC scripting
  Dll per mIRC
  Utilities

IRCd
  Cos'è un IRCd
  Download Unreal
  Download Hybrid 6
  Download Hybrid 7
  Download Ultimate
  Download Bahamut
  Configurazione IRCd

IRC Services
  Cosa sono i Services
  Download Anope
  Download Epona
  Ircservices 5.0
  Ircservices 5.1
  Configurazione Epona
  Configurazione Anope
  Comandi ChanServ
  Comandi NickServ
  Comandi MemoServ

NeoStats
  Cosa sono i NeoStats
  Download NeoStats
  Configurazione NeoStats
  Download Moduli

IPv6
  Cos'è IPv6
  IPv6 su Win2000
  IPv6 su WinXP
  IPv6 su Linux
  IPv6 su mIRC e Xchat

Programmazione
  Tutorial C++
  Tutorial C
  Compilatori C/C++

Altro
  Contatti
  Banners Gallery

RSS Feed




Progetti
Starlight
IRCHippo

Links amici
Eushells.net
MF's IT User Essential Security Center

Validato CSS
Sito interamente sviluppato in PHP
MySQL
©2004+ IRC-Zone | Webmaster | Sitemap
Created by Cesare 'Kaesar83' Lasorella
Designed by Manuel 'erkokki' Cabras
IRC-Zone non è responsabile del contenuto dei siti linkati
Pagina creata in: 0.025 sec con 27 queries
Spampoison
Sviluppato con Notepad++
website monitoring service