Aide en bash sur cherche et trouve une chaine de car

Résolu
marco -  
 marco -
Bonjour à tous,

J'ai un cas d'école, et je n'arrive pas à m'en sortir.

Probléme:
Dans /var/log/messages, j'ai des log de iptables qui me remontent mes drop

Je souhaiterai creer un fichier qui extrait toutes les 10 minutes les IP SRC nommées par SRC= et leurs destinations nommées par DST=

MAIS uniquement ces 2 informations doivent apparaitre dans mon fichier texte sur une seule ligne...et à la ligne suivante, le 2eme drop et ainsi de suite.

Est-ce que quelqu'un connaitrait le bash pour me dépanner?

Merci pour votre aide

4 réponses

  1. MyTux Messages postés 228 Statut Membre 44
     
    Bonjour,

    Peux - tu nous fournir une ou deux lignes d'examples?

    Bien à toi,
    MyTux.
    0
    1. marco
       
      Hello MyTux,

      Voici une partie de 2 lignes, car mon putty est trop petit, mais ce qui il y a apres l'ip de DST ne m'interesse pas à afficher.
      J'aimerai dans un fichier texte, uniquement la date, SRC=xxx.xxx.xxx.xxx et DST=xxx.xxx.xxx.xxx

      Merci pour ton aide

      Mar 26 16:48:24 localhost kernel: [ 2913.128018] DANGER IN=monbridge OUT=monbridge PHYSIN=eth0 PHYSOUT=eth1 SRC=192.168.0.240 DST=xxx.xxx.xxx.xxx LEN=186 TOS=$

      Mar 26 16:48:29 localhost kernel: [ 2917.948748] DANGER IN=monbridge OUT=monbridge PHYSIN=eth0 PHYSOUT=eth1 SRC=192.168.0.240 DST=xxx.xxx.xxx.xxx LEN=186 TOS=$
      0
  2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    $ cat plop 
    Mar 26 16:48:24 localhost kernel: [ 2913.128018] DANGER IN=monbridge OUT=monbridge PHYSIN=eth0 PHYSOUT=eth1 SRC=192.168.0.240 DST=xxx.xxx.xxx.xxx LEN=186 TOS=$
    
    Mar 26 16:48:29 localhost kernel: [ 2917.948748] DANGER IN=monbridge OUT=monbridge PHYSIN=eth0 PHYSOUT=eth1 SRC=192.168.0.240 DST=xxx.xxx.xxx.xxx LEN=186 TOS=$
    
    $ egrep -o '^[[:alpha:]]*[^[:alpha:]]*|SRC=[^L]*' plop | sed 'N;s/\n/ /'
    Mar 26 16:48:24  SRC=192.168.0.240 DST=xxx.xxx.xxx.xxx 
    Mar 26 16:48:29  SRC=192.168.0.240 DST=xxx.xxx.xxx.xxx 
    
    $ 

    0
  3. marco
     
    Hello Zip31,

    Ton script fonctionne à merveille, mais il m'affiche encore des lignes avec uniquement des dates.
    Pourrais tu ajouter une 3eme condition, qui serait le mot DANGER

    Si ligne contient DANGER, alors on affiche la date, SRC= et DST=

    Merci pour ton aide
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      On change d'outil :

      $ awk '/DANGER/ { print $1,$2,$3,$13,$14 }' plop 
      Mar 26 16:48:24 SRC=192.168.0.240 DST=xxx.xxx.xxx.xxx
      Mar 26 16:48:29 SRC=192.168.0.240 DST=xxx.xxx.xxx.xxx
      0
  4. marco
     
    Super merci Zipe31 pour ton aide, cela fonctionne super :-)
    Merci
    0