#!/usr/bin/python3
import ipaddress
import re
# erzeuge dict für die Nummern
n={}
# erzeuge dict für die IP
a={}
# lese Logfile
with open('/var/log/apache2/access.log', 'r') as file:
for line in file:
#lese IP
ip=(re.search("^[^ ]*", line))[0]
if ip == "202.61.224.86" :
continue
#erzeuge Adresse
addr=ipaddress.ip_address(ip)
if addr.version == 4 :
intmask = 2^16-1
mask = '/16'
else :
intmask = 2^64-1
mask = '/64'
#erzeuge maskierte Adresse
ipmasked=int(addr) & intmask
#erzeuge Netz
net = ipaddress.ip_network(ip+mask, strict=False)
net0 = net[0]
#Netz existiert noch nicht?
if (not (int(net0) in n)) :
# lege Netz an
n[int(net0)]=1
a[int(net0)]={}
#Adresse existiert noch nicht?
if (not (ipmasked in (a[int(net0)]))) :
# lege Adresse an
a[int(net0)][ipmasked]=n[int(net0)]
n[int(net0)] = n[int(net0)] + 1
#lese Nummer der Adresse
num=a[int(net0)][ipmasked]
#ersetze IP mit Netz und Nummer
print (re.sub("^[^ ]*", str(net[num]), line), end="")
Comments
0 B
|👍
/👎