Università degli Studi di Napoli Federico II -...

98
Università degli Studi di Napoli Federico II Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica Tesi Sperimentale di Laurea Triennale Un sistema per il monitoraggio di una rete wired basato sul software Open Source Ntop Relatori Candidato Prof. Guido Russo Guido Alì Dr. Ing. Catello Di Martino matricola 566/2266 Anno accademico 20010/2011

Transcript of Università degli Studi di Napoli Federico II -...

Università degli Studi di Napoli Federico II

Facoltà di Scienze MM.FF.NN.

Corso di Laurea in Informatica

Tesi Sperimentale di Laurea Triennale

Un sistema per il monitoraggio di una rete wired

basato sul software Open Source Ntop

Relatori Candidato

Prof. Guido Russo Guido Alì

Dr. Ing. Catello Di Martino matricola 566/2266

Anno accademico 20010/2011

Guido Alì 566/2266 Pagina 2 di 98

Desidero ringraziare...

Il Prof. Guido Russo e l'Ing. Catello Di Martino per l'opportunità che mi hanno concesso di

svolgere il tirocinio nel Centro SCoPE e per il costante supporto umano e professionale fornitomi.

I miei colleghi del centro ScoPE con cui mi sono tante volte confrontato e ciò ci ha permesso di

evolvere insieme, imparando il lavorare in team.

I miei genitori per avermi supportato anche nei momenti più difficili...

I miei amici ed Enne per avermi sopportato...

Tutti i colleghi del corso di laurea, i ragazzi e le ragazze del Centro SCoPE, in particolare Marco

con il quale ho svolto un lavoro collaborativo durante il tirocinio, e Flavio nelle ultime settimane

