DD3AH icon

mask apache log

DD3AH | PRO | 04/29/25 07:36:11 PM UTC | 0 ⭐ | 837 👁️ | Never ⏰ | []
Python |

1.32 KB

|

None

|

0 👍

/

0 👎

#!/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

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