2016-03-16 5 views
-4

Donc, j'essaie d'analyser un fichier journal et d'en extraire des informations. L'une des choses que j'essaie de faire est d'extraire une liste d'adresses IP qui ont plus de 30 tentatives échouées. Dans ce cas, une tentative échouée est celle qui commence par la ligne pour laquelle le mot de passe a échoué.Python contre le fichier texte

J'ai une idée pour cela que je voulais essayer car je ne savais pas si ça allait marcher.

Si j'utilise python pour créer un compteur qui recherche le mot-clé n'a que i total et imprimer

C'est ce que j'ai jusqu'à présent

failed_line=0 
with open('blacklisttips.txt') as f2: 
    lines= f1.readlines() 
    for i, line in enumerate (lines): 
     if line.startswith(failed_line): 
      f2.write(line) 
      f2.write(lines[i+1]) 
+0

Alors, pourquoi ne pas essayer votre idée et voir ce qui se passe? – nthall

+5

'J'ai une idée' <- s'il vous plaît partager votre idée avec nous, afin que nous puissions vous montrer comment le faire fonctionner – inspectorG4dget

+1

S'il vous plaît nous montrer ce que vous avez réalisé jusqu'à présent et poser une question concise sur ce code. Vérifiez ici pour référence: http://stackoverflow.com/help/how-to-ask – flaschbier

Répondre

0

Alors que votre fichier ressemble à ceci :

failed password for 192.168.1.1 
failed password for 192.168.1.2 
... 
more similar lines 


import collections 

prefix = failed password for 
with open('path/to/file') as infile: 
    counts = collections.Counter(line.rsplit(" ",1)[1] for line in infile)