Partage
  • Partager sur Facebook
  • Partager sur Twitter

Extraire adresses IP,MAC d'un fichier log

    14 novembre 2011 à 21:17:11

    Bonjour,
    Je suis nouveau sur le forum et je n'ai pas le profil de développeur.
    Je souhaite extraire des adresses ip, mac et port du log d'un routeur (un fichier texte)
    Voici un exemple:

    L1 Nov 14 11:07:07 172.19.0.31 23382553: 16w6d: %DOT11-4-CCMP_REPLAY: AES-CCMP TSC replay was detected on a packet (TSC 0xE9) received from 000c.4223.2f2b

    L2 Nov 14 11:07:07 172.17.0.20 466650: Nov 14 10:37:16: %PORT_SECURITY-2-PSECURE_VIOLATION_VLAN: Security violation on port FastEthernet2/10 due to MAC address e091.5361.25ef on VLAN 501

    L3 Nov 14 11:07:07 172.19.0.31 23382552: 16w6d: %DOT11-4-CCMP_REPLAY: AES-CCMP TSC replay was detected on a packet 000c.4223.2f2b Nov 14 06:26:14 172.17.0.61 633042:

    L4 Nov 14 06:26:14 172.17.0.61 633042: Nov 14 05:56:23: %PORT_SECURITY-2-PSECURE_VIOLATION: Security violation occurred, caused by MAC address 0022.face.1e88 on port FastEthernet1/18.


    Mon problème est que je souhaiterais extraire uniquement les adresses ip ,mac,port sur les lignes comportant la chaîne "%PORT_SECURITY..." (ligne 2 et 4) sans prendre en compte les lignes ne comportant pas cette chaine.

    En cherchant un petit peu, j'ai vu qu'on parlait de regex(expressions régulières) avec des syntaxes que je ne comprends pas.
    Pourriez-vous m'éclairer là-dessus.
    En vous remerciant.
    • Partager sur Facebook
    • Partager sur Twitter
      14 novembre 2011 à 22:56:34

      Bonjour,

      Oui je pense que les regexs sont une bonne solution. Reporte toi au tutoriel. [Lien]

      ou sinon beautifulSoup et/ou elementTree peuvent être intéressants.
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        14 novembre 2011 à 23:18:09

        >>> ligne = "L1 Nov 14 11:07:07 172.19.0.31 23382553: 16w6d: %DOT11-4-CCMP_REPLAY: AES-CCMP TSC replay was detected on a packet (TSC 0xE9) received from 000c.4223.2f2b"
        
        >>> IP = re.search("([\d]+\.[\d]+\.[\d]+\.[\d]+)", ligne)
        
        >>> print(IP.group())
        172.19.0.31
        


        Citation

        Je suis nouveau sur le forum et je n'ai pas le profil de développeur.



        C'est pour ça que je te donne le résultat directement. Cependant même si tu n'as pas le profil tu peux toujours essayer d'avoir les bases en python, histoire d'avoir une culture dans ce domaine. Après c'est toi qui voit :)
        • Partager sur Facebook
        • Partager sur Twitter

        Extraire adresses IP,MAC d'un fichier log

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown