Uno sniffer è un
qualsiasi strumento, sia esso un software o un apparato hardware, che raccoglie
le informazioni che viaggiano lungo una rete (network). Questa rete può
utilizzare un protocollo di comunicazione qualunque: Ethernet, TCP/IP (Internet
si basa principalmente su questo protocollo), IPX o altri.
Generalmente si utilizzano software sniffer e il termine in questione si
riferisce a The Sniffer Network Analyzer, il nome del primo programma di
questo tipo, sviluppato dalla Network Associates Inc. è protetto da trademark.
Tuttavia la parola "sniffer" è ora di uso comune come PC o kleenex e con
essa ci riferiamo a tutti i programmi che implementano quelle stesse funzioni.
Si possono dividere i vari tipi di sniffer in due grandi branche:
a)i prodotti
commerciali che sono rivolti agli amministratori di rete e alla manutenzione
interna delle reti stesse;
b)i prodotti sviluppati nell'underground informatico,
spesso dotati di un'incredibile varietà di funzioni ulteriori rispetto ai tool
commerciali.
Entrambi possono essere utilizzati come mezzo per accedere ad una
rete.
Se vogliamo fare una distinzione che non si basi solo sul prezzo del prodotto o
sulla sua provenienza, possiamo considerare i software precedenti come un
tutt'uno e rapportarli ad applicativi come gli analizzatori di rete (network
analyzer) che danno la possibilità di fare qualche operazione in più rispetto
al semplice ascolto e archiviazione dei dati di passaggio su una rete, come
compilare statistiche sul traffico e sulla composizione dei pacchetti.
Le funzioni tipiche degli sniffer non differiscono di molto e possono essere
riassunte sinteticamente in:
· analisi di qualità e portata della rete (performance analisys)
· setacciamento automatizzato di password e nomi di utenti (in chiaro o, più spesso, cifrati) per successiva analisi
· creazione di log, lunghi elenchi che contengono la traccia, in questo caso, del traffico sulla rete
·
scoperta di intrusioni in rete attraverso lanalisi dei
log del traffico
Pensate ad una rete come
ad un paesaggio dinamico, ad esempio un fiume: in esso i pacchetti scorrono
liberamente lungo il percorso che offre minor resistenza. Uno sniffer è
l'entità che immerge le mani nel fiume e filtra i pacchetti tra le sue dita
(facendone una copia senza alterare i pacchetti).
La maggior parte dei prodotti lavorano come standard
network adapters, ma alcuni richiedono hardware speciale. Se usa hardware
speciale, si possono analizzare errori
hardware (come errori di CRC, problemi della tensione,del cavo,
"dribbles" , errori della negoziazione, ecc...).
Questa è la parte più importante. Cattura il traffico
della rete dal cavo, lo filtra e memorizza
i dati in un buffer.
Una volta che i pacchetti sono catturati dalla rete,
vengono immagazzinati in un buffer. Ci sono due modi di cattura:
a)cattura finchè
il buffer non si riempie;
b) usa il buffer come un "round robin" dove
il dati più nuovi sostituiscono i più vecchi.