Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

[gelöst] filtern mit regulären Ausdrücken

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
K4m1K4tz3
Advanced Hacker
Advanced Hacker
Beiträge: 987
Registriert: 19. Jan 2005, 13:54
Kontaktdaten:

[gelöst] filtern mit regulären Ausdrücken

Beitrag von K4m1K4tz3 » 15. Feb 2011, 21:15

Hi,

ich weiß nicht wo es am besten hinpasst, dachte aber hier kennt man sich damit noch am besten aus.

Ich habe folgendes Problem: ich möchte meine logs mit logchick filtern und zu mir schicken. Da jedoch regelmäßig irgendwelche w00tw00t.at.ISC.SANS.DFind scans stattfinden, möchte ich mir eine Regel definieren, die diese Zeilen herausfiltert und mir eben nicht schickt.

Eine Zeile sieht in etwa so aus:

Code: Alles auswählen

[Tue Feb 15 16:47:26 2011] [error] [client xxx.xxx.xxx.xxx] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:)
Ich scheitere an dem Übergang zwischen [client xxx.xxx.xxx.xxx] (x sind natürlich Zahlen) und client sent ...
Nutze ich \[client [.[:digit:]\] funktioniert es. füge ich ein client hinzu, dann funktioniert es nicht mehr: \[client [.[:digit:]\] client

(getestet mit egrep)
Zuletzt geändert von K4m1K4tz3 am 15. Feb 2011, 21:47, insgesamt 1-mal geändert.
Mein System: SUSE 11.4, x86_64, KDE 4.6

Mein Jabber: masterunderlined@jabber.ccc.de

Werbung:
K4m1K4tz3
Advanced Hacker
Advanced Hacker
Beiträge: 987
Registriert: 19. Jan 2005, 13:54
Kontaktdaten:

Re: filtern mit regulären Ausdrücken

Beitrag von K4m1K4tz3 » 15. Feb 2011, 21:47

Hab ein Sternchen vergessen ...

[].[:digit:]]* client
Mein System: SUSE 11.4, x86_64, KDE 4.6

Mein Jabber: masterunderlined@jabber.ccc.de

Benutzeravatar
Herz-von-Hessen
Guru
Guru
Beiträge: 1553
Registriert: 23. Jun 2009, 21:29
Wohnort: Zuhause
Kontaktdaten:

Re: filtern mit regulären Ausdrücken

Beitrag von Herz-von-Hessen » 15. Feb 2011, 21:55

Hallo K4m1K4tz3,
K4m1K4tz3 hat geschrieben:Ich habe folgendes Problem: ich möchte meine logs mit logchick filtern und zu mir schicken.
  • Was ist logchik oder meinst Du /etc/logcheck
    Wo liegen die Logdateien die Du filtern möchtest?
    Wie heißen die Dateien?
    Wonach soll gesucht werden und wonach explizit nicht?
K4m1K4tz3 hat geschrieben:Da jedoch regelmäßig irgendwelche w00tw00t.at.ISC.SANS.DFind scans stattfinden, möchte ich mir eine Regel definieren, die diese Zeilen herausfiltert und mir eben nicht schickt.
Das macht grep mit dem Parameter -v ,dieser entfernt Zeilen in denen der angegebene String vorkommt. Siehe → man grep in der Konsole.

Code: Alles auswählen

grep -v "w00tw00t.at.ISC.SANS.DFind scans" /Pfad/zur/Logdatei/Logdatei.log 
Schickt...dann nach /dev/null senden lassen.
K4m1K4tz3 hat geschrieben:Ich scheitere an dem Übergang zwischen [client xxx.xxx.xxx.xxx] (x sind natürlich Zahlen) und client sent ...
Nutze ich \[client [.[:digit:]\] funktioniert es. füge ich ein client hinzu, dann funktioniert es nicht mehr: \[client [.[:digit:]\] client
Wenn Du nur den String w00tw00t.at.ISC.SANS.DFind scans entfernen willst, aber den Rest der Zeile behalten möchtest wird es etwas mehr Arbeit, aber kein Hexenwerk.

Code: Alles auswählen

grep SUCHSTRING|tr -"w00tw00t.at.ISC.SANS.DFind scans" /Pfad/zur/Logdatei/Logdatei.log"
oder ähnlich.
lieben Gruß aus Hessen
Asus P8H77V/ Intel Core i5, 3.10GHz | 8.0gb RAM | NVIDIA GeForce GTX 650 Ti Boost 2GB | Arch-Linux| arch-desktop 4.7.6-1-ARCH | Plasma: 5.8.0.1| HP Officejet Pro 8620

K4m1K4tz3
Advanced Hacker
Advanced Hacker
Beiträge: 987
Registriert: 19. Jan 2005, 13:54
Kontaktdaten:

Re: [gelöst] filtern mit regulären Ausdrücken

Beitrag von K4m1K4tz3 » 16. Feb 2011, 10:17

Das ganze hat sich schon erledigt. Natürlich meinte ich logcheck.

Mein Problem bestand darin einen Filter zu bauen der die richtigen Zeilen findet. Ich habe aber vergessen anzugeben, dass mehrere dieser Zeichen in einem String vorkommen können. Daher das Sternchen, was vorher fehlte.

Das ganze kann man mit egrep -f filterdatei logdatei testen. Dabei sollte egrep nur die Zeilen ausspucken, welche man herausgefiltert haben möchte.
Mein System: SUSE 11.4, x86_64, KDE 4.6

Mein Jabber: masterunderlined@jabber.ccc.de

Antworten