APORTE. Analizador de diccionarios

Iniciado por rakanishux, Diciembre 17, 2018, 12:13:20 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Diciembre 17, 2018, 12:13:20 PM Ultima modificación: Diciembre 17, 2018, 01:20:12 PM por ANTRAX
Buenas, soy muy novato en Python pero he logrado crear un analizador de diccionarios para saber si es viable para ataques WPA y para saber el tipo de passwords que contiene, realmente no encontre uno por la red asi que pense que seria util. Son bienvenidos a mejorarlo y eficientizarlo si asi lo desean.

Espero sus opiniones y mejoras

Código: python
from io import open
import string


grande=0
grande2=0
grande3=0
grande4=0
grande5=0
grande6=0
palabras=0
mayu=0
alfa=0
letras=0
signo=0
digit=0
peque=0
f = open("dic.txt","r",errors = 'ignore')
invalidChars = set(string.punctuation.replace("_", ""))
for line in f.readlines():
    palabras+=1
    if line[-1] == "\n":
        line = line[:-1]
        if len(line)<=7:
            peque+=1
        if len(line)== 8:
            grande+=1
        if len(line)== 9:
            grande2+=1
        if len(line)== 10:
            grande3+=1
        if len(line)== 11:
            grande4+=1
        if len(line)== 12:
            grande5+=1
        if len(line)> 12:
            grande6+=1
        if line.islower() == False:
            mayu+=1
        if line.isalpha() == True:
            letras+=1
        if line.isdigit() == True:
            digit+=1
        if (line.isdigit() == False) and (line.isalpha()) == False:           
            alfa+=1
        if any(char in invalidChars for char in line):
            signo+=1
print("ANALISIS DEL DICCIONARIO")
print("---------------------------------------")
print("Cantidad de Passwords-> ",palabras)
print("---------------------------------------")
print("Con menos de 8 caracteres-> {:.2f}".format((peque/palabras)*100),"%")
print("Con de 8 caracteres-> {:.2f}".format((grande/palabras)*100),"%")
print("Con de 9 caracteres-> {:.2f}".format((grande2/palabras)*100),"%")
print("Con de 10 caracteres-> {:.2f}".format((grande3/palabras)*100),"%")
print("Con de 11 caracteres-> {:.2f}".format((grande4/palabras)*100),"%")
print("Con de 12 caracteres-> {:.2f}".format((grande6/palabras)*100),"%")
print("Con mas de 12 caracteres-> {:.2f}".format((grande5/palabras)*100),"%")
print("---------------------------------------")
print("Solo letras-> {:.2f}".format((letras/palabras)*100),"%")
print("Solo numeros-> {:.2f}".format((digit/palabras)*100),"%")
print("Alfanumerico-> {:.2f}".format((alfa/palabras)*100),"%")
print("Con mayusculas-> {:.2f}".format((mayu/palabras)*100),"%")
print("Con signo-> {:.2f}".format((signo/palabras)*100),"%")
if ((peque/palabras)*100) > 20:
    print("NOTA: DICIONARIO NO ES RECOMENDADO PARA ATAQUE WPA")
else:
print("NOTA: DICIONARIO PUEDE USARSE PARA ATAQUE WPA")
print("---------------------------------------")
print("FIN DEL ANALISIS")

f.close()
input("Press enter to exit ")


Link: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

bueno yo tambien estoy empezando en py y por lo visto el diccionario tiene que estar en el mismo directorio con el nombre dic.txt para usar python y obtener los resultados en la misma shell.