Ceci n'est pas un blog

Blog personale di Ivan Agliardi con pagine di informatica, linguaggi, idee…

Analizzare i transfer log (xferlog) di proftpd

Proftpd traccia qualsiasi operazione nel file di log denominato xferlog. In effetti molti altri demoni FTP scrivono i log in un file con lo stesso nome e adottando lo stesso formato, quindi questa tip può interessare anche chi utilizza, ad esempio, Wu-Ftpd o altri FTP standard BSD.

Il file xferlog si trova di solito in una delle seguenti directory:

/var/log
/var/log/proftpd/xferlog
/var/www/vhosts/{DOMAIN}/statistics/logs/xferlog_regular*

L’ultimo caso particolare riguarda solo i server amministrati con Plesk.

L’ultimo carattere riportato in ogni riga del xferlog mostra il modo in cui si è completato il trasferimento. Se il carattere è “c” significa che l’operazione si è completata con successo; se il carattere è “i” significa – al constrario – che l’operazione non è stata copmpletata e il trasferimento ha avuto pertanto esito negativo.

Questo comando restituisce tutti i trasferimenti incompleti:

egrep "i$" /path/to/xferlog

I tre caratteri che seguono il nome del file rappresentano nell’ordine:

  1. il tipo di trasferimento (a=ascii, b=binary)
  2. ogni eventuale azione particolare intrapresa (di norma viene riportato il carattere “_” che corrisponde a “nessuna azione”)
  3. la direzione del trasferimento (o=outgoing, i=incoming, d=deleted)

Per estrarre – ad esempio – una lista di tutti i file uploadati con successo:

awk '($12 ~ /^i$/ && $NF ~ /^c$/){print $9}' /var/log/proftpd/xferlog

Al contrario, per estrarre una lista di tutti i file il cui upload è fallito:

awk '($12 ~ /^i$/ && $NF ~ /^i$/){print $9}' /var/log/proftpd/xferlog

A proposito di Ivan Agliardi

Ho immaginazione e creatività, ma non sono un artista. Faccio interagire tra loro aziende dando vita a nuove imprese, ma non sono un imprenditore. Mi occupo da oltre 15 anni di server Linux, applicazioni web, database, domini, hosting, housing, sicurezza informatica e sistemi embedded, ma non sono un tecnico. Faccio SEO, SEM, SMM e fornisco contenuti attraverso i miei copyrighter, ma non sono un uomo marketing. Ora ho di nuovo un blog, ma non sono un blogger. Sono solo un umanista e un informatico della prima ora. E mi circondo di gente con le palle :)

2 commenti su “Analizzare i transfer log (xferlog) di proftpd”

  1. ver

    Su un server web con sist. operativo Centos e apache e php
    ci sono file di log che registrano
    – le azioni socket del php che invia email o dati ad altri server o client ?
    – le azione tipo fsckopen
    – le email inviate dal php

    in modo da poter monitorare tutto ciò:ip, port etc a cui sono inviati i dati ?

    Oppure serve un software apposito?

    Reply
  2. Ivan Agliardi

    Tutti gli eventi di cui mi parli vengono loggati correttamente dal sistema (dipende ovviamente dal livello di logging che hai impostato sul tuo server, ad esempio nel file php.ini) ma la cosa che mi sento di raccomandarti caldamente è quella di gestire queste informazioni in maniera attiva, loggando tutto in un file specifico o in una tabella del tuo db. Questo ti permette infatti di avere log omogenei anche in caso di migrazione ad altra piattaforma e – soprattutto – di non dover andare a cercare le informazioni che ti servono pescandole da enormi file di log che contengono grandi volumi di informazioni del tutto superflue (almeno per quanto riguarda la tua applicazione).

    Spero di esserti stato utile 😉

    Ciao! Ivan

    Reply

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Ivan Agliardi

Ivan Agliardi