Hello.

I am writing a script to parse my logfiles to monitor sshd attempted
logins. I know I'm reinventing the wheel, but it's something I want
to do. The problem I am having is that upon the 4th or 5th pass in my
for statement I recieve an error
AttributeError: 'NoneType' object has no
attribute 'group'When I tested against a smaller
version of my logs that contained roughly 8 ip's (one ip appears 6
times another 2) it works fine without the AttributeError.

My question is if it is in my implementation of RE or could it be a
memory issue?

This is a sample of what the log looks like [code:1:eaa2962442]
Dec 25 11:30:17 linux sshd[2198]: Received
disconnect from ::ffff:200.91.12.4: 11: Bye Bye
Dec 25 11:30:18 linux sshd[2199]:
input_userauth_request: illegal user sibylla
Dec 25 11:30:18 linux sshd[2199]: Could not
reverse map address 200.91.12.4.
Dec 25 11:30:18 linux sshd[2199]: Failed password
for illegal user sibylla from ::ffff:200.91.12.4 port
55697 ssh2[/code:1:eaa2962442]

Actual script[code:1:eaa2962442]
import re, string

def main():
        match = 'Failed password for illegal user'
        pattern = re.compile(match)
        f = open('xaf', 'r')
                
        instance = 0
        for line in f:
                if pattern.findall(line):
                        this = re.sub(
r'^([a-zA-Z]+)\s*([0-9]+)\s*([0-9]+):([0-9]+):([0-9]+)\s*([a-z]+)\s*([a-z]+)\s*([^0-9]+)\s*([0-9]+)\s*([^0-9]+)',
'', line, 1)            

                        ip =
re.match(r'^(?P<ip>([0-9]+).([0-9]+).([0-9]+).([0-9]))',
this)           
                
                        of = open("out.txt", 'a')
                        print ip.group('ip')
                        instance = instance + 1
                        of.close() 
        f.close()

        if instance != 0:
                print "%s match(s) found for Failed password for
illegal user" % instance


if __name__ == "__main__":
        main()
[/code:1:eaa2962442]

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to