Advertisement
DD3AH

mask apache log

Apr 29th, 2025
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.32 KB | None | 0 0
  1. #!/usr/bin/python3
  2.  
  3. import ipaddress
  4. import re
  5.  
  6. # erzeuge dict für die Nummern
  7. n={}
  8.  
  9. #  erzeuge dict für die IP
  10. a={}
  11.  
  12. # lese Logfile
  13. with open('/var/log/apache2/access.log', 'r') as file:
  14.     for line in file:
  15.         #lese IP
  16.         ip=(re.search("^[^ ]*", line))[0]
  17.  
  18.         if ip == "202.61.224.86" :
  19.             continue
  20.  
  21.         #erzeuge Adresse
  22.         addr=ipaddress.ip_address(ip)
  23.         if addr.version == 4 :
  24.             intmask = 2^16-1
  25.             mask = '/16'
  26.         else :
  27.             intmask = 2^64-1
  28.             mask = '/64'
  29.  
  30.         #erzeuge maskierte Adresse
  31.         ipmasked=int(addr) & intmask
  32.  
  33.         #erzeuge Netz
  34.         net = ipaddress.ip_network(ip+mask, strict=False)
  35.         net0 = net[0]
  36.  
  37.         #Netz existiert noch nicht?
  38.         if (not (int(net0) in n)) :
  39.         #       lege Netz an
  40.             n[int(net0)]=1
  41.             a[int(net0)]={}
  42.            
  43.         #Adresse existiert noch nicht?
  44.         if (not (ipmasked in (a[int(net0)]))) :
  45.         #       lege Adresse an
  46.             a[int(net0)][ipmasked]=n[int(net0)]
  47.             n[int(net0)] = n[int(net0)] + 1
  48.            
  49.         #lese Nummer der Adresse
  50.         num=a[int(net0)][ipmasked]
  51.  
  52.         #ersetze IP mit Netz und Nummer
  53.         print (re.sub("^[^ ]*", str(net[num]), line), end="")
  54.        
  55.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement