Aide en bash sur cherche et trouve une chaine de car

Résolu/Fermé
marco - 26 mars 2013 à 15:55
 marco - 26 mars 2013 à 18:35
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

MyTux Messages postés 222 Date d'inscription mardi 29 janvier 2008 Statut Membre Dernière intervention 26 mars 2013 44
26 mars 2013 à 15:57
Bonjour,

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

Bien à toi,
MyTux.
0
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
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
26 mars 2013 à 17:19
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
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
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
26 mars 2013 à 18:23
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
Super merci Zipe31 pour ton aide, cela fonctionne super :-)
Merci
0