Ich bin erstaunt wie sehr ich in den Jahren eingerostet bin, was Python betrifft.
Gerne würde ich die Logdatei meiner Firewall nach einem String z.B. "SPT=" durchsuchen.
Den folgenden Text für 5 Zeichen ausgeben.
Sinn dahinter.
Die Logdatei hat schon über 1000 Einträge über Ports die durch die Firewall geblockt werden.
Teilweise auch doppelt (Das bekomme ich aber schon hin)
Die gesperrte Ports, würde ich mir gerne anzeigen lassen.
Auszug aus meiner logDatei:
Code: Alles auswählen
Mar 11 10:21:53 nextcloudpi kernel: [17488.543867] [UFW BLOCK] IN=eth0 OUT= MAC=XXXX SRC=192.168.1.4 DST=192.168.1.30 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=20855 DF PROTO=TCP[b] SPT=36194[/b] DPT=2010 WINDOW=490 RES=0x00 ACK FIN URGP=0
Mar 11 10:21:55 nextcloudpi kernel: [17490.303950] [UFW BLOCK] IN=eth0 OUT= MAC=XXXX SRC=192.168.1.4 DST=192.168.1.30 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=20856 DF PROTO=TCP [b]SPT=31243[/b] DPT=2010 WINDOW=490 RES=0x00 ACK FIN URGP=0
Mar 11 10:22:19 nextcloudpi kernel: [17515.004099] [UFW BLOCK] IN=eth0 OUT= MAC=XXXX SRC=192.168.1.4 DST=192.168.1.30 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=20859 DF PROTO=TCP [b]SPT=37890[/b] DPT=2010 WINDOW=490 RES=0x00 ACK FIN URGP=0
Hier mein bisheriger Code:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import re
logfile = open("c:\\users\\lx\\desktop\\ufw.log", "r") # oeffnen der datei
logfileinhalt = logfile.readlines() # einlesen des der logdatei
logfile.close() # schliessen der datei
def check_ufw():
with open ("c:\\users\\lx\\desktop\\ufw.log") as logTemp:
datafile = logTemp.readlines()
for line in datafile:
if "SPT" in line:
print (line)
check_ufw()