Thekey.iT

  • Aumenta dimensione caratteri
  • Dimensione caratteri predefinita
  • Diminuisci dimensione caratteri
Home }}} Articoli }}} Informatica }}} Statistiche con PeerGuardian2

Statistiche con PeerGuardian2

E-mail Stampa
Valutazione attuale: / 2
ScarsoOttimo 

Se usate PeerGuardian2 vi sarà sicuramente (o quasi) venuta la voglia di fare delle statistiche sugli IP più presenti nel vostro file di LOG. Vediamo dunque come fare per estrarre i dati per poterli poi elaborare secondo i nostri gusti...

Iniziamo con il dire che PeerGuardian2 utilizza come file di LOG un database in formato SQLite, questa informazione dovrebbe darvi gia un'idea di cosa andremo a fare. Vediamo dunque di cosa abbiamo bisogno:

SQLite (http://www.sqlite.org/) Ovviamente scaricheremo la versione più adatta a noi, nel mio caso ho fatto tutto con Windoze dunque ho scaricato la versione da linea di comando per Windoze.

- Una seppur minima conoscenza di SQL, essendo un database se non sappiamo cosa sia una query difficilmente otterremo qualche cosa.

Con queste due premesse soddifatte siamo in grado di iniziare a fare le nostre statistiche. Iniziamo dunque copiando il file sqlite3.exe che abbiamo scaricato nella cartella di Peerguardian (o in una cartella all'interno del path, per esempio Windows nel mio caso).

Il file con i dati raccolti, si trova nella cartella di Peerguardian e si chiama "history.db", questo file in pratica altri non é che un Database (per farla semplice) e per accedervi dobbiamo usare il programma SQLite di cui parlavamo prima.

Vediamo dunque come procedere: apriamo una shell e dopo esserci posizionati all'interno della cartella di Peerguardian eseguiamo il comando "sqlite3 history.db" (vedi immagine qui sotto).

Peerguardian-1

Ci ritroveremo dunque di fronte ad un nuovo prompt: "sqlite>" dove usando comandi SQL potremo estrarre tutte le info che vogliamo.

Per prima cosa però dobbiamo sapere quali tabelle ci sono in questo database... per saperlo usiamo il comando".tables" che ci darà in output la lista delle tabelle presenti nel database, e che nel nostro caso sono:

  • t_history
  • t_names

Ora che sappiamo dove cercare, dobbiamo anche sapere cosa cercare, e per fare questo ci serve sapere la struttura delle tabelle presenti, in modo da poter estrarre le informazioni che ci interessano, per fare questo usiamo il comando ".schema" che ci permette di visualizzare il comando di creazione tabella e di conseguenza la struttura, con tutti i dati delle colonne che la compongono.

Peerguardian-4

A questo punto siamo pronti per estrarre informazioni da questo database, sappiamo infatti che tabelle sono presenti e che colonne ci sono nelle suddette tabelle. Iniziamo dunque con una query semplice semplice: "select * from t_names;" il risultato sarà la lista dei nomi dei network presenti nel database. Se invece facciamo "select * from t_history;" otterremo tutti i dati storici raccolti da Peerguardian.

Ovviamente però a noi i dati interessano in un formato un poco più leggibile, per questo possiamo creare query ad-hoc per ottenere le informazioni in un formato più adatto, vediamo un esempio:

select count(*), t_names.name, protocol
from t_history, t_names
where t_history.nameid=t_names.id
and t_history.action=1
group by name, protocol
order by count(*) desc
;

La query qui sopra per esempio estrae i dati contando le "intrusioni" dei vari network, ordinandoli in ordine decrescente, raggruppandoli per nome e protocollo.

Per fare un'analisi dei dati può essere anche necessario importare i dati in un foglio di calcolo, per esempio OpenOffice.org Calc in modo da poter fare grafici ed analizzare meglio i dati, per fare questo dobbiamo "dire" a sqlite di salvare i dati all'interno di un file, che poi andremo a leggere con il nostro foglio di calcolo preferito. Il comando da usare in questo caso è ".export"che richiede come parametro il nome del file in cui salvare i dati.

Ma vediamo come redirigiere l'output della query precedente in un file di testo:

 Peerguardian-2

  1. usiamo il comando ".output [nomefile]" per dire a SQLite dove salvare i risultati
  2. eseguiamo la query che estrae i dati (non avremo output a monitor)
  3. usiamo il comando ".output stdout" per ripristinare l'output di SQLite a monitor

Il file generato sara simile a quello visibile nell'immagine qui sotto:

Peerguardian-3

Detto questo vi do alcune informazioni che vi serviranno per leggere la tabella t_history:

  • la colonna protocol contiene il numero del protocolo: 17=UDP, 6=TCP
  • la colonna action indica l'azione intrapresa da Peerguardian: 1=Block, 0=Pass
  • le colonne source e destination contengono gli IP sorgente e destinazione in formato numerico, per averli in formato "standard" dovete convertirli tramite qualche utility oppure da soli. Trovate un tool qui.

Direi che con questo vi ho stuzzicato abbastanza, avete visto come estrarre i dati da Peerguardian, ora non dovete fare altro che  sbizzarrirvi nel creare le query per estrarre i dati che vi servono, o che vi incuriosiscono. Magari potreste pure inventarvi un sistema per pubblicare in tempo reale i dati sul vostro sito web, se lo fate ditemelo che di sicuro vi linko come esempio :-)

Per ultimo vi "svelo" alcune cose sull'uso di SQLite che vi saranno utili:

  • Per uscire dall'interfaccia basta usare il comando ".exit"
  • Per conoscere altri comandi basta che usiate il comando ".help" che vi darà la lista dei comandi disponibili all'interno dell'interfaccia
  • Il punto che vedete davanti ad ogni comando per SQLite scritto nell'articolo non è un errore di battitura ma é necessario, tutti i comandi per SQLite iniziano con un punto "."

Ed ora saluto tutti e visto il giorno auguro a tutti BUON ANNO, che sia un buon anno per tutti, ma proprio tutti.

Eremita Solitario

 

Ultimo aggiornamento Giovedì 01 Gennaio 2009 20:54  

Google search

Ricerca personalizzata

Fatti riconoscere


Petizioni

stopsoftwarepatents.eu petition banner

Sondaggi

Choose your color
 

Random quote

I videogiochi non influenzano i bambini. Voglio dire, se Pac-Man avesse influenzato la nostra generazione, staremmo tutti saltando in sale scure, masticando pillole magiche e ascoltando musica elettronica ripetitiva.

Kristian Wilson, Nintendo Inc. 1989

Social Bookmark

Facebook myspace del.icio.us digg mixx reddit stumbleupon Twitter Google
diggita OkNotizie Segnalo UpNews ZicZac Wikio Fai Informazione