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

Shell et commandes GNU Discussion :

Exclusion à partir d'une liste


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de pony99
    Femme Profil pro
    Inscrit en
    Mars 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 161
    Par défaut Exclusion à partir d'une liste
    Bonjour,

    Bon, le titre n'est pas explicite, mais je ne trouve pas mieux pour le moment.

    Via un script je récupère des adresses ip d'un fichier log, ip qui tentent de se connecter à des serveurs (tentatives d'intrusion)
    je vais appelé cette liste : ListeA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    exemple ListeA
    13.55.66.23
    123.698.654.78
    62.33.698.45
    456.785.254.85
    192.168.1.12
    10.25.24.87

    seulement, ces tentatives, ne sont pas toutes des tentatives d'intrusions, il y aussi des utilisateurs qui se plantent de mot de passe et/ou login, donc, il ne faut les prendre en compte, les adresse IP de ces utilisateurs est connu
    J'appel cette liste : ListeB

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    exemple ListeB :
    192.168
    10.25.24
    La question est, comment faire pour exclure la listeB de la listeA ?
    Je sais que c'est faisable avec une boucle While ou autre, mais il y a t-il une commande plus simple, avec grep par exemple ?

    Merci de votre réponse

  2. #2
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 291
    Par défaut
    Bonjour

    Le titre est très explicite et la solution est trivialement connue.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -v -f ListeB ListeA
    L'option "-v" inverse le filtre. (Donc "exclut" au lieu de "sélectionner")
    L'option "-f" prend en entrée une liste (un fichier) de motifs au lieu d'un motif seul.

    Le seul obstacle que je vois, serait, peut-être, de bien formater ta ListeB qui contient des regex.
    Et là, ce n'est pas trivial.

    2 évidences:
    • 192.168.10.25 sélectionnera 192.168.10.25 mais aussi 192.168.10.254
      Et 10.24.13 sélectionnera 10.24.13.16 mais aussi 16.10.24.13
    • Le point désigne n'importe quel caractère. Pas forcément un point.


    Il faut remplacer . par \..
    Avec sed, par exemple.
    Et utiliser ^ et $ pour désigner le début de ligne et la fin de ligne dans ta regex.

Discussions similaires

  1. Nouveau "recordset" a partir d'une liste !!!
    Par AngelsGuardian dans le forum Access
    Réponses: 1
    Dernier message: 01/11/2005, 20h46
  2. Réponses: 32
    Dernier message: 22/09/2005, 10h40
  3. Réponses: 3
    Dernier message: 19/05/2005, 17h52
  4. Réponses: 3
    Dernier message: 25/04/2005, 15h26
  5. Trouver equation à partir d'une liste de points
    Par scarabee dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 27/05/2004, 17h05

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