[ Foro de Python ]

ayuda datetime y timedelta

28-Apr-2018 10:36
Invitado (cristian)
0 Respuestas

hola buenas, tengo este codigo para comprobar el numero de intentos fallidos que una ip intenta acceder entre dos intervalos de iempo concretos. me gustaria hacer que compruebe los intentos fallidos que ha habido en 5minutos por ejemplo a lo largo de todo el fichero.

#!/usr/bin/env python
#-*- coding: utf-8 -*-
from datetime import datetime
import time

# Ejemplo formato de funcion: ana('Nov 24 05:45:22','Nov 26 05:45:22', 12)
def ana(fechainicio, fechafinal, nrepeticiones):

ficherolog = open ('auth.log', 'r')
fechainicio=datetime.strptime(fechainicio,'%b %d %H:%M:%S')
fechafinal=datetime.strptime(fechafinal,'%b %d %H:%M:%S')
ipfalladas=[]
iprepetida=[]
for linea in ficherolog.readlines():
if 'authentication failure' in linea:
li=linea.split()
sfe = li[0]+li[1]+li[2]
fe = datetime.strptime(sfe,'%b%d%H:%M:%S')
for ele in li:
if 'rhost' in ele:
ip = ele[6:]
if fe >= fechainicio and fe <= fechafinal:
ipfalladas.append(ip)
for ip in ipfalladas:
if ipfalladas.count(ip)>=nrepeticiones:
if ip not in iprepetida:
iprepetida.append(ip)

return iprepetida
ficherolog.close()




Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...