FAQ- / Wissensdatenbank

Wie analysiere ich das FTP-Logfile (proftpd) /var/log/xferlog?

 

Format des Logfiles

Die Analyse des Transferlogfiles von proftpd ist ohne Referenz leider etwas mühsam. Wir verwenden folgende Zeile als Beispiel zur Analyse eines Eintrags in /var/log/xferlog:

Sat Oct 18 11:30:06 2008 10 99.99.99.99 267650 /var/www/web999/html/bild.jpg b _ o r web999 ftp 0 * c

BereichErklärungWerte
Sat Oct 18 11:30:06 2008 Zeitstempel des Transfervorgangs -
10 Transferzeit in Sekunden -
99.99.99.99 IP-Adresse des FTP-Clients (Remote Host) -
267650 Zahl der übertragenen Bytes -
/var/www/web999/html/index.php Betroffene Datei  
b Transfertyp a (ASCII/Text)
b (binär)
_ Special Action Flag _ (keine Aktion)
C (komprimiert)
U (dekomprimiert)
o Richtung das Transfers aus Serversicht i (eingehend)
o (ausgehend)
d (gelöscht [keine Richtung])
r Zugriffsmodus a (anonym)
r (Benutzername)
web999 Benutzername -
ftp Name des Serverdienstes -
0 Authentifizierungs-Methode 0 (keine besondere)
1 (RFC931 Authentifizierung)
* User-ID (oder *) -
c Status c (vollständig ausgeführt)
i (unvollständig ausgeführt)

Analyse des Logfiles

Um das Logfile bzw. den Datentransfer via FTP zu analysieren, empfehlen sich folgende Befehle:

Alle Aktionen, die abgebrochen wurden, haben an letzter Stelle des Eintrags ein "i" für "incomplete". Wir verwenden ein einfaches egrep, um entsprechende Zeilen anzuzeigen:

egrep "i$" /var/log/xferlog

Alle abgebrochenen Uploads können haben als Richtungsangabe "i" für "incoming" und wie erwähnt ein "i" am Ende der Zeile für "incomplete":

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

Alle erfolgreichen Uploads können wir ebenso abfragen. Sie haben als Richtungsangabe ebenfalls ein "i" für "incoming", jedoch ein "c" am Ende der Zeile für "complete":

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

Alle Löschaktionen haben als Richtungsangabe ein "d" für "delete". Mit folgendem Befehl werden diese gefiltert:

awk ’($12 ~ /^d$/){print $9}’ /var/log/xferlog

Alle Löschaktionen eines Benutzers mit Zeitangabe werden wie folgt angezeigt:

awk ’($12 ~ /^d$/){print $3 $2 $5 $4 $9}’ /var/log/xferlog | grep web999

 

2.73 (11)
Bewertung (11 Stimmen)
Bewerten Sie diesen Aritkel
    Anhänge
    Es gibt keine Anhänge zu diesem Artikel.