Guide: passo per passo
Poichè molte macchine possono condividere una singola connessione Ethernet, ognuna di esse deve possedere un identificatore (ricordate che, in realtà, è la scheda di rete, l'hardware, a possedere un indirizzo, non la macchina in sè); questo non succede quando comunichiamo con una connessione dial-up utilizzando il nostro modem casalingo, perche' si presuppone che tutti i dati che inviamo siano destinati all'entità che risiede all'altro capo della linea (in genere il nostro Internet Service Provider, che ci assegnerà un indirizzo IP dinamico). Tuttavia, se comunichiamo attraverso una rete Ethernet dobbiamo specificare esattamente a quali macchine andranno consegnati i pacchetti inviati, anche se la rete fosse composta solamente da due computer: ricorderete che il protocollo Ethernet fu sviluppato per permettere a migliaia di macchine di dialogare fra loro.
Ciò è possibile “inserendo” un numero esadecimale (cioè con notazione a 16 cifre; il MAC address e' composto, invece, da 12 digit) in ogni destinazione Ethernet;
questo numero, in apparenza astruso è l'indirizzo MAC.
Eccone un esempio: 00-40-05-A5-4F-9D
Il MAC address e' composto da 48 bit (8bit = 1byte ; il bit è l'unità di misura fondamentale dell'informatica). Questi 48 bit verranno divisi in due metà: 24 bit identificano il nome del produttore della ethernet card, altri 22 bit identificano il nemero di serie UNICO assegnato alla scheda dallo stesso produttore: in questo modo l'indirizzo MAC di due ethernet adapter non sara' mai uguale; questo serial number e' chiamato OUI (Organizationally Unique Identifier) - e gli ultimi 2 bit ?
Il protocollo Ethernet ci permette anche di comunicare con macchine che non risiedono sulla nostra stessa rete ma sono interconnesse alla nostra tramite il protocollo TCP/IP (Transport Control Protocol over Internet Protocol, in realta' e' un'intera famiglia di protocolli): tuttavia non è possibile inviare e ricevere i dati nella loro forma originale allo stesso modo in cui non è possibile inviare per posta (snail mail) una lettera senza averla imbustata e dotata di francobollo e indirizzo del destinatario.
L'invio dei dati e la loro gestione in rete è gestita dai diversi protocolli, a partire da Ethernet, così dovremo trattare i nostri dati in modo che i protocolli possano capire cosa farne.
Il compito dello sniffer non sarà solo quello di registrare e archiviare dati ma si potrà istruirlo a riconoscere e suddividere i vari header (intestazioni) dei pacchetti per tracciare e controllare solo i pacchetti che soddisfino le più svariate e complesse regole (pattern) che possano interessare chi controlla lo sniffer.
Vediamo cosa succede con una breve spiegazione:
A (alice) possiede un indirizzo IP: 10.0.0.23 (tutti i pacchetti inviati da A saranno marcati con questo indirizzo)
B (barbara) possiede invece l'indirizzo IP: 192.168.100.54
Per comunicare con Barbara, che si trova in una rete diversa, Alice deve creare un pacchetto IP che abbia più o meno questa forma: [IP packet=(10.0.0.23 ===> 192.168.100.54)]
Questo compito è svolto dalle applicazioni (dai software) usate da Alice per spedire i dati lungo la rete e consiste in una operazione d'incapsulazione successiva dei dati in un pacchetto che all''esterno presenta i suoi dati TCP, poi quelli IP. Poiché, generalmente, i dati passano da reti ethernet, al pacchetto ora descritto saranno aggiunti altri tre strati: il primo è l'identificativo dell'Ethertype (comunica all'applicazione TCP/IP della destinazione di processare i dati), all'esterno di quest'ultimo sarà visibile il MAC address sorgente e infine quello del destinatario (se il destinatario è inserito in una LAN)
--------------------------------
* MAC add. destinatario
** MAC add. sorgente
*** ethertype
==================
# IP info
## TCP info
.......................................
# DATI
.......................................
==================
* CRC
--------------------------------
Solo allora Alice invierà il pacchetto a Barbara ed esso attraverserà il primo router sulla via per la sua destinazione finale; ogni router che il pacchetto incontrerà, leggendo la destinazione IP deciderà il corretto cammino dei dati verso Barbara.
Dobbiamo però tener conto di alcuni fattori:
Alice conosce solamente l'indirizzo IP di Barbara e il percorso che farà il pacchetto fino al suo primo router (locale);
Alice non sa nulla della struttura di internet ne' del percorso che il pacchetto compirà dopo essere stato processato dal suo router.
Tutti i router, tranne quello che gestisce l'indirizzo destinatario, possono leggere gli indirizzi ethernet ma li ignorano e instradano nuovamente il pacchetto.
Lo sniffer forza questa regola e copia il pacchetto per archiviarlo sul suo supporto di preferenza.
Ricordiamo che, parlando di sniffer, non ci riferiamo a strumenti che registrano l'attività che compiamo sulla tastiera del computer o ciò che avviene sul nostro schermo. Quest'attività, compiuta da programmi definiti Key Logger, equivale a leggere ciò che viene battuto sulla tastiera sopra le spalle di chi scrive. Essa potrà rivelare ugualmente, forse con minor dispendio di risorse, password o altri dati sensibili ma non sarà mai in grado di osservare il traffico che intercorre tra due terminali o su un intera rete di macchine. Quest'operazione, e la susseguente analisi dei dati raccolti, viene fatta, per l'appunto, attraverso gli sniffer.
Indice 1. Introduzione 2. Cos'è una rete locale ed il protocollo Ethernet? 3. Cosa significano pacchetto e Promiscuous Mode? 4. MAC address e indirizzi IP (Differenza tra Sniffer e “Key Lo 5. Possibile collocazione di uno Sniffer - Livelli di rischio 6. Sistemi operativi e Sniffer 7. Come fregare uno Sniffer 8. Come individuare uno Sniffer 9. Conclusioni 10. Note e Glossario |
Guide correlate a "": |