Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gmolveau
GitHub Repository: gmolveau/python_full_course
Path: blob/master/exercices/parse_auth_log.py
305 views
1
users, ips = {}, {}
2
3
with open("auth.log") as log_file:
4
for log in log_file.readlines():
5
ip, user = "", ""
6
log_data = log.split('\n')[0].split(": ")[1].split(" ")
7
if "Failed password" in log:
8
if "message repeated" not in log:
9
if "invalid user" in log:
10
ip = log_data[7]
11
user = log_data[5]
12
else:
13
ip = log_data[5]
14
user = log_data[3]
15
elif "Invalid user" in log:
16
ip = log_data[4]
17
user = log_data[2]
18
ips[ip] = ips.get(ip, 0) + 1
19
users[user] = users.get(user, 0) + 1
20
21
for ip, count in ips.items():
22
print(f"ip: {ip} seen {count} times")
23
for user, count in users.items():
24
print(f"user: {user} seen {count} times")
25