IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

python vitesse d'execution


Sujet :

Python

  1. #21
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    ok, alors méfiance parceque déjà sur le principe c'est un peu limite, mais en faisant ça chaque tentative génère une ligne de log sur le serveur, il n'y a rien de plus facile à détecter qu'une tentative de bruteforce et le cas échéant, à parer (bannissements temporaires ou non, automatiques ou non avec des outils comme Fail2Ban par exemple, et y compris arsenal juridique)

  2. #22
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 72
    Par défaut
    comment je fais, Julien, avec ton algorithme si je ne donne que 2 lettres mais que je veux qu'il teste les combinaisons de mots avec plus de 2 lettres.
    Exemple:
    Je donne "a" et "b" et le mot qu'il doit trouver est "abbabab".
    Comment modifier l'algorithme pour cela?

  3. #23
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 72
    Par défaut
    D'accord BufferBob, je pense que je vais créer un petit site et l'héberger afin de tester mon script et de l'améliorer au maximum.

  4. #24
    Membre émérite

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 662
    Par défaut
    Citation Envoyé par stinng Voir le message
    comment je fais, Julien, avec ton algorithme si je ne donne que 2 lettres mais que je veux qu'il teste les combinaisons de mots avec plus de 2 lettres.
    Exemple:
    Je donne "a" et "b" et le mot qu'il doit trouver est "abbabab".
    Comment modifier l'algorithme pour cela?
    Eh bien pour cela il suffirait de modifier le nombre de répétitions dans l'appel à product:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for combination in product(letters, repeat=10):
        print(combination)
    Soit en totalité:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    from itertools import product
    import connexion
     
    letters = ['a', 'b']
    word_start = 'a'
    nb_max_letters = 10
     
    while True:
        for i in range(1, nb_max_letters + 1, 1):
            for combination in product(letters, repeat=i):
                word = word_start + ''.join(combination)
                if connexion.connexion(word):
                    break
        # Break the infinite loop even if not found
        break
    BufferBob a raison, le brute-force c'est la solution la plus simple a mettre en oeuvre et donc presque toujours bloquée (après trois tentatives le site bloque le compte par exemple). Ici je suppose que le but est pédagogique donc je te conseillerais de jeter un œil au livre Violent Python qui est illustré d'exemple assez sympas.

    J

  5. #25
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 72
    Par défaut
    merci pour le code Julien, je vais regarder ce livre. Je vais essayer de travailler sur l'optimisation du programme comme ça les prochains programmes que je ferais je saurais comment faire.

  6. #26
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 72
    Par défaut
    j'ai regardé dans le livre qui est d'ailleurs très intéressant et j'ai trouvé un script pour trouver le mot de passe d'un fichier zip.
    voici le code que je vais essayer de combiner avec mon code précédent donc je n'aurais plus le problème de la connexion:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    import zipfile
    from threading import Thread
    def extractFile(zFile, password):
        try:
            zFile.extractall(pwd=password)
            print('[+] Found password ' + password + '\n')
        except:
            pass
    def main():
        zFile = zipfile.ZipFile('test.zip')
        passFile = open('dictionnary.txt',"r")
     
        for line in passFile.readlines():
            password = line.strip('\n')
            t = Thread(target=extractFile, args=(zFile, password))
            t.start()
     
    if __name__ == '__main__':
        main()
    cependant j'ai un problème car ce script ne fait rien, il n'extrait pas le fichier, alors que le bon mot de passe est dans le fichier dictionnary. Il n'envoit pas non plus de message d'erreur.

  7. #27
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 757
    Par défaut
    Salut,

    Citation Envoyé par stinng Voir le message
    cependant j'ai un problème car ce script ne fait rien, il n'extrait pas le fichier, alors que le bon mot de passe est dans le fichier dictionnary. Il n'envoit pas non plus de message d'erreur.
    Ben, vous pourriez ajouter des "print" pour voir ou le code passe et pourquoi il ne passe pas là où vous vous attendiez à le voir passer.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. vitesse d'execution Sql server 2005
    Par Erwan56 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 30/01/2007, 14h37
  2. Problème de vitesse d'execution
    Par Samyhijodelaluna dans le forum MFC
    Réponses: 31
    Dernier message: 17/05/2006, 11h41
  3. Réponses: 3
    Dernier message: 16/10/2005, 13h43
  4. [Language]Calculer Vitesse d'execution
    Par schneiderj dans le forum Langage
    Réponses: 12
    Dernier message: 27/04/2005, 20h43
  5. vitesse d'execution
    Par bakonu dans le forum OpenGL
    Réponses: 15
    Dernier message: 07/05/2004, 11h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo