grep maillog und Spalten

tom81

Well-Known Member
Hallo Miteinander!

Ich würde gerne einige Informationen aus dem Maillog von Postfix automatisiert intepretieren. Dazu benötige ich bestimmte Informationen.
Im konkreten Fall geht es darum die Ip-Adressen zu ermitteln, die eine Authentifizierung gegen SASL testen.

Ausgangssituation:
Code:
...
May 25 07:43:55 mailserver postfix/smtpd[40870]: warning: unknown[1.1.1.1]: SASL LOGIN authentication failed: authentication failure
...
Folgende Dinge habe ich:
Code:
grep warning /var/log/maillog | grep "SASL LOGIN" | grep -o "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" | sort -n

1.1.1.1
2.2.2.2
3.3.3.3
4.4.4.4
4.4.4.4
5.5.5.5
5.5.5.5
5.5.5.5
5.5.5.5
6.6.6.6
6.6.6.6
6.6.6.6
6.6.6.6
6.6.6.6
6.6.6.6
Das gibt mir eine Liste der Ip aus.


Code:
grep warning /var/log/maillog | grep "SASL LOGIN" | grep -o "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" | sort -n | uniq -c | sort -n
   8    1.1.1.1
  24    2.2.2.2
  60    3.3.3.3
  60    4.4.4.4
 180    5.5.5.5
 402    6.6.6.6
Das macht mir das ganze schon sehr übersichtlich aber ich hätte gerne die erste Version mit der Uhrzeit.
Code:
May 25 07:43:55      1.1.1.1
May 25 07:51:21      1.1.1.1
May 25 08:20:57      2.2.2.2

Hat da jemand eine Idee? Ist grep der richtige Weg? Für Ideen wäre ich euch sehr dankbar.

Beste Grüße
Der Tom
 
Achja.. fuer die "uniqness" evtl noch:
Code:
| sort -k4,4 | uniq -f 3

was eigentlich die "erste" Uhrzeit pro IP-Addr ergeben sollte.
 
Besten Dank! Das hilft mir die Kandidaten herauszufiltern, die sich täglich ein paar tausend mal einloggen möchten und dazu verschiedene Zugangsdaten probieren :grumble:
 
Zurück
Oben