( in bocca al lupo per l'imminente laurea ).

chi ha sempre creduto in me e continua a farlo ancora oggi...

Grazie a tutti !!!

Dedico questa laurea alla mia Little Kim.

Guido Alì 566/2266 Pagina 3 di 98

Indice generale

1. Introduzione ........................................................................................................................... 6

2. Cos'è il monitoraggio di una rete .......................................................................................... 11

3. Software di monitoraggio..................................................................................................... 12

3.1 Contesto e motivazione ..................................................................................................... 12

4. Strutturazione infrastruttura monitoraggio rete Unina ......................................................... 15

4.1 Tipologia della rete Unina .................................................................................................. 15

4.2 Sistema operativo di rete: IOS ........................................................................................... 22

4.3 Protocolli di routing .......................................................................................................... 25

4.3.1 Protocollo IS-IS .............................................................................................................. 25

4.3.2 Protocollo BGP .............................................................................................................. 28

4.3.3 Protocollo EIGRP ........................................................................................................... 29

4.4 Il CISCO 12410 ................................................................................................................ 31

4.5 Protocollo Netflow ............................................................................................................ 39

5. Software monitoraggio rete .................................................................................................. 43

5.1 Ntop .................................................................................................................................... 43

5.1.1 Packet Sniffer .................................................................................................................. 44

5.1.2 Packet Analyser ............................................................................................................... 45

5.1.3 Report Engine ................................................................................................................. 48

5.2 MRTG ................................................................................................................................ 50

5.2.1 Funzionamento ................................................................................................................ 50

5.2.2 Caratteristiche ................................................................................................................. 50

5.3 TCPDUMP ......................................................................................................................... 52

5.3.1 Usi comuni di tcpdump .................................................................................................. 52

5.3.2 Le opzioni ....................................................................................................................... 53

5.3.3 Esempi base..................................................................................................................... 54

5.3.4 Le espressioni .................................................................................................................. 57

5.3.5 Esempi di espressioni ...................................................................................................... 59

5.3.6 Espressioni combinate .................................................................................................... 62

5.3.7 Esempi di espressioni combinate .................................................................................... 63

5.3.8 Suggerimenti .................................................................................................................. 66

6. Guida all'installazione di Ntop ............................................................................................. 68

6.1 Primo metodo installazione pacchetti ................................................................................ 69

6.2 Secondo metodo installazione pacchetti ............................................................................ 70

6.3 Configurazione di Ntop ...................................................................................................... 77

7. Guida installazione della libreria PF_RING ........................................................................ 85

8. Glossario .............................................................................................................................. 93

9. Bibliografia e Sitografia ..................................................................................................... 105

Guido Alì 566/2266 Pagina 4 di 98

Indice delle illustrazioni

Figura 1: Schema di una rete con Ntop ...................................................................................... 6

Figura 2: Struttura logica della rete sul territorio ..................................................................... 15

Figura 3: Sedi di rilievo ........................................................................................................... 16

Figura 4: Collegamento tra POP ............................................................................................. 16

Figura 5: Scheda PRP .............................................................................................................. 32

Figura 6: sempi di schede LC .................................................................................................. 33

Figura 7: Struttura del pacchetto netflow ................................................................................. 40

Figura 8: Architettura di Ntop .................................................................................................. 43

Figura 9: Riga della tabella hash .............................................................................................. 46

Figura 10: apt-get install autoconf ........................................................................................... 67

Figura 11: Gestore di pacchetti ................................................................................................ 68

Figura 12: Installazione della libreria libpcap .......................................................................... 69

Figura 13: Installazione delle dipendenze librrd-dev ............................................................... 70

Figura 14: Scermata di conferma installazione pacchetti dipendenti ...................................... 71

Figura 15: Installazione di Selinux .......................................................................................... 72

Figura 16: Esecuzione del comando ./autogen.sh .................................................................... 73

Figura 17: Esecuzione dl comando sudo make install ............................................................. 74

Figura 18: Prima esecuzione di Ntop ....................................................................................... 75

Figura 19: Scermata di configurazione di Ntop ....................................................................... 76

Figura 20: Schermata iniziale di Ntop ..................................................................................... 77

Figura 21: Voce Plugins del menù a tendina ............................................................................ 77

Figura 22: Tabella dei Plugins installati ................................................................................... 78

Figura 23: Voce Plugins -> NetFlow del menù a tendina ........................................................ 78

Figura 24: Pulsante Add NetFlow Device................................................................................ 79

Figura 25: Configurazione del Plugin NetFlow - prima parte ................................................. 80

Figura 26: Configurazione del Plugin NetFlow - seconda parte .............................................. 81

Figura 27: Voce Admin -> Switch NIC del menù a tendina .................................................... 82

Figura 28: Voce Summary del menù a tendina ........................................................................ 82

Figura 29: Global Traffic Statistics .......................................................................................... 83

Figura 30: Global Protocol Distribution .................................................................................. 84

Figura 31: Global TCP/UDP Protocol Distribution ................................................................. 84

Figura 32: TCP/UDP Traffic Port Distribution: Last Minute View ......................................... 86

Figura 33: Rimozione di libpcap .............................................................................................. 90

Figura 34: Esecuzione di sudo make install ............................................................................. 92

Guido Alì 566/2266 Pagina 5 di 98

Indice delle tabelle

Tabella 1: Tipo di collegamento delle sedi dell'ateneo ............................................................ 21

Tabella 2: Punti rete attivi ........................................................................................................ 22

Tabella 3: Caratteristiche schede LC ....................................................................................... 36

Tabella 4: Caratteristiche ottiche .............................................................................................. 38

Tabella 5: Caratteristiche delle schede ottiche ......................................................................... 39

Tabella 6: Tipo di schede divise per porte ................................................................................ 40

Tabella 7: Caratteristiche ottiche .............................................................................................. 40

Tabella 8: Esempio manuale Ntop alla voce -p ........................................................................ 92

Guido Alì 566/2266 Pagina 6 di 98

Indice degli esempi

Esempio 1: tcpdump -D ........................................................................................................... 56

Esempio 2: tcpdump -nnxX -i eth0 -w tcpdumpfile -C 3 ....................................................... 57

Esempio 3: tcpdump -nnvvv -i eth0 host 192.168.1.9 ............................................................. 59

Esempio 4: tcpdump -vvv -i lo dst port http ............................................................................ 60

Esempio 5: tcpdump -nnwww -c 3 arp .................................................................................... 61

Esempio 6: tcpdump -nn icmp host 192.168.1.9...................................................................... 62

Esempio 7: tcpdump -c 10 ip host 10.0.2.15 and not 10.0.2.2 ................................................. 63

Esempio 8: tcpdump -c 3 -i eth0 port smtp or http or ftp-data or ftp ...................................... 64

Esempio 9: tcpdump -c 5 -nn -i eth0 'src net not 192.168.0.0/16 and not 10.0.0.0/8′ ............ 65

Esempio 10: tcpdump -nn -i eth0 src host 10.0.2.15 and 'dst port 21 or 80' ............................ 66

Guido Alì 566/2266 Pagina 7 di 98

1. Introduzione

Questa tesi tratta il monitoraggio delle reti wired tramite il software Open Source Ntop,

prima però motiveremo la scelta di tale applicativo confrontandolo con altri programmi per

il monitoraggio. In questo caso specifico il nostro compito è stato di monitorare il traffico

della rete UNINA dell'università di Napoli Federico II, tramite un hardware quale un GSR

(Gigabit Switch Routher) della Cisco, attraverso il quale passa tutto il traffico che va

all'esterno, il software Ntop e grazie al protocollo NetFlow della Cisco. Il GSR legge tutti i

pacchetti che transitano attraverso di lui e tramite il protocollo NetFlow invia i dati

riguardanti il tipo del pacchetto, la dimenzione e altre informazioni, al software Ntop, il

quale monitorizza il tutto.

Il lavoro effettuato è stato il continuo di un precedente tirocinante, Riccardo Caccavale, il

quale utilizzava un applicativo della stessa casa del GSR, omonimo del protocollo utilizzato,

chiamato NetFlow.

Nella prima parte del tirocinio è stata più lo studio dell'applicativo e di due script, il primo

per salvare i dati del monitoraggio su un database esterno MySql, il secondo per la stampa

dei dati su un grafico.

La soluzione che era stata trovata dal tirocinante precedente era di analizzare ogni dieci

Figura 1: Schema di una rete con Ntop

Guido Alì 566/2266 Pagina 8 di 98

minuti una lista di un campione di tutti i pacchetti passanti per il GSR e classificare il tipo di

pacchetto in base alla porta di rete utilizzata.

Il problema che non si riusciva a risolvere era che purtroppo molti tipi di servizi come ad

esempio il Voip o altri protocolli, non sono classificabili con specifiche porte di rete ma

cambiano in base al tipo di telefono Voip o in altri casi utilizzano un range di porte, quindi

sarebbe risultato ancora più macchinoso lo script.

Dopo che ci si è resi conto che tale programma era poco performante poiché poteva solo

ricevere informazioni riguardo le singole porte di rete, è cominciata una lunga fase di ricerca

di software gratuiti e non in grado di monitorare una rete così grande, che ricordiamo

comprende tutte le varie facoltà e sedi come monte Sant'Angelo, Fuorigrotta, il centro

storico e così via.

Durante la ricerca dell'applicativo da utilizzare, sono stati testati vari applicativi come

TCPDUMP, MRTG e altri, fino a trovare Ntop. La scelta alla fine è caduta su Ntop per

svariati motivi, in primo luogo poiché è un software openSource per Linux, è in grado di

interfacciarsi con il protocollo NetFlow e quindi non monitorizza le singole porte, perché

genera automaticamente grafici senza dover usare script esterni, è italiano, è interfacciabile

con MySql e tanti altri motivi.

Un'altra fase importante del tirocinio è stata l'installazione e la configurazione del software

in quanto, l'installazione ha richiesto un gran numero di librerie specifiche come Selinux e

altre; per quanto riguarda la configurazione per l'interfacciamento con il GSR è stato

necessario ottenere permessi specifici su un server su cui è stata installata una macchina

virtuale a cui è stato associato un indirizzo IP specifico.

La fase finale del tirocinio è stata la visualizzazione sul sito dell'università

wifed.scope.unina.it di alcuni grafici ottenuti tramite Ntop come il grafico del traffico HTTP,

il traffico Mail, quello Voip e altri. Il resto dei grafici sono accessibili solo tramite

identificazione tramite username e password.

Oltre ai grafici dei vari protocolli, sul sito è disponibile anche una mappa di tutti gli Host

collegati in quell'instante e altri grafici che visualizzano il carico della rete nell'ultima ora,

ultimo giorno e ultimo mese.

Guido Alì 566/2266 Pagina 9 di 98

Questo lavoro è solo all'inizio, in quanto utilizzando al meglio l'applicativo Ntop è possibile

identificare attacchi, monitorare le singole aree come i laboratori o le aule studio, scoprire

delle falle nella rete o addirittura sviluppare nuovi plugins.

Il progetto è stato realizzato interamente mediante le risorse umane e le attrezzature messe a

disposizione dal Data Center SCoPE e dal gruppo di reti del CSI.

Il monitoraggio del traffico sta diventando sempre più complesso a causa della varietà di tipi

di traffico e l'integrazione di reti diverse.

Anche se gli strumenti tradizionali come sniffer e sonde di rete sono ancora utili per la

misurazione del traffico, spesso sono limitate all'ambito di analisi dei pacchetti di rete e la

loro visualizzazione. Questo significa che gli operatori hanno bisogno di eseguire

manualmente le azioni specifiche quando accadono alcune condizioni di traffico anomalo

perché hanno molto un sostegno limitato di strumenti di monitoraggio.

La misurazione del traffico di rete è stata considerata un'attività necessaria fin dai primi

lavori svolti tramite la rete (networking). Gli amministratori hanno dovuto tenere traccia del

traffico di rete per diverse ragioni, tra cui l'individuazione delle strozzature della rete e le

estensioni della rete di pianificazione. Negli ultimi anni, questa attività è diventata sempre

più difficile per vari motivi:

• L'integrazione dei diversi mezzi di comunicazione di rete rende l'identificazione dei

problemi di comunicazione sempre più difficile, e richiede sniffer di rete e sonde in grado di

tenere il passo con la velocità della rete che aumenta.

• L'interconnessione delle reti esistenti autonome, basate su protocolli IP, e protocolli

non-IP come NetBEUI, AppleTalk e IPX, i quali si sono silenziosamente propagati in reti IP

esistenti, interferendo con i protocolli esistenti e le prestazioni della rete.

• Gli amministratori di rete necessitano di monitorare costantemente l'utilizzo di

protocolli che fanno largo uso della larghezza di banda di rete e quindi influenza

sensibilmente le prestazioni complessive della rete.

UNIX tradizionalmente fornisce strumenti per la verifica dei problemi di connettività di

base così come sniffer di rete come tcpdump o snoop. Questi strumenti sono molto potenti

per il monitoraggio della rete e problemi di connettività di protocollo, tuttavia, hanno

bisogno di strumenti di analisi offline come tcpshow e tcp-track per una migliore analisi e

Guido Alì 566/2266 Pagina 10 di 98

correlazione dei dati acquisiti nonché di individuare i flussi di rete.

Allo stesso modo, le sonde di rete come gli agenti di monitoraggio remoto (RMON), sono

molto potenti, ma purtroppo hanno bisogno di sofisticati SNMP (Simple Network

Management Protocol) manager in grado di configurare la rete in modo corretto, e

analizzare i dati raccolti. A causa di questa complessità e il costo di tali sonde, gli agenti

RMON sono fondamentalmente utilizzati unicamente da amministratori di rete di

infrastrutture di reti di grandi dimensioni. Altri strumenti per il monitoraggio di rete, come

NeTraMet, offrono linguaggi di programmazione avanzati di analisi dei flussi di rete e la

creazione di registri statistici per tipo di evento. Sebbene questi strumenti offrono grandi

vantaggi in termini di flessibilità e di configurazione utente nei confronti degli agenti

RMON, ancora non sono in grado di raccogliere dati sul traffico tramite un egente SNMP e

poi fornirli agli amministratori i quali a loro volta innescano azioni specifiche per aumentare

la fluibilità del traffico.

Su Internet ci sono diversi strumenti progettati per rilevare falle di sicurezza di rete e

potenziali attacchi in corso. Accanto alcune eccezioni come Network Flight Recorder (NFR),

questi strumenti sono in genere progettati per rilevare gli attacchi nei confronti di un singolo

host (generalmente quello in cui lo strumento è stato attivato) e non

fornire protezione alla rete e sottorete. Strumenti di misurazione del traffico di solito non

offrono il supporto per la sicurezza, né consentono azioni attive da adottare quando si

verifica un attacco, ma semplicemente avvisare gli amministratori quando un attacco già si è

verificato. Questo perché gli strumenti di misurazione e classificazione del traffico di rete in

base, si basano su alcune regole statiche specificate con le soglie definite. Queste soglie

spesso non sono in grado di esprimere modelli di traffico complessi (ad esempio, attacchi di

sicurezza) o sufficientemente flessibili per essere in grado di coprire una intera sottorete

senza dover definire la stessa regola per tutti gli host della sottorete.

Ntop è una applicazione web-based che monitorizza il traffico della rete. Inizialmente è

stato scritto dal Dott. Deri dell'università di Pisa per affrontare i problemi di prestazioni del

backbone di rete del campus, perché gli strumenti per il monitoraggio del traffico a sua

disposizione non sono stati soddisfacenti per i motivi sopra elencati. Il nome deriva dallo

strumento UNIX top, per il controllo dei processi della CPU, gli autori avevano bisogno di

un semplice strumento in grado di misurare il traffico di rete e trasmettere le informazioni

Guido Alì 566/2266 Pagina 11 di 98

sui pacchetti catturati. Ntop è poi evoluto in uno strumento più flessibile, estensibile e

potente grazie anche alle segnalazioni di problemi e suggerimenti della genteche su Internet

ha scaricato l'applicazione.

Guido Alì 566/2266 Pagina 12 di 98

La parola monitoraggio deriva da monitor e raggio, così come il radar controlla ciclicamente

un raggio d'azione.

Il monitoraggio delle reti in questi ultimi anni è divenuto sempre più importante, conoscere

ciò che si fa della propria rete è fondamentale per poter migliorare la propria produttività,

scoprire falle nella sicurezza e verificare che si faccia un uso consono delle ore di lavoro.

Nel caso della rete dell'università il monitoraggio serve a capire l'uso che gli studenti fanno

della infrastruttura messa a disposizione dalla Federico II, per poter migliorare il servizio,

potenziarlo e eventualmente filtrarlo per impedire abusi e illegalità.

Sapere ciò che l'utente vuole è fondamentale per lo sviluppo di applicazioni future, così

come per la gestione del traffico della rete e per evitare congestione del traffico. Di contro

c'è la controversia sul troppo controllo e la violazione della privacy, discorso che

ovviamente non può essere sorvolato quando si parla di controllo del traffico di una rete.

Guido Alì 566/2266 Pagina 13 di 98

Il lavoro di amministratore della rete sta diventando sempre più complesso a causa del

crescente numero di computer collegati in rete che lavorano con sistemi operativi diversi e

parlano con vari protocolli di rete. La maggior parte del monitoraggio della rete e degli

strumenti diagnostici, come ping e traceroute sono adatti solo per affrontare i problemi di

connettività semplice. Problemi di rete complessi spesso devono essere affrontati con

strumenti di gestione piuttosto costosi o sonde acquistabili solo da aziende di medie-grandi

dimensioni.

Ntop, è un'applicazione web-based open-source per monitorare l'utilizzo della rete che

consente agli utenti di tenere traccia delle attività di rete pertinenti, compreso l'utilizzo della

rete, le connessioni stabilite, il protocollo utilizzato per la connessione alla rete e la

classificazione del traffico. La portabilità di Ntop su varie piattaforme, il suo supporto di

molti mezzi di comunicazione di rete, la facilità d'uso e utilizzo della CPU leggero lo rende

adatto a chi vuole controllare la propria rete, senza dover adottare una piattaforma di

gestione sofisticata e costosa.

3.1 Contesto e motivazione

Strumenti popolari come ping e traceroute sono stati utilizzati per anni per il monitoraggio e

il debug di semplici problemi di connettività di rete. Anche se questi strumenti sono spesso

sufficienti per affrontare i problemi semplici, in realtà sono stati creati per monitorare le

attività di rete tra due host. Nei casi in cui il problema dell'indirizzamento della rete è

dovuto all'interazione di traffico originato da parte di più host padroni, questi strumenti

mostrano i loro limiti. Strumenti di network sniffer come tcpdump sono molto utili per

analizzare il traffico di rete, ma le applicazioni off-line sono spesso necessarie per correlare

i dati acquisiti e l'individuazione dei flussi di rete. Molti sniffer di rete commerciali sono

solitamente in grado di analizzare i dati durante l'acquisizione del traffico, ma questi

strumenti sono ancora molto primitivi, perché si concentrano principalmente sul pacchetto e

non le attività di rete globale. In altre parole, gli operatori sono in grado di conoscere

praticamente tutto ciò che riguarda il contenuto di un pacchetto di rete unico, ma è molto

difficile estrarre informazioni relative alla posizione di tutta la rete, quando si riscontra un

Guido Alì 566/2266 Pagina 14 di 98

problema di rete. Allo stesso modo, le sonde di rete come agenti RMON sono molto potenti,

ma purtroppo hanno bisogno di un sofisticato manager SNMP che sono in grado di

configurare in modo corretto, e analizzare le statistiche di rete raccolte. A causa di questa

complessità e il costo di tali sonde, gli agenti RMON sono fondamentalmente utilizzati

unicamente dai gestori di rete avanzate nelle grandi istituzioni.

Altri strumenti per il monitoraggio di rete come NeTraMet e NFR offrono linguaggi di

programmazione avanzati, di analisi dei flussi di rete e la creazione di registri statistici per

evento. Tuttavia questi strumenti sono stati progettati come demoni di rete aventi

impostazioni avanzate adatte per il monitoraggio di reti in un medio e lungo periodo di

tempo, ma in alcuni casi è necessario disporre di uno strumento molto più semplice in grado

di mostrare lo stato attuale della rete in formato leggibile sul terminale.

Anche se i sistemi operativi si sono evoluti rapidamente, le aziende di creazione software

non hanno prestato sufficiente attenzione alla gestione della rete. A causa di questo, le

ultime versioni dei sistemi operativi più diffusi offrono ancora servizi di ping e traceroute.

Questo perché spesso le aziende ritengono che se un problema di rete è dovuto alla

connettività di rete il ping e traceroute sono sufficienti, mentre se il problema è più

complicato è necessario un più costoso e complesso strumento di gestione della rete.

Nell'era di Internet, gli utenti della rete devono poter accedere agli strumenti di rete, tramite

interfacce semplici ma in grado di dare risposta a domande come:

• Perché le prestazioni di rete locale sono così povere?

• Chi utilizza la maggior parte della larghezza di banda disponibile?

• Quali sono gli host che attualmente stanno diminuendo le prestazioni del server

locale NFS?

• Qual è la percentuale di larghezza di banda effettivamente utilizzata del mio

computer?

• Quali sono gli utenti contattati e la quantità di traffico di rete prodotta da ciascuno dei

processi in esecuzione sul computer locale?

• Quali sono gli host che producono traffico multicast?

Ntop è stato scritto per dare una risposta positiva a tutte le domande di cui sopra. E 'stato

Guido Alì 566/2266 Pagina 15 di 98

inizialmente scritto dagli autori per affrontare i problemi di prestazioni del backbone di rete

del campus. Simile al top Unix, strumento che riporta i processi di utilizzo della CPU, gli

autori bisogno di un semplice strumento in grado di segnalare agli utenti della rete superiore

(da qui il termine Ntop) per identificare rapidamente gli host che sono state attualmente

utilizzando la maggior parte delle risorse di rete disponibili. Ntop è poi evoluto in uno

strumento più flessibile e potente come la gente su Internet scaricato e segnalato problemi e

suggerimenti. Nelle sezioni seguenti si riferiscono all'architettura, le soluzioni progettuali

adottate e le modalità interne di attuazione Ntop corrente.

Guido Alì 566/2266 Pagina 16 di 98

4. Strutturazione infrastruttura monitoraggio rete Unina

L'infrastruttura di rete monitorata dal software, proposto nella tesi in questione, comprende

la connessione di tutte le sedi dell’Università di rilievo presenti sul territorio. Questi

vengono identificati come punti di accesso metropolitani e, ad ognuno di essi, viene

associato un nodo di trasporto o PoP (Point of Presence). Tra questi punti di accesso ve ne è

presente uno, denominato GigaPoP, il quale funge da punto di interconnessione tra la rete

dei vari enti presenti sul territorio e la rete GARR.

L’architettura che andiamo ad analizzare rispecchia, con ogni probabilità per ragioni di

natura economica, un modello a più livelli di tipo “collapsed core”, in cui i nodi di trasporto

presenti nei POP si incaricano, a prescindere dalle normali funzioni, di effettuare la

distribuzione della connettività raccogliendo direttamente i collegamenti provenienti dai

nodi di accesso. Tale modello comporta quindi l’unificazione dei due livelli di core e

distribuzione le cui funzionalità vengono esplicitate dagli stessi nodi di commutazione o

GigaRouters.

Figura 2: Struttura logica della rete sul territorio

Guido Alì 566/2266 Pagina 17 di 98

Alla base di tutto vi è la ricerca di una soluzione architetturale che renda possibile lo

sviluppo di una anello metropolitano interamente cablato in fibra ottica, che attraversando la

città di Napoli, consente di collegare con opportune meccaniche le sedi che costituiscono i

Punti di Accesso o di fruizione del servizio, che generalmente corrispondono alle sedi

dell’università o agli enti di ricerca come già sopra riportato. In particolare, stabilendo

opportunamente la grandezza e il numero di fibre ottiche del cavo portante alla base

dell’Anello Metropolitano è possibile estrapolare, in prossimità dei diversi elementi da

collegare (PoP Metropolitani e Punti di Accesso), il numero di fibre utili per raggiungere tali

sedi. In altri termini, semplicemente collegandol’apparato attivo di rete previsto, da uno dei

Figura 3: Sedi di rilievo

Figura 4: Collegamento tra POP

Guido Alì 566/2266 Pagina 18 di 98

PoP, ad un connettore diverso è possibile cambiare la rotta che le informazioni seguono

attraversando la rete, senza intaccare la logica alla base della stessa.

Come evidenziato dalla figura, sono stati realizzati quattro punti principali di erogazione del

servizio, il cui scopo è quello di individuare i PoP fra loro completamente magliati. Focale

ai fini del funzionamento della rete risulta essere il POP di Monte S. Angelo, il quale ricopre

un ruolo esclusivo e privilegiato di centro della rete ospitando i collegamenti verso la rete

Internet (che lo rende oggetto principale del monitoraggio qui presentato) e i peering verso

le altre reti che partecipano all’iniziativa. Avvalendosi della magliatura completa, si è

ritenuto opportuno e vantaggioso realizzare un maggior numero di anelli logici,

precisamente 4, garantendo cosi ridondanza di collegamenti fra i PoP. Inoltre, con l'obiettivo

di accrescere la robustezza dell’intero sistema rispetto ad imprevisti e di renderlo già pronto

ad una gestione dinamica ed ottimizzata dei path (collegamenti logici con specifici requisiti

di banda, affidabilità e QoS) direttamente dagli apparati di trasporto/distribuzione, si è

pensato che fosse ragionevole duplicare tutti i collegamenti tra le diverse sedi. In particolare,

sono state effettuate due scelte che andiamo qui ad esplicitare:

• Duplicazione dei collegamenti tra i GigaPoP Metropolitani con diversificazione

completa del percorso fisico, effettuando sul singolo anello fisico molteplici anelli logici

coerentemente con lo schema riportato nella figura precedente;

• Duplicazione dei collegamenti tra i Punti di Accesso con maggiore criticità (colorati in blu

in figura) ed i relativi GigaPoP Metropolitani, anche qui con diversificazione completa del

percorso fisico.

La topologia realizzata consente intrinsecamente l'aumento della disponibilità alla rete,

minimizzando cosi, in maniera significativa, i tempi di fermo in una qualsivoglia situazione

di guasto della fibra ottica, anche al verificarsi di situazioni estreme come il troncamento

accidentale dell’intero cavo (come per esempio un'errata trivellazione) in un punto qualsiasi

dell’anello.

Dal punto di vista della banda trasmissiva i collegamenti di dorsale sono in grado di

garantire 2.4 Gigabit per secondo, mentre i collegamenti di accesso delle singole strutture di

secondo livello servite garantiscono 1 Gigabit per secondo. Inoltre tutti i collegamenti di

Guido Alì 566/2266 Pagina 19 di 98

dorsale sono affiancati da una seconda tratta di ridondanza su doppia via differenziata da 1

Gigabit per secondo a garanzia della massima affidabilità.

In tale contesto sono già operativi i nuovi servizi di trasporto basati sulla tecnologia MPLS

(traffic engineering, Reti Private Virtuali di livello 2 e 3, Qualità del servizio e garanzie di

banda per reti/applicazioni).

Nonostante un sensibile aumento delle prestazioni, nel particolare di capacità e robustezza,

nella nuova rete si riscontra una congrua diminuzione dei costi fissi di noleggio (un terzo

rispetto ai precedenti portanti gestiti da Telecom Italia). E' inoltre importante riferire che tale

infrastruttura rappresenta una delle più tecnologicamente avanzate fra le reti di altri atenei

ed enti di ricerca in Italia.

Si fa presente, inoltre, che la rete è in esercizio dalla fine di Novembre del 2003 e che da

tale data non si sono mai riscontrate interruzioni del servizio sulla struttura portante.

Scendendo nel dettaglio dei vari nodi, sappiamo che ne esiste una considerevole parte

soggetta a generiche criticità in termini di alimentazione elettrica e condizioni ambientali

del locale ospitante il nodo (per esempio insufficiente ventilazione, problemi di

condizionamento, agenti atmosferici vari, etc.).

Nel particolare le strutture (aggregate a livello di campus) servite in fibra ottica proprietaria

sono:

• Monte S. Angelo

• Policlinico – CEINGE

• Farmacia

• Comprensorio Centro Storico (Mezzocannone, Corso Umberto, Via Tari)

• Edificio Polifunzionale V. Marina

• Giurisprudenza p. di Massa

• Architettura Pal. Gravina (v. Monteoliveto)

• Architettura Forno vecchio (Spirito Santo)

• Architettura V. Tarsia

Guido Alì 566/2266 Pagina 20 di 98

• Lettere p. Massa

• Veterinaria

• Orto Botanico

• Sociologia

• Scienze della terra/Geologia (S. Marcellino)

• Via Partenope

• Politecnico Piazzale Tecchio

• Campus Via Claudio

• Palazzo Uffici ex ISVEIMER

Sono inoltre collegate alla rete di Ateneo attraverso collegamenti affittati da Telecom Italia

le seguenti sedi:

Sede Banda Tecnologia

Ingegneria Agnano 10Mbps In fibra ottic a

Biotecnologie Mostra Oltremare 2Mbps CDN/PDH

Via S. Aspreno 2Mbps Frame Relay

Via Carrozzieri 768Kbps ATM/ADSL

Via Sanfelice 768Kbps ATM/ADSL

Via Don Bosco 512Kbps ATM/ADSL

Via De Gasperi 512Kbps ATM/ADSL

Tabella 1: Tipo di collegamento delle sedi dell'ateneo

E’ importante evidenziare come, allo stato attuale delle cose, tre strutture ospedaliere di

grande autorevolezza presenti sul territorio stiano già utilizzando la rete per attività molto

importanti come la telemedicina, lo scambio di protocolli terapeutici, di referti ed immagini

Guido Alì 566/2266 Pagina 21 di 98

mediche etc.. Ciò, in aggiunta alle ordinarie attività di didattica e ricerca e di governo

(collegamenti delle strutture amministrative di facoltà e dipartimentali ai sistemi centrali, o

connessioni ai ministeri e alle regioni per la gestione di progetti finanziati etc.), caratterizza

fortemente l’infrastruttura come mission-critical, avendo bisogno di garanzie sempre più

forti di qualità e continuità del servizio.

Si elencano nel seguito alcuni dati dimensionali che riguardano unicamente la componente

direttamente gestita dal Servizio Reti nell’ambito Rete Ateneo/rete regionale della Ricerca,

con lo scopo di mettere in rilievo le caratteristiche in termini di strategia e criticità. Da tali

elementi è stata omessa tutta la componente di gestione relativa al polo GARR ospitato

dall’Ateneo.

Punti rete attivi (determinati attraverso l’analisi della distribuzione

circa ed occupazione dello spazio di indirizzamento)

Circa 35000

Numero Access points 630

Complessi/campus indipendenti collegati 43

Attestazioni dipartimentali e di facoltà Oltre 100

Apparecchiature di rete attive gestite Oltre 1000

Accessi dialup simultanei 150

Erogazione media settimanale di banda su Internet (determinata

sulla base delle statistiche di traffico raccolte da GARR

http://www.noc.garr.it)

90 Mbps

Numero di guasti gestiti dal NOC su base annua (determinati sulla

base delle statistiche del sistema di trouble ticketing)

(http://www.trouble.unina.it)

Circa 400

Tabella 2: Punti rete attivi

Alla luce di tali considerazioni si può facilmente notare che in termini di dimensioni della

Guido Alì 566/2266 Pagina 22 di 98

componente gestita la struttura in questione è il più grande fornitore di servizi di rete

presente nel sud Italia dopo Telecom Italia ed Enel/Wind.

Entrando nello specifico del lavoro svolto, l'apparecchio monitorato è il Cisco GSR 12410.

Di conseguenza è opportuno specificarne le caratteristiche, le funzionalità, ed i protocolli a

partire dal sistema operativo di rete da esso supportato.

Guido Alì 566/2266 Pagina 23 di 98

4.2 Sistema operativo di rete: IOS

IOS (Internetworking Operating System) è il sistema operativo utilizzato nella maggior

parte dei Router Cisco Systems (che costituiscono circa 80% della rete mondiale).

È un sistema operativo esclusivo per i dispositivi di rete (router e switch) molto semplice ed

efficiente nonostante lo scarso uso dell'interfaccia grafica nativa a causa di alte necessità di

sicurezza (il funzionamento è gestito quasi esclusivamente da riga di comando). Il sistema

offre una serie di comandi la cui disponibilità è legata ovviamente ai permessi posseduti

dall'operatore.

Nella modalità di configurazione globale è possibile modificare le impostazioni relative

all'intero sistema, mentre con la modalità d'interfaccia è possibile modificare

opportunamente un singolo apparato. E' comunque necessario evidenziare che, solitamente,

le configurazioni avvengono tramite CLI (Command Line Interface); un'interfaccia di tipo

testuale con diversi menù nidificati tra loro, in grado di fornire all'utente la possibilità di

predeterminare il comportamento del router in ogni sua componente. In alternativa alla

configurazione con linea di comando ci sono comunque tool grafici che permettono di,

eseguire grosso modo, le stesse operazioni, che saranno poi copiate via rete nel router.

Per garantire un certo grado di sicurezza e protezione il sistema operativo offre 16 diverse

tipologie di accesso con 16 diverse modalità di diritti, che variano tra 0 e 15.

A seconda delle varie tipologie di devices sul quale è installato il Sistema Operativo di rete,

esso può essere caricato direttamente nella memoria volatile presente nell'apparato stesso o

in alcuni dispositivi più datati sarà caricato da una memoria non volatile, decompresso e

pronto per essere utilizzato.

Dopo aver eseguito le operazioni appena descritte, gli IOS sono pronti per l'utilizzo e

mettono immediatamente a disposizione dell'utente le funzioni fondamentali di

instradamento e di commutazione.

E' rilevante evidenziare come attraverso IOS sia possibile conoscere e modificare tutte le

caratteristiche del router sul quale è installato, come ad esempio il settaggio del piano di

indirizzamento degli ip, il settaggio dei protocolli di routing all'aggiornamento del software.

Allo scopo di capire il funzionamento e l'utilizzo di IOS è importante conoscere, anche per

Guido Alì 566/2266 Pagina 24 di 98

sommi capi, le caratteristiche delle componenti interne di un router.

Un router è un apparato hardware il cui scopo risulta essere di supporto alla rete tramite lo

smistamento di pacchetti. Esso è fisicamente dotato di uno o più processori, di memorie

volatili e non, e di interfacce fisiche che permettono la connessione.

Vediamo ora nel particolare le memorie principali di un Routher Cisco:

• Memoria ROM: all'interno della quale è memorizzato tutto il codice necessario per la fase di

Bootstrap (avvio) del router , il codice per POST (Power-On Self Test) attraverso il quale vine

eseguita la diagnostica di tutto l'hardware presente ed infine un mini-IOS che viene utilizzato per

un'eventuale manutenzione in caso di problemi.

• Memoria RAM: in questa memoria vengono mantenute essenzialmente due tipologie di

informazioni: quelle relative alla tabelle di routing e quelle relative alla configurazione corrente

del router. Ovviamente ogni cambiamento di configurazione non salvata verrà persa al

riavvio dell'apparato.

• Memoria NVRAM: in questa memoria vengono mantenute tutte quelle informazioni

che dovranno essere caricate all'avviamento del dispositivo e le diverse configurazioni

presenti, soprattutto il Registro di Configurazione (Configuration Register) che permette tra

le altre cose di stabilire le modalità di avvio dell'apparato (che variano a seconda dei

permessi che ha l'utente che si è collegato).

• Memoria Flash: memoria di tipo EEPROM (Electrically Erasable Programmable

Read Only Memory). Questa memoria non viene cancellata allo spegnimento dell'apparato,

infatti in essa è memorizzata l'immagine del sistema operativo IOS.

Guido Alì 566/2266 Pagina 25 di 98

4.3 Protocolli di routing

I protocolli di routing (protocolli di instradamento) permettono ai vari elementi, che

compongono la rete, di scambiare informazioni tra di loro con l'obiettivo di costruire le

tabelle di routing che forniranno poi il percorso ottimale ad ogni pacchetto durante

l'operazione di instradamento. Essi sono una suite di protocolli appartenenti al livello 3

(Livello di Rete) della pila OSI.

Saranno qui di seguito trattati tre tra i principali protocolli di routing, ovvero IS-IS BGP e

EIGRP.

4.3.1 Protocollo IS-IS

Il protocollo IS-IS (Intermediate System Intermediate System) permette essenzialmente agli

Intermediate Systems, all'interno di un dominio di routing, di scambiarsi diverse tipologie di

informazioni, quali funzioni sullo stato della rete, degli apparati, o delle configurazioni, in

modo tale da facilitare le operazioni di instradamento.

Questo protocollo, appunto, è parte integrante di un insieme di standard internazionali

realizzati con lo scopo primario di facilitare l'interconnessione di sistemi aperti.

Il protocollo IS-IS progettato per lavorare in stretta congiunzione con le due normative ISO

(la 9542 e la 8473) è in grado di supportare grandi domini di routing suddivisi

gerarchicamente.

Prima di scendere nel dettaglio della gerarchia è doveroso fornire una definizione di

dominio.

I domini sono formati sostanzialmente da diverse combinazioni di molti tipi di rete, per

esempio Point To Point Link, Multipoints Link, reti Broadcast (Ethernet). I domini di

grande dimensioni saranno suddivisi amministrativamente in aree e ognuna di queste sarà

ben definita e riseduta da uno o più IS (Intermediate System).

La divisione gerarchia è strutturata su due livelli:

• Livello1: che si riferisce all'instradamento dei pacchetti all'interno di un area.

• Livello2: che si riferisce all'instradamento dei pacchetti tra aree differenti o

Guido Alì 566/2266 Pagina 26 di 98

anche al di fuori del dominio di appartenenza (considerando dominio come un Autonomous

System).

Andiamo qui a riportare anche le definizioni di IS di livello1, IS di livello 2 ed ES che sono

parti integranti nella gestione del sottosistema gerarchico del protocollo ISIS:

• ES (End System): Questo è un sistema in grado sia di ricevere che di spedire i

pacchetti NUDP (Network Protocol Data Unit) a tutti gli altri sistemi, ma di pacchetti

NUDP non ne può inoltrare essendo connesso ad un solo IS.

• IS1 (INTERMEDIATE SYSTEM LIVELLO 1): Questo sistema è in grado, a

differenza di quello precedentemente descritto, di ricevere, spedire ed inoltrare i pacchetti

NUDP. Inoltre è in grado, qualora un pacchetto NUDP facesse parte della sua area, di

instradare direttamente lo stesso. Diversamente passerà il pacchetto al router di livello 2 più

vicino.

• IS2 (INTERMEDIATE SYSTEM LIVELLO 2): Questo sistema ha le stesse

caratteristiche di un intermediate system di livello 1, ma in aggiunta possiede la capacità di

instradare i pacchetti NUDP verso destinazioni al di fuori della propria area e anche del

dominio di routing.

L'organizzazione del protocollo IS-IS è composta da due diverse batterie di funzioni ovvero:

• Subnetwork indipendent functions: Sono delle funzioni indipendenti dal settore usato;

il loro compito principale è quello di fornire una trasmissione full duplex delle NUDP tra

Neighbour System (sistemi vicini) e a loro volta sono suddivisi in:

• Routing: Questa funzione ha il compito di determinare i paths delle NUDP e

allo stesso tempo gestisce dinamicamente le caratteristiche in caso di link non

più attivo o non più raggiungibile per cui il routing provvede a trovare un path

alternativo.

• Congestion control: Questa funzione ha come compito quello di gestire tutte le

risorse utilizzate da ogni IS.

• Subnetwork dependent functions: Queste funzioni, a differenza delle precedenti, sono

strettamente legate al settore che si sta utilizzando ed hanno come scopo principale quello di

mascherare le caratteristiche della sottorete.

Guido Alì 566/2266 Pagina 27 di 98

Inoltre queste funzioni si occupano di:

• Determinare la neighbour system (il sistema vicino) e l'indirizzo.

• SNPA (indirizzo di porta).

• Inizializzare i Data Link.

• Cancellare e stabilire dinamicamente tutti i link.

Osserviamo infine le principali tipologie metriche di routing del protocollo ISIS:

• Default Metrics: questa metrica è supportata da tutti gli IS appartenenti al dominio

per cui ogni circuito sarà identificato da un intero positivo, il quale, per convenzione, sarà

inversamente proporzionale alla capacità del circuito di gestire il traffico (troughput).

• Delay Metrics: È una metrica opzionale, dove l'intero eventualmente assegnato

rappresenta in maniera direttamente proporzionale il valore del ritardo di attraversamento

del circuito in questione.

• Expense Metrics: metrica di tipo opzionale, l'intero eventualmente assegnato al

circuito nella fattispecie rappresenta in maniera direttamente proporzionale il costo

monetario dell'attraversamento.

• Errors Metrics: Anch'essa metrica di tipo opzionale, il valore assegnatogli, qualora ci

fosse, rappresenterebbe la possibilità di errori residui su quel circuito.

Più grande sarà il valore, maggiore sarà la possibilità di errori non scoperti.

Quando è assegnato, questo valore è sempre diverso da zero.

4.3.2 Protocollo BGP

Il protocollo BGP (Border Gateway Protocol) si occupa nel particolare di gestire il

collegamento tra routers appartenenti ad AS (Autonumus System) distinti (chiamato in

questo caso exterior BGP). In generale però può anche essere utilizzato per

l'interconnessione di rotuers appartenenti al medesimo AS (nel qual caso viene chiamato

interior BGP) o tra routers connessi tra di loro da un ulteriore AS.

Guido Alì 566/2266 Pagina 28 di 98

Tale protocollo fa parte del livello applicazione della pila ISO/OSI ed è solitamente usato in

internet per la configurazione delle relazioni di peering tra ISP (Internet Service Provider). Il

suo funzionamento si basa sulla gestione di una tabella di reti ip (o prefissi), in grado di

fornire informazioni sulla raggiungibilità o meno delle diverse interconnessioni tra più AS.

Si tratta di un protocollo di routing che non usa metriche espressamente tecniche, ma si basa

sul routing a indicazione di percorso (path vector). Le decisioni di instradamento vengono

prese sulla base di politiche e/o localmente dalle singole reti su cui opera. Così come in ogni

altro protocollo ci sono diverse release, e l'ultima versione del protocollo BGP è BGP-4

definita nella specifica RFC 4271 oramai è l'unica usata su internet, a differenza di tutte le

altre che vengono considerate obsolete. Il funzionamento del protocollo BGP, a differenza

degli altri, è basato sullo scambio di pacchetti tramite TCP. L'inizializzazione della rete

consiste nello stabilire le coppie di sistemi adiacenti (detti anche peer), che vengono definite

tramite la configurazione manuale di una sessione TCP dei vari routers. Lo speaker (il nodo

che inizia la sessione) invia ad intervalli regolari dei messaggi di keepalive, in modo da

certificare il funzionamento della connessione.

Per ogni router appartenente ad ogni AS interessato dal protocollo BGP, è necessario che la

configurazione rispetti la topologia a maglia completamente connessa.

Conseguentemente ogni router deve essere paritario nei confronti degli altri (o anche peer).

La conseguenza è che il sistema risultante diventa molto poco scalabile, nello specifico, con

complessità quadratica rispetto al numero di routers.

Le soluzioni alla scarsa scalabilità sono sostanzialmente due:

• Route reflectors: routers che fungono da centro di smistamento interno ad ogni

dominio, in modo da configurare i restanti routers come paritari solo all'interno dell'AS

d'appartenenza.

• Confederazioni: ovvero divisione di ogni dominio in diversi sottodomini meglio

gestibili, per cui ogni router risulterà avere due numeri AS. Questa tipologia di risoluzione

viene preferita nelle reti di grosse dimensioni (come nello specifico della rete UNINA

appunto).

Guido Alì 566/2266 Pagina 29 di 98

4.3.3 Protocollo EIGRP

La sigla EIGRP sta per Enhanced Interior Gateway Protocol. Esso risulta essere una logica

evoluzione del IGRP, ed è proprietario dall'azienda statunitense CISCO. Il motivo

dell'implementazione di tale protocollo è dettato dalla necessità di migliorare l'efficienza ed

ampliare le sue funzionalità anche nei confronti di interconnessioni più vaste, pur restando

slegato dal suo predecessore (sono frequenti i casi di convivenza tra EIGRP ed IGRP).

Il suo funzionamento, come spesso accade nel mondo dell'informatica, si basa sull'uso

ibrido di due logiche contrapposte quali link state e distance vector.

Visioniamo nel particolare le sue caratteristiche:

• Non effettua periodicamente degli updates, ma appena vi è un cambiamento della rete

invia a tutti gli altri router le routing tabele.

• Realizza le neighbour table (tabella dei vicini) contenenti tutte le informazioni dei

nodi vicini quali indirizzi ed interfacce dei router adiacenti.

• Genera una tabella della topologia della rete (topology table) nella quale saranno

memorizzate tutte le informazioni ottenute dai router adiacenti.

• Trasmette, ovviamente qualora ve ne sia necessità, parti rilevanti della tabella

(evitando esplicitamente di inviarla tutta).

• Gli aggiornamenti di eventuali cambiamenti dello stato della rete non vengono

trasmessi a tutti i router dell'intera rete, ma solo a quelli interessati a tale cambiamento.

• La routing tabele contiene anche informazioni sulla subnet mask, esse possono essere

identificate da due stati:

• Passive: dove identificano lo stato normale di funzionamento.

• Active: qualora stia avvenendo (o sia avvenuto) un cambiamento nella

topologia della rete e l'attività di routing si trovi in fase di aggiornamento del

percorso.

Guido Alì 566/2266 Pagina 30 di 98

4.4 Il CISCO 12410

La serie 12000 della Cisco comprende routers intelligenti aventi una capacità che oscilla tra

i 2.5 ed i 10 Gbps per slot, consentendo così soluzioni ad alte prestazioni per reti IP e

Multiprotocol Label Switching (MPLS). La capacità di inoltro dei pacchetti arriva, nel

complesso, fino a 1.28 terabit per secondo, con prestazioni wire-speed, dove ogni porta può

funzionare al massimo delle proprie possibilità simultaneamente alle altre.

Il sistema operativo associato ai devices in questione è il Cisco IOS, ovvero un software

proprietario della casa statunitense utilizzato di default negli apparati ad alte prestazioni.

Questi routers si basano su di una architettura pienamente distribuita con switch fabric del

tipo crossbar, ad alte prestazioni. La combinazione di uno scheduler centralizzato e di una

tecnologia unica detta virtual output queuing (VOQ) ha lo scopo di massimizzare l’uso della

larghezza di banda della switch fabric, di minimizzare i tempi di latenza e di fornire

prestazioni senza blocchi.

Il router usa la più recente tecnologia ASIC ad alte prestazioni e application-specific per

realizzare l’inoltro dei pacchetti alla massima velocità su ogni porta, mantenendo comunque

uno stretto controllo sui parametri di jitter e di latenza, come necessario per applicazioni

real-time. Inoltre, esso offre un esteso set di caratteristiche per il quality-of-service (QoS),

per i protocolli IP ed MPLS, ai fini di una differenziazione del traffico secondo service-level

agreements (SLAs) prefissati individualmente per i vari servizi ed utenti.

All'interno di tali apparati possono essere alloggiati schede (“LC”, Line Cards) sia del tipo

fisso che modulare, in uno chassis a 10 slot, 10-Gbps-per-slot, che occupa 1/2- rack (cioè

circa 20 pollici di altezza).

Il cuore del router è il Performance Router Processor (PRP, mostrato in figura 2) che è

responsabile delle seguenti funzioni:

• Esecuzione del protocollo di routing, a tutti i livelli.

• Esecuzione del protocollo di comunicazione con altri router.

• Creazione e distribuzione delle informazioni di instradamento a tutte le schede LC.

• Upload del software OS a tutte le schede LC all’accensione del router.

• Fornitura di porte seriali ed Ethernet out-of-band, cioè dedicate, per la configurazione

Guido Alì 566/2266 Pagina 31 di 98

e la gestione.

• Monitoraggio e gestione dell’alimentazione elettrica e della temperatura dello chassis

e di tutte le componenti, e delle schede LC.

Altre schede LC (alcune di esse mostrate nella figura 3), che è possibile trovare all'interno

dei Cisco 12000, sono le schede “packet over SONET/SDH” (POS), che implementano la

gestione dei pacchetti IP e Multiprotocol Label Switching (MPLS).

Queste schede possono essere “standard” oppure del tipo “IP Services Engine” (ISE), nel

qual caso forniscono anche servizi aggiuntivi come classificazione dei pacchetti, congestion

avoidance, e low-latency queuing (LLQ).

Le caratteristiche principali sono qui riassunte:

Caratteristica Descrizione

Prestazioni • Line-throughput rate per l'inoltro IP e MPLS di commutazione

• Prestazioni sostenute nel sistema a pieno carico

Figura 5: Scheda PRP

Figura 6: sempi di schede LC

Guido Alì 566/2266 Pagina 32 di 98

• No performance drops as quality-of-service (QoS) or accounting

features are

enabled

Affidabilità e

disponibilità

•Inserimento Online e Rimozione (OIR) è consentito l'inserimento e la

rimozione

delle schede di linea senza influire sul traffico

•Tempo medio tra i guasti (Mean time between failure :MTBF) più di

80000 ore

Gestione •Conteggio di Byte e pacchetti sulla porta di ingresso per i pacchetti

IP e MPLS

• Conteggio di Byte e pacchetti sulla porta di ingresso per i pacchetti

IP e MPLS e di bit ToS (type-of-service)

• Conteggio dei pacchetti per le funzioni Modified Deficit Round

Robin (MDRR) e Weighted Random Early Detection (WRED)

functions

• Conteggio di Byte e pacchetti per rappresentare committed-access-

rate (CAR)

•Conteggio sugli ingressi di porta per i prefissi IP e Cisco Express

Forwarding adjacencies

Statistica e

Accounting

•Conteggio di Byte e pacchetti sulla porta di ingresso per i pacchetti

IP e MPLS

• Conteggio di Byte e pacchetti sulla porta di ingresso per i pacchetti

IP e MPLS e di bit ToS (type-of-service)

• Conteggio dei pacchetti per le funzioni Modified Deficit Round

Robin (MDRR) e Weighted Random Early Detection (WRED)

functions

• Conteggio di Byte e pacchetti per rappresentare committed-access-

rate (CAR)

•Conteggio sugli ingressi di porta per i prefissi IP e Cisco Express

Forwarding adjacencies

Funzioni

SONET/SDH

• Conta errori per B1, B2, e B3

• Avvisi di attraversamento della soglia(TCAs), blocco percorso di

errore (FEBE) per B1, B2, e B3, con soglia impostabile

• Perdita di segnale (LOS), Perdita di frame(LOF), Allarme del

segnale sulle

linee (LAIS), Allarma sul percorso del segnale (PAIS), perdita di

puntatori

(LOP), indicatore remoto di corsia difettosa (LRDI), indicatore

difettoso di percorso remoto (PRDI), segnale di guasto (SF), segnale

danneggiato (SD), indica la linea di errore a distanza (line FEBE),

• Performance di monitoraggio: Conteggio di errori per B1, B2, e B3;

TCAs; e FEBE per B1, B2, e B3 con soglia che può essere

reimpostata

• Sincronizzazione

• Locale (interna) o Loop temporizzato (rcuperato dalla rete)

Guido Alì 566/2266 Pagina 33 di 98

• Attività di monitoraggio

• Diagnostica locale e linea loopbac

• Mappatura precaricata

• 1 + X43 self-synchronous asincrono

Tabella 3: Caratteristiche schede LC

Per quanto riguarda le interfacce ottiche, le schede LC del Cisco GSR 12000 hanno 4 porte,

che possono ospitare transceiver (ricetrasmettitore) del tipo Small Form-Factor Pluggable

(SFP). I transceiver possono essere:

• 1000BASE-SX-850-nanometer (nm) serial, multimode fiber per trasmissioni fino a

550 metri

• 1000BASE-LH-1310-nm serial, single-mode fiber per trasmissioni fino a 10 km

• 1000BASE-ZX-1550-nm serial, single-mode fiber per trasmissioni fino a 70 km

Le caratteristiche ottiche sono nella tabella che segue:

Line

Card

Tx Power Rx Power Po

(dB)

DSRma

x

* ps/nm

T a r g e

t

D i s t a

n c e

(km)**

Rx

Wave -

lengt

h (nm)

Tx

Wave -

length

(nm)

Fiber

Type

Ptmax

(dBm)

Ptmin

(dBm)

Prmax

(dBm)

Prmin

(dBm)

OC-192

OC-192

SR - 1

-1 -6 -1 -11 1 6.6 2 1260-

1600

1290 -

1330

G . 6 5

2

OC-192

IR

2 -1 -1 -14 2 800 40 1260-

1600

1530 -

1565

G . 6 5

2

OC-192

LR

7 4 -9 -22 2 1600 80 1260-

1600

1530 -

1565

G . 6 5

2

OC-48

OC –

48/POS-

SR-xx e

OC –

48/SRP-

SR-SC

-3 -10 -3 -18 1 12 2 1260-

1600

1266 -

1360

G . 6 5

2

OC –

48/POS-

1150-xx

e

OC –

3 -2 -9 -28 2 1600 80 1260-

1600

1500-

1580

G.65

2

G.65

4***

Guido Alì 566/2266 Pagina 34 di 98

48/SRP-

LR-SC

POM-

OC48-

SR-

LC

-3 -10 -3 -18 1 12 2 1260-

1600

1266-

1360

G.65

2

POM-

OC48-

IR1-LC

0 -5 0 -18 1 - 15 1260-

1600

1266-

1360

G.65

2

POM-

OC48-

LR2-LC

3 -2 -9 -28 2 1600 80 1260-

1600

1500-

1580

G.65

2

OC-12

OC-

12/POS-

MM

e

OC-

12/SRP-

MM

-14 -20 -14 -23 - - - - - -

OC-

12/POS-

SM e

OC-

12/SRP-

SM

-8 -15 -8 -28 1 46 (74) 15 1260-

1600

1293-

1334

G.65

2

OC-3

OC-3

POS-

MM

-14 -20 -14 -23 1 - - - - -

OC-3

POS-

SM

-8 -15 -8 -28 1 96 15 1260-

1600

1261-

1360

G.65

2

OC-3

POS-LR

0 -5 -10 -34 1 246 40 1260-

1600

1263-

1360

G.65

2

Tabella 4: Caratteristiche ottiche

Infine, i routers Cisco GSR 12000 possono ospitare varie schede del tipo gigabit Ethernet.

Queste sono degli switch a loro volta, operanti al livello 2 o 3, con estensioni per il quality

of service (QoS), per il mantenimento di SLA prefissati, per il filtraggio dei pacchetti, per il

Reverse Path Forwarding (RPF); per la limitazione di banda, per le

VLAN e molte altre.

Le caratteristiche delle schede al gigabit sono:

Caratteristica Descrizione

Prestazioni • Line-rate throughput per l'inoltro e la commutazione di IP e MPLS

Guido Alì 566/2266 Pagina 35 di 98

• Layer 3 dedicato, motore di trasmissione che fornisce line-rate throughput

per l'intera dimensione del frame Ethernet.

• Prestazioni sostenute a pieno

• Prestazion sostenute per tutte le categorie del prefisso IP

Affidabilità

e disponibilità

Inserimento e rimozione on line (OIR), che consente l'inserimento e la

rimozione delle schede di linea e dei moduli SPF senza inficare sul traffico.

Gestione • Cisco IOS® Software command-line interface (CLI)

• Cisco 12000 Manager per la gestione e la configurazione delle prestazioni e

degli errori

• Simple Network Management Protocol (SNMP)

Protocolli • (Layer 3) protocolli di routing: Border Gateway Protocol Versione 4

(BGPv4), Open Shortest Path First (OSPF), Intermediate System-to-Intermediate

System (IS-IS), Enhanced Interior Gateway Routing Protocol(EIGRP), Routing

Information Protocol (RIP), Distributed Forwarding Information Base (FIB) IP

switching, Cisco Discovery Protocol, Internet Control Message Protocol (ICMP),

Routing with Resource Reservation (RRR), e altri

• La trasmissione Multicast avviene con l'ausilio di: Protocol Independent

Multicast-dense mode (PIM-DM); PIM-sparse mode (PIM-SM); Internet Group

Management Protocol Versions 1 and 1 (IGMPv1/v2); Cisco Group Management

Protocol (GMP); Multiprotocol Border Gateway Protocol

(MBGP); Multicast Source Discovery Protocol (MSDP); e altri

• Sostegno globale di MPLS

• Ignegneria del traffico utilizzando RRR

IP e MPLS

Traffic

Engineering

(MPLS TE)

• Bilanciamento del carico di IP e MPLS

• Mappatura MPLS, VPN , e Ethernet over MPLS (EoMPLS)

Statistiche

e Accounting

• Conteggio di Byte e pacchetti per l'ingresso di porta per I pacchetti IP e MPLS

• Conteggio dei pacchetti Modified Deficit Round Robin (MDRR) e Weighted

Random Early Detection (WRED)

• NetFlow campione (v5 and v8)

Sicurezza • 15,000 xACLs nell'ingresso sulla porta e per VLAN;

• 1024 ACLs sulla base della porta di uscita

QoS • 8 code per porta, WRED e MDRR per porta e coda

• Tasso di limitazione sull'ingresso e sull'uscita

• Traffic shaping sull'uscita

Ethernet • 802.1q VLAN supportata, 1024 VLANs,e jumbo frames

• accaunting di origini e desinazione per MAC e VLAN

IPv6 • il router fornisce edge senza compromettere le prestazioni.

Tabella 5: Caratteristiche delle schede ottiche

Schede (Line Card) Forwarding Densità delle porte

4-Port GE ISE Line Card EngineEngine 3 (ISE) • Cisco 12404: 12 ports

• Cisco 12006 and 12406: 20 ports

• Cisco 12010, 12410, and 12810: 36 ports

• Cisco 12016, 12416, and 12816: 60 ports

3-Port Modular GE Line Card Engine 4+ • Cisco 12404: 30 ports

Guido Alì 566/2266 Pagina 36 di 98

• Cisco 12406: 50 ports

• Cisco 12410 and 12810: 80 ports

• Cisco 12416 and 12816: 150 ports

1-Port 10-GE Line Card Engine 4+ • Cisco 12404: 3 ports

• Cisco 12406: 5 ports

• Cisco 12410 and 12810: 8 ports

• Cisco 12416 and 12816: 15 ports

Tabella 6: Tipo di schede divise per porte

Le caratteristiche ottiche sono nella tabella che segue:

Line

Cards

Tx Power Rx Power Connect

or Type

Target

Distance

Wave-

Lenght

(nm)

Fiber

Type

Core

Size

PTmax

(dBm)

PTmin

(dBm)

PRmax

(dBm)

PRmin

(dBm)

1000

BASE-SX

-4 -9.5 0 -17 LC-

Duplex

550 m 850 Multimo

de fiber

(MMF)

50.0

micro

ns

1000

BASE-LH

-3 -9.5 -3 -19 LC 10 km 1300 Single-

mode

fiber

(SMF)

9/10

microns

1000

BASE-ZX

5 0 -3 -23 LC 70 km 1550 SMF 9/10

microns

1x10GE-

LR-SC

0.5 -8.2 0.5 -14.4 SC 10 km 1260-

1355

SMF 9/10

microns

1x10GE-

ER-SC

4 -4.7 -1 -15.8 SC 40 km 1530-

1565

SMF 9/10

microns

Tabella 7: Caratteristiche ottiche

4.5 Protocollo Netflow

Come specificato dalle tabelle precedenti la serie 12000 della CISCO implementa il

protocollo netflow, che sarà alla base del lavoro descritto in questa tesi.

Guido Alì 566/2266 Pagina 37 di 98

Netflow è un protocollo la cui funzione è quella di fornire dati statistici relativi ai devices

della rete.

Netflow identifica i flussi di pacchetti per ogni IP entrante o uscente. Esso non involve alcun

protocollo di connessione, rispetto a routers o ad altri dvices della rete. Netflow non richiede

nessun cambiamento esterno rispetto ai pacchetti o ad altri devices. In sostanza il protocollo

netflow è completamente trasparente rispetto alla rete preesistente sulla quale viene

utilizzato sia in ambito software che hardware.

Netflow è supportato dal traffico IP sia esso semplice o incapsulato al di la della tipologia di

interfaccia.

C'è da dire però che tale protocollo non supporta emulazioni ATM LAN (LANE), inter-

switch link (ISL), LAN virtuali (VLAN), o interfacce frame relay dove più di un input

access control è usato sull'interfaccia.

Entrando nello specifico del suo funzionamento, i routers aventi tale protocollo sono

abilitati alla generazione di records, che vengono esportati da esso tramite pacchetti UDP e

raccolti da un collettore netflow.

Lo scopo del collettore è quello di aggregare i records ricevuti dalle varie fonti e girarli ad

un analizzatore netflow.

L'analizzatore è una applicazione che esegue all'atto pratico il monitoraggio delle

Figura 7: Struttura del pacchetto netflow

Guido Alì 566/2266 Pagina 38 di 98

performance della rete, del traffico, dell'accounting, etc.

I record vengono salvati momentaneamente all'interno di una memoria cache in attesa di

essere poi aggregati in un file di testo.

Guido Alì 566/2266 Pagina 39 di 98

5. Software monitoraggio rete

5.1 Ntop

Ntop acronimo di Netowork Top, dove Top è il famoso comando Unix per il monitoraggio

delle applicazioni in esecuzione sulla propria macchina, è un software open source per il

monitoraggio della rete. Grazie alla sua interfaccia web based è semplice da utilizzare,

permette di ottimizzare la rete, di rilevare violazioni della sicurezza, di creare una mappa

globale degli host collegati in un certo instante, di monitorare tutto il traffico Voip e grazie

ai suoi plugins può gestire protocolli come:

• cPacket

• ICMPWatch

• RRD

• NetFlow

• Sflow

Il plugin su cui ci siamo soffermati è NetFlow, questo perchè lo scopo del tirocinio non è il

monitoraggio della rete locale, ma della intera rete dell'università Federico II, questo è

possibile solo grazie all'interfacciamento tra il GSR della Cicso, attraverso il quale passa

tutto il traffico della rete Unina, e Ntop, e per interfacciarsi utilizzano appunto il plugin

NetFlow, attraverso il quale è possibile recuperare informazioni su un campione di pacchetti,

riguardo il protocollo utilizzato (per es. FTP, HTTP, DNS...) l'indirizzo sorgente e

destinazione e altre informazioni per definire quel pacchetto che tipo di servizio sta

eseguendo.

Obiettivi di progettazione principali Ntop sono:

• portabilità tra piattaforme Unix e non-Unix (ad esempio Win32);

• un'applicazione efficace e semplice con poco utilizzo di risorse (sia di memoria che

di CPU);

• requisiti minimi, ma in grado di sfruttare le caratteristiche della piattaforma, se

presenti (ad esempio i kernel thread);

Guido Alì 566/2266 Pagina 40 di 98

• capacità di presentare i dati sia su un terminale che su un browser web;

• l'analisi della rete deve essere ricca di contenuti e di facile lettura.

L'architettura Ntop è mostrata nella figura seguente:

Report Engine

Packet Analyser

Packet Sniffer

Figura 8: Architettura di Ntop

Il packet sniffer raccoglie i pacchetti di rete che sono poi passati al Packet Analizer per

l'elaborazione. Ogni volta che le informazioni di traffico devono essere visualizzate, il

Report Engine traduce le informazioni richieste in modo appropriato.

Il Packet Sniffer è il componente Ntop che potenzialmente ha più problemi di portabilità

degli altri. Infatti, a differenza di altre strutture come il Report, non c'è una libreria portabile

per la cattura dei pacchetti. Sotto Unix la libreria libpcap fornisce una interfaccia unificata

portatile per la cattura dei pacchetti, mentre gli altri sistemi operativi forniscono un metodo

proprietario per la cattura dei pacchetti. Grazie alla buona progettazione di libpcap e alla sua

interfaccia portabile, gli autori hanno deciso di usarlo come interfaccia di acquisizione

unificata, avvolta da una piattaforma specifica di librerie per la cattura dei pacchetti (per

esempio NDIS su Win32). Questo ha il vantaggio che il codice Ntop è unico considerando

che il codice specifico della piattaforma è limitato solo a un file.

Il Packet Sniffer supporta diversi tipi di interfaccia di rete compreso PPP, Ethernet e Token

Ring, esso permette ai pacchetti catturati per essere filtrati prima di essere processati dal

analizzatore. Il filtraggio dei pacchetti è basato sul filtro BPF che fa parte della struttura

libpcap. I filtri sono specificati usando espressioni semplici come quelle accettate da

tcpdump.

Guido Alì 566/2266 Pagina 41 di 98

Le librerie di cattura dei pacchetti hanno piccoli buffer interni che impediscono alle

applicazioni di essere in grado di gestire i picchi di traffico. Per superare questo problema

quindi ridurre la perdita di pacchetti, viene creato in Ntop un buffer parallelo per i pacchetti

catturati. Questo permette all'analizzatore di pacchetti per essere disaccoppiato dallo sniffer

di pacchetti e di non perdere i pacchetti a causa di picchi di traffico. Vale la pena ricordare

che Ntop è grado di operare su reti commutate (ad esempio una rete Ethernet che fa uso di

switch ), nonché con le reti tradizionali. Questo perché i moderni switch consentono al

traffico di rete globale (o LAN virtuali) di essere speculare a una porta dello switch

specificata. Ntop può essere attivato su un host che è collegato a una porta.

L'analizzatore di pacchetti processa un pacchetto alla volta. Le intestazioni dei pacchetti

sono analizzate secondo l'interfaccia di rete utilizzata. Questo perché le intestazioni sono

diverse a seconda della interfaccia di rete (ad esempio l'intestazione Token Ring è diversa da

quella Ethernet). Le informazioni sugli Hosts sono memorizzate in una tabella grande hash,

la cui chiave è un indirizzo hardware (MAC) di 48 bit, che garantisce la sua unicità e

permette a diversi protocolli di rete, diversi dal protocollo IP per essere manipolati (es.

indirizzi TCP / IP sono privi di significato in reti non IP). Ogni voce contiene diversi

contatori che tengono traccia dei dati inviati e ricevuti dal proprietario, ordinati secondo i

protocolli di rete supportati. Per ogni pacchetto, la voce all'interno della tabella hash,

corrispondente al pacchetto di origine e di destinazione, viene recuperata o creata se non

ancora presente. Poiché non è possibile prevedere il numero di host differenti di cui i

pacchetti verranno trattati da Ntop, sarebbe quasi impossibile avere una tabella hash

abbastanza grande per accogliere tutti gli host possibili; quindi quando è necessario (ad

esempio periodicamente) Ntop taglia la tabella degli host, al fine di evitare l'esaurimento di

tutta la memoria disponibile e la creazione di tabelle enormi che diminuirebbero le

prestazioni generali. Vengono tagliate le voci corrispondenti a host che non hanno inviato /

ricevuto dati per un lungo periodo di tempo. Ciò garantisce che l'utilizzo della memoria di

Ntop non cresce indefinitamente e che il tempo di elaborazione dei pacchetti non aumenta

linearmente con il numero di host attivi. Se il pacchetto ricevuto è un pacchetto non-IP, i

contatori di protocollo d'ingresso sono aggiornati e il pacchetto scartato. Invece se il

Guido Alì 566/2266 Pagina 42 di 98

pacchetto ricevuto è un pacchetto IP, viene eseguita una ulteriore elaborazione.

La memorizzazione nella tabella cache viene eseguita in due fasi:

• La Cache di primo livello è semi-persistente e basato su dbm;

• La Cache di secondo livello viene implementata utilizzando un database SQL.

La cache locale semi-persistente di Ntop contiene informazioni circa, come avviene la

risoluzione dell'indirizzo IP (mappatura numerico / simbolico indirizzo IP) e qual'è il

sistema operativo dell'host remoto (calcolato utilizzando il tool Queso). Durante eventi di

rete (ad esempio, le sessioni TCP), i dati sulle prestazioni e altre informazioni pertinenti

vengono memorizzate all'interno di un database. Il salvataggio avviene periodicamente o

ogni volta che il Garbage Collector vuole eliminare alcuni dati. Ntop colloquia con il

database per mezzo di un'applicazione client. Tale dialogo tra Ntop e il database avviene via

UDP e comunica con il database tramite ODBC (Open DataBase Connectivity protocol).

Ogni volta che qualche informazione di rete deve essere memorizzata nel database, Ntop

invia al client uno o più pacchetti UDP contenente istruzioni SQL valide. Il client

attualmente è implementato in modo tale da poter utilizzare sia Perl che Java, esso riceve i

pacchetti e esegue l'istruzione sul database locale tramite Perl DBI (DataBase Interface) o

Java JDBC (Java DataBase Connectivity) a seconda del linguaggio di implementazione.

Questa architettura consente di disaccoppiare Ntop da un database specifico, ed è in grado di

comunicare con database remoti (ad esempio, il database principale della società) mentre ha

un client molto semplice e leggero.

La figura riportata di seguito illustra le voci di una riga della tabella Hash di un host che

contiene un contatore per ciascuno dei protocolli IP specificato dall'utente.

Protocol Traffic Counters

IP Traffic Counters

TCP/UDP Connections Stats

Active TCP Connections List

Peers List

Figura 9: Riga della tabella hash

Guido Alì 566/2266 Pagina 43 di 98

Per ogni pacchetto IP, il protocollo contatore appropriato viene aggiornato. Se il pacchetto è

un frammento IP, Ntop recupera le informazioni come porte di origine e di destinazione dal

frammento della tabella hash. Ogni volta che il primo frammento del pacchetto viene

incontrato, il frammento di informazioni viene memorizzato nella tabella hash utilizzando le

pacchetto fragmentId come chiave di lettura della tabella hash. Il frammento di

informazioni viene rimosso non appena l'ultimo frammento è stato ricevuto, perché può

succedere che alcuni pacchetti (compresi i frammenti) vanno persi, per questo motivo il

frammento della tabella hash viene periodicamente analizzato e le informazioni datate

vengono eliminate. La voce host contiene anche una lista (inizialmente vuota) di

connessioni attive dell'host TCP. Ntop mantiene lo stato di ogni connessione TCP

analizzando le flag IP; quindi se il pacchetto ricevuto è un pacchetto TCP, allora l'elenco

delle connessioni host TCP viene aggiornato.

I contatori del traffico host possono essere proficuamente utilizzati per analizzare il traffico

di rete, ma in alcuni casi potrebbe essere necessario studiare traffico specifico che scorre

attraverso alcuni host specificati; Ntop permette algi utenti di specificare i flussi di rete. Un

flusso di rete è un flusso di pacchetti che corrisponde a un specificata regola dall'utente. Le

regole sono specificate utilizzando espressioni BPF. Simile ai flussi NeTraMet, i flussi di

rete Ntop possono essere usati per specificare il traffico di particolare interesse. Per esempio,

un flusso di rete semplice potrebbe essere il "traffico totale del traffico NFS tra host A, B e

C", mentre un flusso più complesso è il "totale numero di connessioni TCP respinto dal host

D". I flussi di rete possono essere molto utili per il debugging di problemi di rete, la raccolta

di dati statistici o di monitoraggio degli accessi sospetti ad alcune specificate risorse di rete.

La versione attuale di Ntop può essere avviata in due modi:

• modalità interattiva: Ntop viene eseguito in un terminale a caratteri e gli utenti

possono interagire utilizzando i tasti della tastiera.

• Web-mode: Ntop viene avviato come un server HTTP e consente agli utenti remoti di

analizzare le statistiche di traffico per mezzo di un browser web.

Ntop è stato progettato per essere indipendente dal tipo di report del traffico utilizzato.

Indipendenza tra i modi in cui vengono creati i report modo è molto importante al fine di

garantire l'evoluzione delle applicazioni; infatti se un nuovo linguaggio di mark-up, come

Guido Alì 566/2266 Pagina 44 di 98

XML deve essere eseguito, solo il Report Engine deve essere ampliato mentre il resto

dell'applicazione rimane invariato. Vale la pena notare che i rapporti personalizzati e le

statistiche possono anche essere generati utilizzando i dati memorizzati dal Ntop nel

database SQL.

Guido Alì 566/2266 Pagina 45 di 98

5.2 MRTG

Multi Router Traffic Grapher (MRTG) è un software libero disponibile con licenza GPL

per il monitoraggio e la misurazione del carico di collegamenti di rete. Permette a un

utilizzatore di visualizzare il traffico di rete nel tempo in forma grafica. Inizialmente

sviluppato da Tobias Oetiker e Dave Randt specificatamente per il traffico dei router, è stato

esteso al punto di essere in grado di mostrare grafici e statiche per quasi tutto.

MTRG è scritto in Perl e funziona su Windows, Linux, Unix, Mac OS e Netware

5.2.1 Funzionamento

MTRG fa uso del protocollo SNMP per inviare due identificatori di oggetto (OID) a un

dispositivo. Questo, che deve essere in grado di capire le richieste SNMP, dispone di una

MIB (Management Infomation Base) in cui cercare gli identificatori specificati. Dopo aver

raccolto le informazioni, risponde restituendo i dati grezzi incapsulati nel protocollo SNMP.

MTRG raccoglie questi dati in un log sul client, insieme ad altri dati raccolti in precedenza

per il dispositivo. Il software, quindi, crea un documento HTML contenente una lista di

grafici coi dettagli del traffico per il dispositivo d'interesse.

Altrimenti, MTRG può essere configurato in modo che esegua uno script o un comando e

ne interpreti quanto invia in uscita come dei valori contatore. Il sito internet di MTRG mette

a disposizione una vasta libreria di script che permettono di controllare statistiche di

database, regole di un firewall, la velocità di rotazione delle ventole di un processore, o

potenzialmente un qualunque valore intero.

• misura due valori (I per ingresso, O per uscita) per dispositivo

• ottiene i dati o attraverso un agente SNMP, o come uscita di una linea di comando

• tipicamente raccoglie dati ogni cinque minuti (è configurabile per farlo con frequenza

inferiore)

• crea una pagina HTML per dispositivo, ognuna con quattro grafici (immagini GIF o

Guido Alì 566/2266 Pagina 46 di 98

PNG)

• i risultati sono mostrati con il tempo in ascissa e la risoluzione può essere il giorno, la

settimana, il mese o l'anno, con l'ingresso visualizzato come un'area verde e l'uscita come

una linea blu

• l'asse delle ordinate è messo automaticamente in scala in modo da mostrare quanti

più dettagli possibile

• aggiunge alla pagina HTML il calcolo del massimo, della media, e il valore corrente

per ingresso e uscita

• è in grado di inviare notifiche via e-mail se dei dispositivi presentano valori al di

sopra di una certa soglia

Guido Alì 566/2266 Pagina 47 di 98

5.3 TCPDUMP

Tcpdump è un tool comune per il debug delle reti di computer che funziona da riga di

comando. Consente all'utente di intercettare pacchetti e trasmissioni ad esempio nel

protocollo TCP/IP condotti attraverso una rete al quale il computer è collegato. Fu

originariamente scritto da Van Jacobson, Craig Leres e Steven McCanne, che lavoravano, in

quel periodo, al Lawrence Berkeley Laboratory Network Research Group (Gruppo di

Ricerca per le reti del Laboratorio Lawrence di Berkeley).

Tcpdump gira su molte piattaforme Unix-like: Linux, Solaris, BSD, Mac OS X, HP-UX e

AIX fra gli altri. In questi sistemi, tcpdump è sviluppato sulla base delle librerie per la

cattura di pacchetti libpcap.

Su Windows può essere usato WinDump, un port di tcpdump per Windows.

Su Unix e molti altri sistemi operativi, un utente deve avere i privilegi di superutente per

usare tcpdump a causa del suo utilizzo della modalità promiscua (sebbene possa essere

configurato per non utilizzare l'interfaccia di cattura in questo modo attraverso il flag -p da

riga di comando), ma anche a causa del fatto che vari schemi per la cattura dei pacchetti di

rete (raw socket, periferiche speciali, etc.) richiedono privilegi di root.

L'utente può opzionalmente applicare un qualsiasi numero di filtri bpf-based per rendere

l'output più leggibile in reti con un alto volume di traffico.

tcpdump viene comunemente utilizzato:

• per il debugging di applicazioni scritte che utilizzano la rete per le comunicazioni;

• per il debugging della configurazione di rete in sé, determinando se tutti gli instradamenti

necessari avvengono correttamente o meno, consentendo all'utente di isolare successivamente la

sorgente del problema per intercettare e visualizzare le comunicazioni di un altro utente o computer.

Alcuni protocolli, come telnet e HTTP, trasmettono informazioni non cifrate attraverso la

rete. Un utente con controllo di un router o gateway attraverso il quale passa il traffico non

cifrato di altri computer può usare tcpdump per vedere i login ID, le password, gli URL e i

contenuti dei siti web che sono stati visitati, o qualsiasi altra informazione.

Guido Alì 566/2266 Pagina 48 di 98

Le opzioni più importanti in tcpdump sono l'opzione -i e -n. La prima permette a tcpdump di

scegliere su quale interfaccia si deve mettere in ascolto. La seconda opzione preferita è -n,

che chiede che non si convertano gli indirizzi (cioè, indirizzi di host, numeri di porta, ecc),

questo perché permette di risparmiare tempo e velocizza di molto l'esecuzione del

programma, infatti nella maggior parte dei casi in cui ci sono problemi di rete la risoluzione

al problema la si trova con gli indirizzi IP e non con i nomi.

Ecco la lista completa delle opzioni più comuni utilizzate:

-D stampa la lista delle interfacce di rete disponibili sul sistema e sul quale tcpdump

può bloccare i pacchetti. Questo può essere utile su sistemi che non hanno un

comando per ottenere un elenco (ad esempio i sistemi Windows)

-i Lista di interfacce. Se non viene specificato, le ricerche di tcpdump avvengono

sulla lista delle interfacce di sistema partendo dal numero di interfaccia più basso, in

base alla configurazione delle interfacce (ad esclusione di loopback).

-vvv Permette di aumentare la quantità di informazioni per ogni pacchetto catturato.

-c Esci dopo aver ricevuto i pacchetti richiesti ed averli salvati sul DBMS.

-C Specifica le dimensioni del file dump che deve raggiungere prima che venga

archiviato e creato un nuovo file con una nuova estensione numerica incrementata di

uno rispetto alla precedente. Le unità di file_size sono milioni di byte (1.000.000 byte

e non 1.048.576 byte).

-F file Viene utilizzata per inserire un filtro contenuto nel file. Un'ulteriore

espressione data sulla linea di comando viene ignorata.

-S Numeri di sequenza di stampa assoluta.

-p Impedisce che l'interfaccia sia in modalità promiscua.

-r Leggi i pacchetti da file (che è stato creato con l'opzione -w). L'input standard

viene utilizzato se il file è ''-''.

-t Non stampare un timestamp su ogni linea di dump.

Guido Alì 566/2266 Pagina 49 di 98

-X Durante l'analisi e la stampa, oltre alla stampa le intestazioni di ogni pacchetto,

stampare i dati di ciascun pacchetto in esadecimale ed ASCII. Questo è molto utile

per l'analisi di nuovi protocolli.

-XX Durante l'analisi e la stampa, oltre alla stampa delle intestazioni di ogni

pacchetto, stampare i dati di ogni pacchetto, compreso il suo livello link di

intestazione, in esadecimale ed ASCII.

-E Stampa l'header di livello link su ogni linea di dump.

Lista delle interfacce supportate che possono essere usate da tcpdump:

tcpdump -D

Cattura tutto il

traffico proveniente

dall'interfaccia eth0, lo scrive in un file chiamato tcpdumpfile, setta la dimenzione di ogni

file a circa 3M e senza applicare la conversione degli indirizzi IP/ nome delle porte:

tcpdump -nnxX -i eth0 -w tcpdumpfile -C 3

Esempio 1: tcpdump -D

Guido Alì 566/2266 Pagina 50 di 98

La ricerca

nella rete è

come la

ricerca nel

mare, è

necessario sapere esattamente che cosa cercare. Tcpdump può davvero raccogliere una

quantità enorme di traffico per cui è necessario guidare tcpdump sul traffico interessato e

questo può essere fatto con l'espressione.

L'espressione è costituita da uno o più primitive. Le primitive sono generalmente costituite

da un id (nome o numero) preceduto da uno o più qualificazioni. Ci sono tre diversi tipi di

qualificazione:

• Type, i tipi possibili sono host, net, port e portrange. Ad esempio, 'foo host', '128,3 net', 'port

20', 'portrange 6.000-6.008'. Se non viene definito il qualificatore di tipo, viene assunto di default

host.

• Dir, le possibili direzioni sono src, dst, src o dst e src e dst. Ad esempio, 'src foo', 'dst net

128,3', 'src o dst port ftp-dati'. Se non viene definito un qualificatore dir, viene assunto di default

src o dst.

• Proto, i protocolli possibili sono: ether, FDDI, tr, WLAN, ip, ip6, ARP, RARP, DECnet, TCP

e UDP. Ad esempio, 'ether src foo' 'arp 128,3 net', 'port TCP 21', 'udp portrange 7.000-7.009'. Se non

viene definito un qualificatore proto, vengono analizzati tutti i protocolli.

Utilizzare host ip-address/hostname se l'origine o destinazione del pacchetto è Ipv4/v6, in

quel caso ip-address/hostname può anche può essere usato con dst host e src host.

Esempio 2: tcpdump -nnxX -i eth0 -w tcpdumpfile -C 3

Guido Alì 566/2266 Pagina 51 di 98

Utilizzare numero di porta / porta-nome se la porta di origine o destinazione del pacchetto è

il numero / nome-porta, in quel caso può anche essere utilizzato con dst port e src port.

Utilizzare portrange number1-number2 se la porta di origine o destinazione del pacchetto è

tra number1 e number2 inoltre può essere utilizzato con dst portrange e src portrange.

Utilizzare ether host Mac se l'origine o destinazione è Ethernet o MAC Address, in tal caso

è anche possibile utilizzare src ether e dst ether

Utilizzare ether se la trasmissione del pacchetto avviene in broadcast Ethernet.

Utilizzare gateway IP-address se il pacchetto ha usato l'indirizzo IP come gateway.

Utilizzare net IP-address se l'indirizzo sorgente o destinazione del pacchetto è Ipv4/v6,

inoltre può essere utilizzato con src net e dst net.

Utilizzare ip broadcast se il pacchetto è un pacchetto inviato in broadcast IPv4.

Utilizzare vlan vlan_id se il pacchetto è un pacchetto VLAN IEEE 802.1Q. Se viene

specificato vlan_id, il pacchetto viene selezionato solo se ha specificato il vlan_id.

Utilizzare mpls label_num se il pacchetto è un pacchetto MPLS. Se viene specificato

label_num, il pacchetto viene selezionato solo se ha specificato il label_num.

Utilizzare VPI / VCI number se il pacchetto è un pacchetto ATM.

Visualizza tutti i ipacchetti che arrivano oppure che partono dall'indirizzo 192.168.1.9:

tcpdump -nnvvv -i eth0 host 192.168.1.9

Guido Alì 566/2266 Pagina 52 di 98

Cattura tutto il

traffico destinato

alla porta http e

proveniente dalla interfaccia loopback:

tcpdump -

vvv - i lo dst port

http

Cattura tutti i

pachhetti di itpo ARP

(Address Resolution

Protocol):

tcpdump

- nnwww -

c 3 arp

Cattura tutto il

traffico ICMP

destinato o

Esempio 3: tcpdump -nnvvv -i eth0 host 192.168.1.9

Esempio 4: tcpdump -vvv -i lo dst port http

Esempio 5: tcpdump -nnwww -c 3 arp

Guido Alì 566/2266 Pagina 53 di 98

proveniente dall'host 192.168.1.9:

tcpdump -nn icmp host 192.168.1.9

Tcpdump è in grado

di

comprendere gli operatori booleani AND, NOT e OR. Questo raggruppamento di operatori

booleani tra le espressioni è in grado di creare qualsiasi regola, l'unica limitazione è la

vostra immaginazione.

Gli operatori booleani definiscono le relazioni tra le espressioni o gruppi di espressioni. Il

rapporto può essere vero o falso e dipende dalle espressioni scelte, ne lcaso in cui il rapporto

sia vero, allora Tcpdump catturerà i pacchetti scelti, nel caso in cui il rapporto sia falso,

Tcpdump non catturerà alcun pacchetto.

AND (and == & &) Restituisce come risultato vero se e solo se entrambe le espressioni

sono vere, in tutti gli altri casi restituirà falso.

NOT (not == !) Inverte il risultato dell'espressione, se l'espressione era vera, risulterà falsa,

in caso contrario risulterà vera.

OR (or == | |) Restituisce come risultato falso se e solo se entrambe le espressioni sono false,

in tutti gli altri casi restituirà vero.

Esempio 6: tcpdump -nn icmp host 192.168.1.9

Guido Alì 566/2266 Pagina 54 di 98

Cattura tutti i pacchetti inviati all'host 10.0.2.15 e altri, eccetto l'host 10.0.2.2:

tcpdump -c 10 ip host 10.0.2.15 and not 10.0.2.2

Cattura tutti i

pacchetti connessi con Mail, Web e servizi FTP:

tcpdump -c 3 -i eth0 port smtp or http or ftp-data or ftp

Esempio 7: tcpdump -c 10 ip host 10.0.2.15 and not 10.0.2.2

Guido Alì 566/2266 Pagina 55 di 98

Cattura solo il

traffico

proveniente da internet:

tcpdump -c 5 -nn -i eth0 'src net not 192.168.0.0/16 and not 10.0.0.0/8′

Cattura tutto il

traffico ftp e

http:

tcpdump -nn -i eth0 src host 10.0.2.15 and 'dst port 21 or 80'

Esempio 8: tcpdump -c 3 -i eth0 port smtp or http or ftp-data or ftp

Esempio 9: tcpdump -c 5 -nn -i eth0 'src net not 192.168.0.0/16 and not

10.0.0.0/8′

Guido Alì 566/2266 Pagina 56 di 98

Controllare che si stia specificando la corretta interfaccia di rete con l'opzione -i, che vi

consiglio di usare sempre in modo esplicito. Se si hanno problemi di DNS, tcpdump

potrebbe rinunciare a ricercare i nomi DNS per gli indirizzi IP, provare le opzioni -f oppure

-n per disabilitare questa funzione. Se si continua a non vedere nulla, controllare

l'interfaccia del kernel, Tcpdump potrebbe essere mal configurato per il sistema.

Alla fine della sua ricerca, tcpdump informerà se e quanti pacchetti sono stati catturati dal

kernel. Se questo diventa un problema, è probabile che il vostro host non può tenere il passo

con il traffico di rete e decodificarlo allo stesso tempo. Provate ad usare l'opzione -w per

aggirare la decodifica e scrivere i pacchetti elaborati in un file, per poi tornare più tardi e

decodificare i file con l'opzione -r. Si può anche provare a utilizzare -s per ridurre le

dimensioni dello snapshot di cattura.

Esempio 10: tcpdump -nn -i eth0 src host 10.0.2.15 and 'dst port 21 or 80'

Guido Alì 566/2266 Pagina 57 di 98

6. Guida all'installazione di Ntop

Questa guida è riferita alla versione 4.03 di Ntop, sulla distribuzione Linux Ubuntu 10.10.

Prima di poter procedere con l'installazione è necessario installare una serie di dipendenze

di cui necessita Ntop per poter funzionare correttamente. Le dipendenze sono dei pacchetti

che devono essere scaricati ed installati. L'installazione dei pacchetti può essere effettuata in

due modi, tramite il terminale con il comando apt-get install, oppure tramite il software

“Gestione Pacchetti” di Ubuntu.

Per utenti poco esperti nell'uso del comando apt-get install, consiglio il secondo metodo, in

quanto la versione dei pacchetti da installare e quindi i nomi dei pacchetti, possono variare.

Guido Alì 566/2266 Pagina 58 di 98

6.1 Primo metodo installazione pacchetti

Per quanto riguarda il primo metodo, l'uso del comando apt-get install, bisogna installare

tutti i pacchetti riportati di seguito; nella figura seguente è riportato un esempio

dell'installazione del primo pacchetto, autoconf.

Come si può notare dall'immagine, l'installazione del pacchetto Autoconf, installa

automaticamente anche automake e libtool; se così non fosse, installare manualmente ogni

pacchetto.

Figura 10: apt-get install autoconf

Guido Alì 566/2266 Pagina 59 di 98

6.2 Secondo metodo installazione pacchetti

Il secondo metodo di installazione dei pacchetti richiede l'uso del gestore pacchetti,

componente preinstallato di Ubuntu situato in Sistema->Amministrazione->Gestore

Pacchetti.

Nella figura seguente è riportato il Gestore pacchetti quando viene selezionata la voce Stato

Per installare i pacchetti, scrivere nella casella di testo di “Ricerca Veloce”, uno delle voci

della tabella 1 e dalla lista risultante dalla ricerca, scegliere la voce più simile al nome

cercato con il simbolo , eventualmente con un numero che indica la versione e la sigla

finale -dev.

Nella figura seguente è riportato l'esempio di installazione del pacchetto libpcap della

versione 0.8 di tipo dev:

Figura 11: Gestore di pacchetti

Guido Alì 566/2266 Pagina 60 di 98

Una volta trovato il pacchetto giusto, premere il pulsante destro e cliccare su Installa; a volte

verrà chiesto di installare altri pacchetti, dipendenti dal pacchetto selezionato, quindi

comparirà una schermata come quella seguente per l'installazione di librrd-dev

Figura 12: Installazione della libreria libpcap

Guido Alì 566/2266 Pagina 61 di 98

A questo punto sulla riga del pacchetto selezionato alla voce “S” comparirà , ora non

rimane altro che premere il pulsante Applica e comparirà la schermata seguente

Figura 13: Installazione delle dipendenze librrd-dev

Guido Alì 566/2266 Pagina 62 di 98

dove bisogna premere Applica per fare in modo che il Gestore pacchetti provveda a

scaricare ed installare il pacchetto nel modo corretto.

Pacchetti da installare:

• libtool

• automake

• autoconf

• libpcap0.8-dev

• libgdbm-dev

• zlib1g-dev

• librrd-dev

• python3-all-dev

Figura 14: Scermata di conferma installazione pacchetti dipendenti

Guido Alì 566/2266 Pagina 63 di 98

• libgeoip-dev

• selinux-policy-dev

• selinux

Con l'installazione di selinux verrà visualizzata la seguente schermata

cliccare su Avanti e attendere che venga completata l'installazione dei pacchetti, dopodiché

riavviare il sistema.

Una volta installati tutti i pacchetti aprire il terminale, spostarsi nella cartella di Ntop,

scaricata da sito www.Ntop.org, eseguire i seguenti comandi:

• sudo ./autogen.sh

Figura 15: Installazione di Selinux

Guido Alì 566/2266 Pagina 64 di 98

• sudo make

aprire un altro terminale, spostarsi sul percorso /usr/local/var/ ed eseguire il seguente

comando:

• sudo chmod -R 777 Ntop/

in questo modo verrannno dati i permessi alla cartella di Ntop per la creazione e esecuzione

dei database per le statistiche.

Chiudere il secondo terminale aperto e torniamo al primo i seguenti comandi:

• sudo make install

Figura 16: Esecuzione del comando ./autogen.sh

Guido Alì 566/2266 Pagina 65 di 98

• sudo make install-selinux-policy

A questo punto, una volta riavviato il sistema, l'installazione di Ntop è conclusa.

Figura 17: Esecuzione dl comando sudo make install

Guido Alì 566/2266 Pagina 66 di 98

6.3 Configurazione di Ntop

Prima di avviare Ntop, è necessario impostare una password per l'amministratore aprendo il

terminale e digitando il comando:

• Ntop –set-admin-password=Password-di-admin

Avviare Ntop col comando:

• sudo Ntop -d

Di default Ntop utilizza la porta 3000, nel caso la si voglia cambiare agiungere l'opzione -w

col numero della porta che si desidera utilizzare per Ntop.

Se il percorso di installazione di Ntop è stato cambiato utilizzare l'opzione -P con il percorso

attuale della cartella di Ntop.

usando l'opzione -d viene creato anche il demone, in modo tale che anche ai successivi

riavvii, Ntop verrà automaticamente eseguito.

Aprire un browser Web e spostarsi all'indirizzo:

Figura 18: Prima esecuzione di Ntop

Guido Alì 566/2266 Pagina 67 di 98

• localhost:3000

Alla prima esecuzione vi verrà chiesto di inserire i dati da amministratore, cioè come nome

utente admin e come password quella scelta in precedenza, così che comparirà la schermata

seguente di configurazione di Ntop:

A questo punto è necessario configurare Ntop per ricevere i dati di tipo NetFlow provenienti

dal GSR.

Per fare ciò dobbiamo aprire un broswer e andare all'indirizzo localhost:3000, se ci

troviamo sulla macchina su cui è installato Ntop ed è stata impostata come porta quella di

defoult, cioè la 3000; altrimenti se lavorate in remoto utilizzare l'indirizzo 143.225.93.200.

Figura 19: Scermata di configurazione di Ntop

Guido Alì 566/2266 Pagina 68 di 98

Dal menù a tendina in alto a sinistra andare alla voce Plugins e cliccare su

All.

Figura 20: Schermata iniziale di Ntop

Figura 21: Voce Plugins del menù a tendina

Guido Alì 566/2266 Pagina 69 di 98

All'interno della tabella Aviable Plugins, ci sta l'elenco dei plugins installati, nel nostro caso

dobbiamo alla terza riga, quella del plugin NetFlow, sull'ultima colonna della tabella

controllare che ci sia scritto “Yes” come da figura, altrimenti se c'è scritto “No”, cliccare in

modo tale da cambiare il valore in “Yes”.

A questo punto andare nuovamente sul menù a tendina in alto a sinistra, spostare il mouse

sulla voce Plugins, poi sulla voce NetFlow ed infine cliccare sulla voce View/Configure.

Figura 22: Tabella dei Plugins installati

Guido Alì 566/2266 Pagina 70 di 98

Cliccare sul

pulsante “Add

NetFlow Device”

La figura seguente

riporta la pagina di

configurazione del Plugins di NetFlow. Analizziamo di seguito le varie voci della tabella:

• NetFlow Device riguarda il nome che vogliamo dare al Device che catturerà i dati dal

GSR dell'università; nel nostro caso abbiamo scelto come nome NetFlow-Unina, dopodichè

cliccare su “Set Interface Name”;

• Local Collector UDP Port indica il numero di porta da aprire e verso cui saranno

inviati i dati di tipo NetFlow, è necessario impostare la porta 9996, altrimenti non

riceveremo dati, dopodichè cliccare su “Set Port”;

• Virtual NetFlow Interface Network Address indica l'indirizzo IP a cui verranno

inviati i dati, inserire l'indirizzo 143.225.93.200/255.255.255.0 e cliccare sul pulsante “Set

Interface Address”

• Flow Aggregation indica se si vuole usare una aggregazione come può essere per

numero di porta, per tipo di protocollo o altro, nel nostro caso dobbiamo scegliere Nome

(No Aggregation) e cliccare sul pulsante “Set Aggregation Policy”;

Figura 23: Voce Plugins -> NetFlow del menù a tendina

Figura 24: Pulsante Add NetFlow Device

Guido Alì 566/2266 Pagina 71 di 98

• D

um

p

Int

erv

al

ind

ica

l'int

erv

allo

di

tem

po misurato in secondi, allorquando verrà aggiornato il file di dump di questo plugin, nel

nostro caso scegliere un intervallo di 600 secondi, ossia ogni 10 minuti, e cliccare sul

pulsante “Set Dump Interval”;

• Dump File Path indica il percorso relativo del file di dump con il nome di tale file,

nel nostro caso inserire come nome netflow-Unina-dump e cliccare sul pulsante “Set Dump

File Path”;

• Debug indica la possibilità di controllare la cattura del flusso dei dati, selezionare la

voce On e cliccare su “Set Debug”.

Figura 25: Configurazione del Plugin NetFlow - prima parte

Guido Alì 566/2266 Pagina 72 di 98

Una volta completata la configurazione del plugin, è necessario disabilitare e poi abilitare il

Plugin NetFlow, per far si che parta in modo corretto la cattura del flusso dei dati; per fare

ciò andare sul menù in alto a sinistra, alla voce Plugins e cliccare su All (Figura 20),

all'interno della tabella Aviable Plugins sulla riga di NetFlow, cliccare su Yes (Figura 21) in

modo tale che diventi No e poi su No per farlo diventare nuovamente Yes; da questo

momento se non ci sono stati errori dovrebbe partire la cattura dei dati di NetFlow.

Per

visualizzare i grafici dei vari protocolli, del flusso dati catturato da NetFlow, è necessario

andare sul menù a tendina in alto a sinistra, alla voce Admin, spostarsi su Switch NIC e

dopodiché cliccare su NetFlow-Unina.

Figura 26: Configurazione del Plugin NetFlow - seconda parte

Figura 27: Voce Admin -> Switch NIC del menù a tendina

Guido Alì 566/2266 Pagina 73 di 98

Per visualizzare i risultati della cattura del traffico NetFlow, andare sul menù in alto a

sinistra alla voce Summary cliccare su Traffic.

Comparirà la seguente

schermata che indica

le interfacce

di rete installate

(Network

Interface(s) ), nel nostro caso abbiamo “Eth0” e “NetFlow-Unina”:

• Eth0 è l'interfaccia standard che permette di monitorare la rete locale della macchina

su cui è installato Ntop;

• NetFlow-Unina è l'interfaccia del protocollo NetFlow che riceve i dati del

monitoraggio dal GSR Unina.

Sempre all'interno della schermata seguente è indicato quale interfaccia si sta monitorando

in questo momento, verificare che sia riportato NetFlow-Unina e non Eth0, altrimenti starete

solo monitorando la vostra rete locale.

Figura 28: Voce Summary del menù a tendina

Guido Alì 566/2266 Pagina 74 di 98

Scendendo lungo la pagina troviamo un'altra tabella riportata nella figura seguente,

chiamata Global Protocol Distribution; tradotta in italiano è la distribuzione globale dei

protocolli, ossia la suddivisione dei principali protocolli IP come il TCP, UDP, ICMP e altri.

Come si può notare dalla figura la maggior parte dei pacchetti che viaggiano sulla rete

utilizzano il protocollo TCP.

Scendendo ancora nella pagina troviamo la tabella più importante, la “Global TCP/UDP

Figura 29: Global Traffic Statistics

Figura 30: Global Protocol Distribution

Guido Alì 566/2266 Pagina 75 di 98

Protocol Distribution”, come possiamo vedere dalla figura seguente:

I protocolli che Ntop monitorizza sono :

• FTP;

• HTTP;

• DNS;

• Nbios/CIFS;

• Mail;

• SNMP;

• NFS/AFS;

• VoIP;

• X11;

• SSH;

• Gnutella;

• Kazaa;

• eDonkey;

Figura 31: Global TCP/UDP Protocol Distribution

Guido Alì 566/2266 Pagina 76 di 98

• Bitorrent;

• Messenger.

Oltre a questi protocolli Ntop mostra un grafico a torta chiamato “Accumulated View”, che

raffronta le percentuali dei vari protocolli, ed un grafico chiamato “Historical View” che

mostra su un unico grafico tutti i protocolli dando ad ogni uno di loro un diverso colore.

In fondo alla pagina del mostra il traffico generale, dell'intefaccia di rete scelta, mostra una

tabella chiamata “TCP/UDP Traffic Port Distribution: Last Minute View”, che riporta il

traffico nell'ultimo minuto diviso per porte di rete, ordinato per numero di byte totali, inviati

e ricevuti, riportato nella figura seguente:

È possibile monitorare un determinato protocollo diverso da quelli nell'elenco precedente,

utilizzando l'opzione -p all'avvio dei Ntop, in questo modo non verranno monitorati i

protocolli di default ma solo il o i protocolli scelti, in alternativa è possibile creare una

protocol list, un file in cui vengono inseriti tutti i protocolli che vogliono essere monitorati.

É da notare che usando l'opzione -p non verrà più monitorato il protocollo VoIP.

Di seguit è riportata la pagina del manuale di Ntop riguardante l'opzione -p:

-p | --protocols

Figura 32: TCP/UDP Traffic Port Distribution: Last Minute View

Guido Alì 566/2266 Pagina 77 di 98

This parameter is used to specify the TCP/UDP protocols that ntop will monitor. The format is <label>=<protocol list>

[,<label>=<protocol list>], where label is used to symbolically identify the <protocol list>. The format of <protocol list> is

<protocol>[|<protocol>], where <protocol> is either a valid protocol specified inside the /etc/services file or a numeric port

range (e.g. 80, or 6000-6500).

A simple example is --protocols="HTTP=http|www|https|3128,FTP=ftp|ftp-data", which reduces the protocols displayed on

the "IP" pages to three:

Host Domain Data HTTP FTP Other IP

ns2.attbi.com <flag> 954 63.9% 0 0 954

64.124.83.112.akamai.com <flag> 240 16.1% 240 0 0

64.124.83.99.akamai.com <flag> 240 16.1% 240 0 0

toolbarqueries.google.com <flag> 60 4.0% 60 0 0

Tabella 8: Esempio manuale Ntop alla voce -p

If the <protocol list> is very long you may store it in a file (for instance protocol.list). To do so, specify the file name instead

of the <protocol list> on the command line. e.g. ntop -p protocol.list

If the -p parameter is omitted the following default value is used:

FTP=ftp|ftp-data

HTTP=http|www|https|3128 3128 is Squid, the HTTP cache

DNS=name|domain

Telnet=telnet|login

NBios-IP=netbios-ns|netbios-dgm|netbios-ssn

Mail=pop-2|pop-3|pop3|kpop|smtp|imap|imap2

DHCP-BOOTP=67-68

SNMP=snmp|snmp-trap

NNTP=nntp

NFS=mount|pcnfs|bwnfs|nfsd|nfsd-status

X11=6000-6010

SSH=22

Peer-to-Peer Protocols

----------------------

Gnutella=6346|6347|6348

Kazaa=1214

WinMX=6699|7730

DirectConnect=0 Dummy port as this is a pure P2P protocol

Guido Alì 566/2266 Pagina 78 di 98

eDonkey=4661-4665

Messenger=1863|5000|5001|5190-5193

NOTE: To resolve protocol names to port numbers, they must be specified in the system file used to list tcp/udp protocols and

ports, which is typically /etc/services file. You will have to match the names in that file, exactly. Missing or unspecified (non-

standard) ports must be specified by number, such as 3128 in our examples above.

If you have a file named /etc/protocols, don't get confused by it, as that's the Ethernet protocol numbers, which are not what

you're looking for.

Guido Alì 566/2266 Pagina 79 di 98

7. Guida installazione della libreria PF_RING

La libreria PF_RING per poter funzionare correttamente richiede l'utilizzo di drivers

modificati per poter catturare informazioni dalla rete(sniffing), quindi per poter utilizzare

PF_RING è necessario avere una scheda di rete di cui ci siano i drivers modificati.

Per verificare che la propria scheda di rete sia compatibile con PF_RING e quindi necesario

scariacare il pacchetto Ethtool, o utilizzando il comando da terminale:

• sudo apt-get install ethtool

oppure tramite il gestore acchetti, cercare nella ricerca veloce ethtool e installarlo.

Una volta installato il pacchetto ethtool, aprire il terminale e digitare il comando:

• ethtool -i eth0

verrà visualizzata una schermata simile alla seguente:

driver: e1000e

version: 1.0.2-k2

firmware-version: 0.4-3

bus-info: 0000:00:19.0

A questo punto, scaricare dal sito www.Ntop.org la versione aggiornata di PF_RING,

scompattare il file scaricato e andare nella cartella drivers per verificare che il driver della

propria scheda di rete sia nell'elenco dei driver supportati.

Una volta verificato che la propria scheda di rete si compatibile con la libreria PF_RING, si

può procedere con l'installazione; come prima cosa procedere con la rimozione del

pacchetto libpcap, o utilizzando il terminale con il comando:

• apt-get remove libpcap

oppure tramite il Gestore Pacchetti, cercando il pacchetto libpcap tramite la casella di testo

di ricerca veloce e una volta trovato, selezionarlo col destro e cliccare su Rimuovi, come

nella schermata seguente:

Guido Alì 566/2266 Pagina 80 di 98

Una volta rimosso il pacchetto libpcap si può procedere con l'installazione dei seguenti

pacchetti:

• subversion

• flex

• vision

Come è già stato descritto nel capitolo precedente per procedere con l'installazione di questi

tre pacchetti si può procedere in due modi, o tramite il terminale con il comando:

• apt-get install nome_pacchetto

oppure tramite il Gestore Pacchetti ricercando uno alla volta i pacchetti, selezionandoli e

tramite il comando Applica installarli sulla macchina.

Una volta installati tutti i pacchetti necessari a PF_RING, è necessario rimuovere i driver

attuali della scheda di rete, con il comando da terminale:

• sudo rmmod nome_driver

dove il nome_driver è quello visualizzato col comando ethtool -i eth0 alla voce driver.

A questo punto spostare il terminale nella directory PF_RING/kernel/ che è stata

precedentemente scaricata e scompattata, creare il codice sorgente con il comando:

Figura 33: Rimozione di libpcap

Guido Alì 566/2266 Pagina 81 di 98

• sudo make

nel caso in cui venga visualizzato un messaggio di errore sul file bounds.c, utilizzare il

comando:

• sudo -s make

Una volta creato il codice sorgente, installarlo col il comando:

• sudo make install

Spostarsi nella directory PF_RING/userland/lib e anche in questa cartella è necessario

creare e installare il codice sorgente con i comandi:

• sudo make

• sudo make install

Ora dobbiamo installare la libreria pcap contenuta in PF_RING, per fare ciò spostarsi nella

directory userland/libpcap-1.0.0-ring e eseguirei seguenti comandi:

• ./configure

• make

• sudo make install

Guido Alì 566/2266 Pagina 82 di 98

Ora è necessario installare i driver modificati della propria scheda di rete spostandosi nella

cartella:

• PF_RING/drivers/produttore_scheda/modello/src

Se per esempio si ha una Intel e1000e 1.0.15 ci si sposterà nella cartella:

• PF_RING/drivers/intel/e1000e-1.0.15/src

Creare il codice sorgente e installarlo con i comandi:

• make

• sudo make install

Una volta installati i driver corretti, è necessario attivare PF_RING, se non è già attivo.

Come prima cosa bisogna vedere che versione del kernel è installata sulla macchina con il

comando:

• uname -r

Figura 34: Esecuzione di sudo make install

Guido Alì 566/2266 Pagina 83 di 98

Spostarsi nella directory /lib/modules//kernel/net/pf_ring e digitare il comando:

• ismod pf_ring

per verificare l'attivazione o meno di PF_RING. Se è attivo allora occorre disattivarlo con il

comando:

• rmmod pf_ring

Una volta che è disabilitato, usare il comando:

• sudo insmod pf_ring.ko transparent_mode=1

per abilitare PF_RING.

Non rimane altro che abilitare anche i nuovi driver della scheda di rete e l'installazione sarà

completa.

Spostarsi nella directory /lib/modules//kernel/drivers/net/nome_driver ed eseguire il

comando:

• sudo insmod nome_driver.ko

e il gioco è fatto.

Guido Alì 566/2266 Pagina 84 di 98

8. Conclusioni

Il lavoro svolto presso il Centro SCoPE mi ha permesso, da un lato di rafforzare le

conoscenze sulla programmazione di base, in particolare l'utilizzo del sistema operativo

Linux Ubuntu, dei comandi di shell, del DBMS MySql e dei protocolli di rete, molto

richiesti nel mondo del lavoro, dall'altro di acquisire concetti nuovi e allo stesso tempo

stimolanti, come il monitoraggio di sistemi di rete, l'utilizzo di un tool che permette la

creazione e la gestione di macchine virtuali e la gestione degli indirizzi pubblici.

La scelta del sistema di monitoraggio di rete, l'installazione e la configurazione dello stesso,

mi ha dato fonti di riflessione e di studio, sulle caratteristiche dei sistemi operativi utilizzati,

maturando in me, voglia di affrontare e approfondire i problemi legati alla struttura interna

dei vari sistemi operativi.

La ricerca del pacchetto software, oltre all'installazione e alla configurazione, utilizzatissima

per le aziende piccole o grandi che vogliono monitorare la propria rete, con

l'implementazione del pacchetto NetFlow, utilizzato dalla maggior parte dei router Cisco,

marca professionale nel campo delle infrastrutture di reti, mi consentirà di lavorare anche

con grandi società.

La scelta del software Ntop è stata solo l'inizio, c'è ancora molto da fare e da migliorare,

considerando tutte le possibili configurazioni che si possono migliorare, l'applicazione di

filtri e aumentare il lavoro di monitoraggio con la gestione della sicurezza della rete

rilevando e bloccando attacchi in atto, o ancora di prevenire la congestione del traffico.

Oltre ad Ntop è fondamentale l'applicazione nProbe, un NetFlowCollector che

permetterebbe il monitoraggio dei singoli edifici o sedi dell'università.

Dal punto di vista tecnico, il lavoro fatto, mi ha permesso di studiare in modo trasversale i

problemi legati al monitoraggio di sistemi di rete, applicati su macchine virtuali, un'ottima

soluzione per testing di applicazioni e servizi di varie tipologie.

Inoltre, poiché parte del lavoro svolto, è stato affrontato in collaborazione con altri colleghi,

questo mi ha permesso di maturare ulteriori esperienze e conoscenze nel campo informatico

e non solo.

La voglia di apprendere nuovi concetti e di acquisire una maggiore padronanza con gli

Guido Alì 566/2266 Pagina 85 di 98

strumenti adoperati durante tutto l'iter dello stage, ha rafforzato la mia formazione in campo

informatico , prerogativa fondamentale, che mi ha consentito di portare avanti e sviluppare

serenamente questo lavoro di Tesi.

Guido Alì 566/2266 Pagina 86 di 98

9. Glossario

Access Point È un dispositivo che permettere ad un computer con una scheda

wireless di connettersi alla rete. Esso a sua volta è collegato alla rete

cablata tramite un cavo ethernet o ad un altro Access Point tramite la

wireless stessa, in questo caso l'Access Point è anche detto bridge,

perchè utilizzato come ponte radio.

Amministratore di rete È colui che gestisce la rete, assegna gli IP, controlla il traffico,

assegna le password della eventuale rete Wireless e DataBase remoti.

AppleTalk È un protocollo di comunicazione della Macintosh, si occupa della

comunicazione del computer con stampanti remote e altri dispositivi

collegati non direttamente al PC ma tramite la rete. Ormai però i Mac

ormai utilizzano il protocollo TCP/IP.

Applicazione web-

based

È una applicazione la cui interfaccia con l'utente avviene tramite un

broswer web e che è quindi accessibile tramite la rete in remoto; ciò

vuol dire che possiamo per esempio controllare l'applicazione in

esecuzione su una macchina server da un qualsiasi PC che abbia

accesso alla rete del serverconoscendo l'indirizzo del server e tramite

un broswer web.

ARP È l'acronimo di Address Resolution Protocol, ossia è un protocollo di

rete appartenente ai protocolli IP che gestisce la mappatura tra

indirizzo IP e indirizzo MAC.

ASCII È l'acronimo di American Standard Code for Information

Interchange, un sistema di codifica dei caratteri a 7 bit, poi portato a 8

bit, accettato come codifica dei icaratteri standard internazionale

dall'ISO (International Sandard Organization).

ATM È l'acronimo di Asynchronous Transfer Mode, un protocollo di rete

per il trasferimento dei dati sulla rete, diversamente dalle reti basate

sulla suite di protocolli IP, esso non trasferisce pacchetti di

dimenzione variabile ma delle celle, di lunghezza fissa. Ha una

velocità molto maggiore rispetto alle reti IP ma ha un costo maggiore.

Backbone È una linea di interconnessione che permette di collegare parti lontane

Guido Alì 566/2266 Pagina 87 di 98

di reti, ad esempio diversi edifici o diverse sedi dell'università.

Bootstrap È la fase iniziale di avvio della macchina e quindi di tutti i servizi, in

cui non c'è interazione con l'utente.

Browser Web È una applicazione che permette di visualizzare pagine web e la

navigazione tra tali pagine nel Wrold Wide Web. Un Broswer web è

in grado di visualizzare pagine scritte in formato HTML, PHP, Java,

XML e così via.

Client È solitamente una macchina che ha bisogno di dati presenti su un'altra

macchina chiamata server, quest'ultima in genere fornisce servizi

come DataBase, security Storage o altri come stampanti e così via di

cui necessita il client.

Congestion avoidance È un servizio fornito da alcuni dispositivi di gestione del traffico sulla

rete, essi prevengono la congestione della rete monitorando le porte e

distribuendo il traffico nel modo più omogeneo sia possibile.

CPU È l'acronimo di Central Processing unit, l'unita cuore del computer, la

quale elabora tutte le informazioni al livello elementare di bit 0, 1.

DBMS È l'acronimo di DataBase Management System, come dice il nome

stesso è il sistema di gestione dei DataBase, che si occupa

dell'aggiornamento dei dati, le interrogazioni al DataBase, la gestione

degli accessi di diversi uteni e così via.

Debug È una particolare attività che si fa per l'individuazione di un errore

(bug) all'interno di una applicazione, in genere avviene eseguendo il

codice sorgente dell'applicazione un rigo alla volta, seguendo

l'evolversi dei dati in memoria e controllando l'interazione con

l'utente.

DECnet È una suite di protocolli internet antenata della architettura peer to

peer.

Device È un dispositivo, può generalmente intendere dispositivi come Access

Point, stampanti o altri.

DNS È l'acronimo di Domain Name System, cioè il sistema di risoluzione

dei nomi sulla rete, in altre parole è il sistema che traduce l'indirizzo

Guido Alì 566/2266 Pagina 88 di 98

internet che noi cerchiamo, nell'indirizzo IP corrispondente e

viceversa.

Ethernet È un sistema di di trasmissione dati in una rete locale ed è anche il

nome della suite di protocolli che gestiscono tale sistema. Il cavo di

collegamento di tale rete ha anche esso lo stesso nome ed è

riconoscibile per il tipico terminale RJ-45.

FDDI È l'acronimo di Fiber Distribuiter Data Interface, un particolare tipo

di rete ad anello di tipo Token Ring, costituita da cavi di fibre ottiche.

Firewall È un dispositivo passivo di filtraggio dei dati della rete. In italiano si

traduce come muro taglia fuoco o muro ignifugo; questo perché viene

in generale posto sulla topologia della rete al limite tra la rete locale,

in cui gli utenti sono stabiliti e liberi di comunicare tra loro, e la rete

esterna, come ad esempio internet. Il Firewall ha il compito di

proteggere le macchine della rete locale da attacchi esterni.

FTP È l'acronimo di File Tranfer Protocol, un protocollo fondamentale per

lo scambio dei dati all'interno della rete IP, gestisce il trasferimento

dei file tra due macchine collegate in rete.

Garbage Collector È un sistema di gestione della memoria, la traduzione è raccolta dei

rifiuti. Il Garbage Collector annota le porzioni di memoria allocate da

programmi attivi, che nel momento in cui vengono terminati rende

l'aria di memoria a loro allocata, libera di poter essere utilizzata da

altri programmi.

Gigabit È l'unità di misura della trasmissione dei dati sulla rete, rappresenta la

trasmissione di 1 miliardo di bit al secondo.

GSR È l'acronimo di Gigabit Switch Router, un router per la connessione

alla rete come ad esempio internet con uno switch per la connessione

contemporanea di una serie di dispositivi e quindi la creazione di una

rete locale, con la caratteristica di avere una connessione molto

veloce, fino ai Gigabit.

Host È un terminale collegato alla rete, può essere un PC, un palmare o

altro e può essere di tipo Client o Server.

Guido Alì 566/2266 Pagina 89 di 98

HTTP È l'acronimo di HyperText Transfer Protocol, il protocollo più famoso

per la gestione dell'ipertesto, esso premette di visualizzare le pagine

web su un broswer web e di navigare tra le pagine.

ICMP È l'acronimo di Internet Control Message Protocol, un protocollo

appartenente alla suite di protocolli IP; esso si occupa di gestire le

informazioni riguardanti i malfunzionamenti, all'interno della rete.

IP È l'acronimo di Internet Protocol, è la suite di protocolli per la

interconnessione di reti eterogenee; ciò vuol dire che questo

protocollo è stato creato per connettere dei dispositivi ad una rete, sia

dispositivi di tipo diverso che reti di tipo diverso come può essere la

rete Ethernet e la ATM.

IPX È l'acronimo di Internetwork Packet eXchange, un protocollo per lo

scambio dei pacchetti sulla rete Netware di Novell.

IS È l'acronimo di Intermediate System, un protocollo di routing per

l'instradamento tra dispositivi anche diversi connessi alla rete.

Java È un linguaggio di programmazione orientato agli oggetti. Grazie alla

Java Virtual Machine, una macchina virtuale sulla macchina fisica su

cui lavoriamo, è possibile programmare in modo indipendente dalla

piattaforma utilizzata.

JDBC È l'acronimo di Java DataBase Connectivity, un modulo di Java che

permette la connessione di un database al proprio programma.

Kernel È il nucleo del sistema operativo, che permette ai vari applicativi in

esecuzione sul sistema, di essere elaborati dalla CPU e gestisce i

tempi macchina, cioè i turni tra i vari programmi per essere eseguiti.

LAN È l'acronimo di Local Area Network, cioè una rete di tipo locale in

cui i dispositivi connessi possono solo scambiare informazioni tra

loro.

Libreria libpcap È una libreria creata per TCPDUMP per la cattura dei pacchetti dalla

rete.

Linea di dump È un rigo del file di dump. Il file di dump è un file che contiene il

riepilogo delle azioni fatte da un database o un programma.

Guido Alì 566/2266 Pagina 90 di 98

Linguaggio di mark-up È un linguaggio che contiene un insieme di marcatori standardizzati

come ad esempio l'XML.

Linux È un sistema operativo open source, in cui il codice sorgente non è

codificato e quindi modificabile da chiunque. Linux comprende al suo

interno generalmente il sistema testuale Unix.

LLQ È l'acronimo di Low Latency Queuing, è un protocollo della Cisco

per il controllo pila di accodamento dei pacchetti che devono essere

inviati sulla rete, che permette ad esempio a pacchetti di tipo VoIP di

passare per primi per evitare quei fastidiosi problemi di ritardo della

voce.

Loopback È un'interfaccia fittizia per permettere ad un programma in

esecuzione localmente di accedere a risorse come database che anche

se locali sono predisposti solo per connessioni remote.

MAC address È l'acronimo di Media Access Control address, l'indirizzo che

identifica univocamente una scheda di rete tra tutte le altre al mondo e

quindi identifica una macchina all'interno di una rete.

Mac OS È l'acronimo di MAC Operating System, il sistema operativo chiuso

della Apple per macchine Macintosh.

Memoria cache È una memoria volatile che si trova all'interno dei Personal

Computer, più piccola della memoria RAM ma molto più più veloce;

è usata dal processore per conservare risultati parziali di operazioni in

esecuzione.

MIB È l'acronimo di Management Infomation Base, un database per la

gestione dei dispositivi della rete.

Mission-critical È un'informazione relativa ad una attrezzatura o dispositivo critica per

il funzionamento del progetto, generalmente riguardanti la sicurezza

dei dati.

MPLS È l'acronimo di Multi Protocol Label Switching, un protocollo di

routing che permette ai pacchetti di essere trasmessi sulla rete

attraverso un percorso predefinito da etichette(label). In altre parole

contiene al suo interno una tabella di routing che specifica per quali

Guido Alì 566/2266 Pagina 91 di 98

nodi deve passare il pacchetto.

Multicast È un metodo di invio di pacchetti, in questo particolare caso un

pacchetto viene inviato contemporaneamente ad un gruppo di

destinatari. Multicast riferito ad un indirizzo, significa che l'indirizzo

è del gruppo.

MySql È un DBMS, un sistema di gestione dei database; esso è diviso da un

lato server, il quale contiene i dati, un lato client che effettua le

interrogazioni. Nei casi in cui sia il client che il server si trovano su

macchine distinte, per connettersi il client al server, ha bisogno di

sapere l'indirizzo del server e si deve loggare, in caso contrario

utilizza l'interfaccia loopback, ma sempre ha bisogno di loggarsi;

quindi è necessario chiedere all'amministratore di rete un account sul

server.

NetBEUI È un protocollo di trasporto dei dati sulla rete che contiene in se il

protocollo NetBios, per la programmazione remota del bios.

NFR È l'acronimo di Network Flight Recorder, un'applicazione capace di

catturare i pacchetti dalla rete e salvarli all'interno di un database per

la successiva consultazione.

NFS È l'acronimo di Network File System, un particolare protocollo che

permette alle macchine connesse alla rete, di utilizzare dischi remoti

come se fossero locali.

NOC È l'acronimo di Network Operations Center, un centro che controlla

tutto le operazioni sulla rete ed è responsabile dell'instradamento per

evitare congestioni del traffico e monitorizza tutti i dispositivi.

Nodo della rete È un punto della rete in cui si uniscono più diramazioni.

NUDP È l'acronimo di Network Protocol Data Unit, un protocollo di

intestazione dei dati; esso viene inviato per controllare lla correttezza

della trasmissione avvenuta.

NVRAM È l'acronimo di Not Volatile Random Access Memory, cioè un

memoria di tipo RAM ma non volatile, ossia non viene perso il

contenuto della memoria allo spegnimento della macchina.

Guido Alì 566/2266 Pagina 92 di 98

ODBC È l'acronimo di Open DataBase Connectivity, una interfaccia che

permette l'indipendenza dal sistema di gestione del database, in altre

parole l'ODMC permette ai programmi di nterfacciarsi con diversi

database utilizzando gli stessi comandi.

Operatore booleano Gli operatori booleani sono principalmente tre, AND, OR e NOT; essi

permettono di unire due espressioni o negarne una a seconda

dell'operatore usato.

Pacchetto È parte di un dato trasmesso sulla rete; quando inviamo un dato sulla

rete, esso viene diviso in tanti pacchetti, ognuno dei quali contiene

parte dell'informazione, un numero progressivo che indica che parte

del dato esso contiene e altre informazioni come il destinatario, codici

per il controllo della correttezza e altri dati.

Perl È l'acronimo di Practical Extraction and Report Language, un

linguaggio di programmazione ereditato del C, dagli script Bash e da

Awk.

Ping È un comando di Unix che invia una serie di pacchetti ICMP ad un

destinatario specificato per controllare lo stato e la velocità di

trasmissione.

Plugins È un

PoP Point of Presence nodo di trasporto

PPP È l'acronimo di Point to Point Protocol, un protocollo per la

connessione di due nodi distinti della rete.

RAM È l'acronimo di Random Access Memory,, più veloce dei dischi rigidi,

di dimenzione minore e non permanente, cioè allo spegnimento della

macchina perde tutti i dati contenuti. È un via di mezzo tra l'hard disk

e la memoria cache.

RARP È l'acronimo di Reverse Address Resolution Protocol, un protocollo

di rete che ha lo scopo di risalire all'indirizzo IP, conoscendo

l'indirizzo fisico(MAC). RARP è anche il nome del pacchetto inviato

in broadcast, per la richiesta del proprio indirizzo IP, così come è il

nome del server che risponde a tale richiesta.

Guido Alì 566/2266 Pagina 93 di 98

Report É una stampa dei dati proveniente da un database, filtrata secondo le

necessità, con interrogazioni sql.

Rete GARR È la rete informatica per la ricerca, l'acronimo di GARR è Gruppo

Armonizzante Rete di Ricerca, una rete che è stata creata per

collegare le varie università italiane e estere.

RMON È l'acronimo di Remote network MONinoting, un protocollo creato

per il monitoraggio delle reti. Gli agenti RMON sono generamente

contenuti all'interno dei router come in molti della Cisco.

ROM È l'acronimo di Read Only Memory, ossia una memoria di sola

lettura, essa è situata sulla scheda madre e contiene il firmware, ossia

ciò che permette la trasformazione dei comandi software in segnali

hardware.

Router È un dispositivo fondamentale all'interno di una rete. In inglese viene

tradotto come instradatore, questo perché ha il compito di instradare i

pacchetti sulla rete. Contiene al suo interno una tabella chiamata

Tabella di routing, la quale contiene tutti gli indirizzi dei vari host

collegati alla rete, con gli indirizzi dei nodi attraverso i quali passare

per raggiungerli; in altre parole una mappa di come raggiungere tutti

gli host della rete.

Snapshot È lo stato del sistema in un certo istante di tempo, come se fosse una

fotografia dello stato attuale del sistema e della memoria.

Sniffer È un'applicazione capace di catturare in modo passivo i pacchetti che

attraversano la rete, per poi conservarli all'interno di un database. Lo

scopo dello sniffer può essere, sia di analisi delle prestazioni della

rete, sia attività illegali come la cattura delle password.

SNMP È l'acronimo di Simple Network Management Protocol, un protocollo

di rete per la gestione e la supervisione degli apparati collegati alla

rete.

Software Open Source È un software come dice il nome avente il codice sorgente aperto;

cioè il codice che forma il software in questione non è codificato e

quindi illeggibile dall'utente, ma anzi è leggibile e modificabile a

Guido Alì 566/2266 Pagina 94 di 98

piacimento. Un esempio può essere il sistema operativo Linux,

l'applicativo studiato Ntop o tantissimi altri.

Sottorete È una suddivisione di una rete in senso logico ma non fisico. La

suddivisione della rete in sub-gruppi si chiama subnetting, esso viene

fatto per divisioni gerarchiche o per divisioni di stanze o altro ancora.

SQL È l'acronimo di Struttred Query Lenguage, un linguaggio per

l'interrogazione dei database accettato da tutti i DBMS. Le

interrogazioni vengono chiamate Query, sono dei costrutti per

l'inserimento, cancellazione, aggiornamento o selezione di dati.

Superutente È un particolare utente di sistemi come Unix che ha tutti i privilegi di

eseguire, modificare o cancellare. Tale utente prende anche il nome di

Root.

Switch È un dispositivo di rete che permette la connessione di più computer,

attraverso cavi Ethernet, per la creazione di una rete locale cablata. A

differenza dell'Hub, il quale non fa nient'altro che inviare il

messaggio proveniente da un PC a tutti gli altri, lo Switch invia il

messaggio solo al vero destinatario, in quanto esso contiene una

tabella contenente per ogni porta Ethernet l'indirizzo MAC della

macchina connessa.

Tabella hash È una tabella contenente tutta una serie di informazioni riguardanti un

Host nel caso del Packet Analyser di Ntop, in cui in ogni riga della

tabella contiene tutta una serie di informazioni tra cui l'indirizzo

MAC dell'Host, usato come chiave di ricerca. Oltre all'indirizzo MAC

una riga contiene informazioni circa il numero di host a cui è

collegato, il tipo di protocollo utilizzato per la connessione, la lista

delle connessioni aperte in orso, l'indirizzo IP assegnato e così via.

TCP È l'acronimo di Trasmission Control Protocol, un protocollo di rete

generalmente abbinato al protocollo IP, diversamente dall'UDP, è un

protocollo sicuro in quanto crea un canale di comunicazione tra i due

host e garantisce l'integrità dei dati, con lo svantaggio di una

maggiore lentezza di trasmissione e ricezione ma col vantaggio di

una maggiore sicurezza dei dati.

Guido Alì 566/2266 Pagina 95 di 98

Telnet È un protocollo di rete utilizzato per la reazione di una sessione di

Login remoto tra un client e un server su internet; è anche il nome del

programma per effettuare il Login remoto e generalmente utilizza la

porta 23 sul server.

Terminale È un dispositivo della rete di tipo client, in quanto è una macchina

poco performante che non contiene database ne dispositivi importanti,

ma può solo effettuare richieste verso altri dispositivi o macchine, le

quali contengono tutte le informazioni che gli servono.

Timestamp È l'insieme di una data ed un orario che identificano un certo istante

di tempo.

Token Ring È una rete di computer ad anello chiuso, in cui c'è un buffer comune

che collega tutti i PC. La determinazione di chi deve trasmettere sul

buffer viene fatta in base a quale macchina possiede in quel momento

un particolare messaggio detto Token; in altre parole visto che il

buffer è uno solo e quindi più messaggi contemporaneamente

andrebbero in collisione, le macchine si passano un gettone (Token)

che permette loro di poter trasmettere, mentre tutti gli altri stanno in

ascolto e leggono il messaggio solo se è destinato a loro, altrimenti lo

ignorano.

Tool È un'applicazione o un insieme di applicazioni che aggiunte ad un

altro programma aggiungono un determinato compito.

Traceroute È un'applicazione capace di ricavare il percorso che fa un pacchetto

per arrivare ad un destinatario, ovvero gli indirizzi IP di tutti i router,

switch e dispositivi che attraversa per arrivare a destinazione.

UDP È l'acronimo di User Datagram Protocol, un protocollo di rete usato

nella maggior parte dei casi in combinazione col protocollo IP. Nel

protocollo UDP, non c'è garanzia di trasmissione corretta dei dati, in

quanto non è garantito che i pacchetti arrivino nello stesso ordine in

cui sono stati mandati, che ci siano errori o perdita dei pacchetti.

Nonostante ciò l'UDP è utilizzato in molte comunicazioni poiché

ormai la perdita dei messaggi si è ridotta talmente tanto che può

essere considerata nulla, mentre si ha il grosso vantaggio della

Guido Alì 566/2266 Pagina 96 di 98

maggiore velocità di trasmissione dei dati. Un esempio d'uso di

questo protocollo è nello streaming, in quanto è più importante la

ricezione immediata dei dati video e audio anche se con qualche

perdita di pixel video e frammento di audio.

Unix È un sistema operativo del tipo a riga di comando, ormai integrato

nella maggior parte dei sistemi Linux, in grado di gestire più

programmi alla volta e più utenti.

Update È l'aggiornamento di una applicazione, del sistema, dell'antivirus o

altro.

VLAN È l'acronimo di Virtual Local Area Network, una rete locale virtuale,

in quanto la rete in realtà è più grande in più sottoreti.

VOIP È l'acronimo di Voice Over IP, un protocollo di rete che permette di

effettuare una conversazione telefonica utilizzando una rete di tipo IP.

Win32 Indica la versione a 32 bit delle Windows API, cioè un insieme di

librerie dette DLL per il corretto funzionamento del sistema operativo

Windows.

Wireless Dall'inglese senza fili, si intende la comunicazione tramite onde radio

a bassa potenza, per estenzione i dispositivi Wireless sono quei

dispositivi che non fanno uso di cavi ma di onde radio per

comunicare, un esempio può essere un Router Wireless, il quale non

usa cavi Ethernet per connettere le macchine alla rete ma usa onde

radio.

XML È l'acronimo di eXtensible Markup Lenguage, è un linguaggio di

programmazione estendibile e formato da marcatori. A differenza

dell'HTML, dove i tag sono definiti e limitati, nell'XML i tag li

definisce l'utente e quindi può essere usato per creare nuovi linguaggi

o per comunicare con DBMS distinti.

Guido Alì 566/2266 Pagina 97 di 98

10. Bibliografia e Sitografia

Machtelt Garrels – Bash – Garrels BVBA

Greant Zack, Newman Chris – MySQL – Pearson

Peterson Larry, Davie Bruce – Computer Networks – Morgan Kaufmann

Yohannes Ramlie – Ntop - Network TOP – Aiko Pars

Parrino Maurzio – Voice Over IP – Apogeo

Luca Deri, Stefano Suin – Ntop: Ping end Traceroute – DSOM

NTOP http://www.ntop.org

TCPDUMP http://www.tcpdump.org

MYSQL http://www.myqsl.com

MRTG http://oss.oetiker.ch/mrtg/

Porte IANA http://www.iana.org

CISCO http://www.cisco.com

Netflow Collection Engine http://www.cisco.com/en/US/products/sw/netmgtsw/ps1964/

index.html

JOOMLA http://www.joomla.it

RRD Tools http://oss.oetiker.ch/rrdtool/

Cacti http://www.cacti.net

CVS http://it.wikipedia.org/wiki/Concurrent_Versions_System

RedHat http://www.redhat.com/

Ubuntu http://www.ubuntu.com

Wmware http://www.wmware.com

HTML http://www.html.it/

Crontab http://www.crontab.org

Fusion Chart http://www.fusionchart.com

Apache http://www.apache.org/

Guido Alì 566/2266 Pagina 98 di 98

SELinux http://selinuxproject.org

Libpcap http://www.pluto.it/files/ildp/lfs/blfs/6.0/general/libpcap.html