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 :

aide pour script python


Sujet :

Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    F�vrier 2008
    Messages
    30
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2008
    Messages : 30
    Par d�faut aide pour script python
    Bonjour,
    je cherche un script en python dont le role est de m�moriser (dans la liste de chaines Utilisateurs) le nom de tous les utilisateurs ayant tent� de s'authentifier sur un serveur ftp dont le fichier de log se trouve ci joint...
    Le nom d'un utilisateur ne peut apparaitre qu'une seule fois dans la variable Utilisateurs.

    et enfin un script Python dont le role est de memoriser (dans la variable Plans), le nom de tous les fichiers (plans) concernes par les tentatives de telechargement (qu'elles aient abouti ou non).
    Pour chaque fichier, le nombre de tentatives dolt etre memorise.
    Plans sera donc un dictionnaire dont les clefs seront les noms des fichiers et les valeurs les nombre de tentatives de t�l�chargement.

    Si quelqu'un pouvait me donner des indications pour ces 2 scripts
    Merci

    fichier.log:

    (000011) 22/10/2008 14:11:09 - (not logged in) (172.20.50.33)> Connected, sending welcome message...
    (000011) 22/10/2008 14:11:09 - (not logged in) (172.20.50.33)> 220-FileZilla Server
    (000011) 22/10/2008 14:11:09 - (not logged in) (172.20.50.33)> 220-IGN
    (000011) 22/10/2008 14:11:11 - (not logged in) (172.20.50.33)> USER coco
    (000011) 22/10/2008 14:11:11 - (not logged in) (172.20.50.33)> 331 Password required for coco
    (000011) 22/10/2008 14:11:14 - (not logged in) (172.20.50.33)> PASS ******
    (000011) 22/10/2008 14:11:14 - (not logged in) (172.20.50.33)> 530 Login or password incorrect!
    (000011) 22/10/2008 14:11:14 - (not logged in) (172.20.50.33)> SYST
    (000011) 22/10/2008 14:11:14 - (not logged in) (172.20.50.33)> 215 UNIX emulated by FileZilla
    (000011) 22/10/2008 14:11:17 - (not logged in) (172.20.50.33)> PORT 172,20,50,33,140,94
    (000011) 22/10/2008 14:11:17 - (not logged in) (172.20.50.33)> 530 Please log in with USER and PASS first.
    (000011) 22/10/2008 14:11:25 - (not logged in) (172.20.50.33)> QUIT
    (000011) 22/10/2008 14:11:25 - (not logged in) (172.20.50.33)> 221 Goodbye
    (000011) 22/10/2008 14:11:25 - (not logged in) (172.20.50.33)> disconnected.
    (000012) 22/10/2008 14:11:28 - (not logged in) (172.20.50.33)> Connected, sending welcome message...
    (000012) 22/10/2008 14:11:28 - (not logged in) (172.20.50.33)> 220-FileZilla Server
    (000012) 22/10/2008 14:11:28 - (not logged in) (172.20.50.33)> 220-IGN
    (000012) 22/10/2008 14:11:30 - (not logged in) (172.20.50.33)> USER coco
    (000012) 22/10/2008 14:11:30 - (not logged in) (172.20.50.33)> 331 Password required for coco
    (000012) 22/10/2008 14:11:33 - (not logged in) (172.20.50.33)> PASS ******
    (000012) 22/10/2008 14:11:33 - coco (172.20.50.33)> 230 Logged on
    (000012) 22/10/2008 14:11:33 - coco (172.20.50.33)> SYST
    (000012) 22/10/2008 14:11:33 - coco (172.20.50.33)> 215 UNIX emulated by FileZilla
    (000012) 22/10/2008 14:11:35 - coco (172.20.50.33)> PORT 172,20,50,33,183,193
    (000012) 22/10/2008 14:11:35 - coco (172.20.50.33)> 200 Port command successful
    (000012) 22/10/2008 14:11:35 - coco (172.20.50.33)> LIST
    (000012) 22/10/2008 14:11:35 - coco (172.20.50.33)> 150 Opening data channel for directory list.
    (000012) 22/10/2008 14:11:35 - coco (172.20.50.33)> 226 Transfer OK
    (000012) 22/10/2008 14:11:43 - coco (172.20.50.33)> PORT 172,20,50,33,128,39
    (000012) 22/10/2008 14:11:43 - coco (172.20.50.33)> 200 Port command successful
    (000012) 22/10/2008 14:11:43 - coco (172.20.50.33)> RETR rouen.pln
    (000012) 22/10/2008 14:11:43 - coco (172.20.50.33)> 150 Opening data channel for file transfer.
    (000012) 22/10/2008 14:11:43 - coco (172.20.50.33)> 226 Transfer OK
    (000012) 22/10/2008 14:11:44 - coco (172.20.50.33)> QUIT
    (000012) 22/10/2008 14:11:44 - coco (172.20.50.33)> 221 Goodbye

  2. #2
    Membre exp�riment�
    Profil pro
    Inscrit en
    D�cembre 2007
    Messages
    222
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2007
    Messages : 222
    Par d�faut
    Si j'ai bien compris ce que tu veux faire, il suffit de rep�rer les lignes o� USER et RETR apparaissent dans fichier log. Il faut tout de m�me faire attention car le mot USER apparait �galement � la ligne "530 Please log in with USER and PASS first". Il y a peut �tre d'autre exception � g�rer.
    Voici un exemple:

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    listUser = []
    plans = {}
    file = open('fichier.log')
    lines = file.readlines()
    for line in lines:
        #si il y a USER dans la ligne et pas 530
        #il y a peut etre d'autre exception a verifier
        if 'USER' in line and not "530" in line:
            #recupere l'index du mot USER
            index = line.find('USER')
            #recupere le nom de l'utilisateur
            user = line[index+5:-1]
            #pour eviter les doublons
            if not user in listUser:
                listUser.append(user)
        #si il y a RETR dans la ligne
        elif 'RETR' in line:
            #recupere l'index du mot RETR
            index = line.find('RETR')
            #recupere le nom du fichier
            fileName = line[index+5:-1]
            #si le fichier est deja dans le dico
            if fileName in plans:
                #on incremente la valeur
                nbrDownload = plans[fileName]
                plans[fileName] += 1 
            #sinon on l'ajoute avec une valeur de 1
            else:
                plans[fileName] = 1
    file.close()
     
    print listUser
    print plans
    J'esp�re avoir r�pondu � ta question.

Discussions similaires

  1. aide pour script python
    Par bansan dans le forum Programmation multim�dia/Jeux
    R�ponses: 0
    Dernier message: 28/11/2008, 19h41
  2. [mIRC] besoin d'aide pour scripting
    Par emile13 dans le forum IRC / mIRC
    R�ponses: 5
    Dernier message: 03/03/2007, 00h05
  3. Aide pour script d'analyse d'�v�nements
    Par Spear- dans le forum VBScript
    R�ponses: 7
    Dernier message: 18/10/2006, 11h49
  4. aide pour script php/mysql
    Par jem27 dans le forum D�buter
    R�ponses: 18
    Dernier message: 27/03/2006, 18h08
  5. aides pour script en shell
    Par komatek dans le forum Langages de programmation
    R�ponses: 2
    Dernier message: 12/08/2003, 15h36

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