j'essaie de trier un log volumineux.
La trace est un log d'iptables sur systeme linux. Les lignes sont
du genre:
Nov 3 16:20:58 slackware kernel: requete vers named IN=eth1 OUT=
MAC=00:b0:d0:16:aa:ff:00:80:ae:e3:6f:97:08:00 SRC=210.224.186.4
DST=69.35.20.230 LEN=71 TOS=0x00 PREC=0x00 TTL=50 ID=0 DF PROTO=UDP
SPT=61528 DPT=53 LEN=51
Nov 3 16:20:58 slackware kernel: requete vers named IN=eth1 OUT=
MAC=00:b0:d0:16:aa:ff:00:80:ae:e3:6f:97:08:00 SRC=212.162.1.194
DST=69.35.20.230 LEN=71 TOS=0x00 PREC=0x00 TTL=55 ID=0 DF PROTO=UDP
SPT=60978 DPT=53 LEN=51
Nov 3 16:20:58 slackware kernel: requete vers named IN=eth1 OUT=
MAC=00:b0:d0:16:aa:ff:00:80:ae:e3:6f:97:08:00 SRC=216.73.84.10
DST=69.35.20.230 LEN=71
Je cherche a trier selon l'argument SRC=
Je connais un peu sort, uniq, mais la, je ne vois pas trop comment faire
j'ai un peu de mal. sort a une option +POS1 -POS2, mais je ne
comprends pas trop son action. Je me trompe d'outil peut etre?
Merci
--
Kevin
Tu disais que quoi pouvais faire tomber le reseau?
-+- Les 100 choses que vous n'aimez pas entendre de la part du sysadmin -+-
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Ian
Kevin DENIS wrote:
bonjour,
j'essaie de trier un log volumineux. La trace est un log d'iptables sur systeme linux. Les lignes sont du genre: Nov 3 16:20:58 slackware kernel: requete vers named IN=eth1 OUT= MAC :b0:d0:16:aa:ff:00:80:ae:e3:6f:97:08:00 SRC!0.224.186.4 DSTi.35.20.230 LENq TOS=0x00 PREC=0x00 TTLP ID=0 DF PROTO=UDP SPTa528 DPTS LENQ Nov 3 16:20:58 slackware kernel: requete vers named IN=eth1 OUT= MAC :b0:d0:16:aa:ff:00:80:ae:e3:6f:97:08:00 SRC!2.162.1.194 DSTi.35.20.230 LENq TOS=0x00 PREC=0x00 TTLU ID=0 DF PROTO=UDP SPT`978 DPTS LENQ Nov 3 16:20:58 slackware kernel: requete vers named IN=eth1 OUT= MAC :b0:d0:16:aa:ff:00:80:ae:e3:6f:97:08:00 SRC!6.73.84.10 DSTi.35.20.230 LENq
Je cherche a trier selon l'argument SRC > Je connais un peu sort, uniq, mais la, je ne vois pas trop comment faire j'ai un peu de mal. sort a une option +POS1 -POS2, mais je ne comprends pas trop son action. Je me trompe d'outil peut etre?
Merci
Bonjour,
Toutes tes lignes semblent avoir le même format. Si ton problème est de compter le nombre d'occurences d'une adresse dans le champ "SRC=", je ferais çà avec Awk.
cordialement,
Ian.
Kevin DENIS wrote:
bonjour,
j'essaie de trier un log volumineux.
La trace est un log d'iptables sur systeme linux. Les lignes sont
du genre:
Nov 3 16:20:58 slackware kernel: requete vers named IN=eth1 OUT=
MAC :b0:d0:16:aa:ff:00:80:ae:e3:6f:97:08:00 SRC!0.224.186.4
DSTi.35.20.230 LENq TOS=0x00 PREC=0x00 TTLP ID=0 DF PROTO=UDP
SPTa528 DPTS LENQ
Nov 3 16:20:58 slackware kernel: requete vers named IN=eth1 OUT=
MAC :b0:d0:16:aa:ff:00:80:ae:e3:6f:97:08:00 SRC!2.162.1.194
DSTi.35.20.230 LENq TOS=0x00 PREC=0x00 TTLU ID=0 DF PROTO=UDP
SPT`978 DPTS LENQ
Nov 3 16:20:58 slackware kernel: requete vers named IN=eth1 OUT=
MAC :b0:d0:16:aa:ff:00:80:ae:e3:6f:97:08:00 SRC!6.73.84.10
DSTi.35.20.230 LENq
Je cherche a trier selon l'argument SRC > Je connais un peu sort, uniq, mais la, je ne vois pas trop comment faire
j'ai un peu de mal. sort a une option +POS1 -POS2, mais je ne
comprends pas trop son action. Je me trompe d'outil peut etre?
Merci
Bonjour,
Toutes tes lignes semblent avoir le même format. Si ton problème est
de compter le nombre d'occurences d'une adresse dans le champ "SRC=", je
ferais çà avec Awk.
j'essaie de trier un log volumineux. La trace est un log d'iptables sur systeme linux. Les lignes sont du genre: Nov 3 16:20:58 slackware kernel: requete vers named IN=eth1 OUT= MAC :b0:d0:16:aa:ff:00:80:ae:e3:6f:97:08:00 SRC!0.224.186.4 DSTi.35.20.230 LENq TOS=0x00 PREC=0x00 TTLP ID=0 DF PROTO=UDP SPTa528 DPTS LENQ Nov 3 16:20:58 slackware kernel: requete vers named IN=eth1 OUT= MAC :b0:d0:16:aa:ff:00:80:ae:e3:6f:97:08:00 SRC!2.162.1.194 DSTi.35.20.230 LENq TOS=0x00 PREC=0x00 TTLU ID=0 DF PROTO=UDP SPT`978 DPTS LENQ Nov 3 16:20:58 slackware kernel: requete vers named IN=eth1 OUT= MAC :b0:d0:16:aa:ff:00:80:ae:e3:6f:97:08:00 SRC!6.73.84.10 DSTi.35.20.230 LENq
Je cherche a trier selon l'argument SRC > Je connais un peu sort, uniq, mais la, je ne vois pas trop comment faire j'ai un peu de mal. sort a une option +POS1 -POS2, mais je ne comprends pas trop son action. Je me trompe d'outil peut etre?
Merci
Bonjour,
Toutes tes lignes semblent avoir le même format. Si ton problème est de compter le nombre d'occurences d'une adresse dans le champ "SRC=", je ferais çà avec Awk.
cordialement,
Ian.
Antoine Bellot
Kevin DENIS a écrit:
bonjour,
j'essaie de trier un log volumineux. Je me trompe d'outil peut etre?
Ce que tu cherches à faire peut se faire avec de très nombreux outils capables de traiter des fichiers ligne par ligne, mais l'immense majorité d'entre eux utilisent les "expressions régulières/rationnelles" ("regexp", "regular expressions") pour trier certaines lignes parmi d'autres, en une ligne ou une partie d'une ligne est "conforme" ("matches") à un "modèle" ("pattern", "pattern matching" en anglais pour Google/man). D'ailleurs, une fois qu'on sait trier des logs, trier le mail ou les news sans outil dédié devient facile.
Typiquement, perl, sed et awk sont les outils les plus utilisés pour ce que tu cherches à faire. Il existe un livre utile chez O'Reilly dénommé "Sed & Awk" consacré au sujet, dont une version téléchargeable en ligne existait à une certaine époque je ne sais plus où, dont le chapitre 3 est entièrement consacré aux expressions régulières et à leur syntaxe.
Un petit tutorial sur la syntaxe des expressions régulières est là :
à mon humble avis, une fois les principes généraux des expressions régulières comprises, apprendre awk et l'appliquer rapidement à un cas concret est simple et rapide. Sinon, tu peux éventuellement passer directement à des outils plus complexes au goût de ta chapelle : Perl, Python, Ruby, et tant d'autres.
Bon courage.
-- Antoine Bellot Non, je ne suis pas monomaniaque avec les regexps.
Kevin DENIS a écrit:
bonjour,
j'essaie de trier un log volumineux.
Je me trompe d'outil peut etre?
Ce que tu cherches à faire peut se faire avec de très nombreux outils
capables de traiter des fichiers ligne par ligne, mais l'immense
majorité d'entre eux utilisent les "expressions régulières/rationnelles"
("regexp", "regular expressions") pour trier certaines lignes parmi
d'autres, en une ligne ou une partie d'une ligne est "conforme"
("matches") à un "modèle" ("pattern", "pattern matching" en anglais pour
Google/man). D'ailleurs, une fois qu'on sait trier des logs, trier le
mail ou les news sans outil dédié devient facile.
Typiquement, perl, sed et awk sont les outils les plus utilisés pour ce
que tu cherches à faire. Il existe un livre utile chez O'Reilly dénommé
"Sed & Awk" consacré au sujet, dont une version téléchargeable en ligne
existait à une certaine époque je ne sais plus où, dont le chapitre 3
est entièrement consacré aux expressions régulières et à leur syntaxe.
Un petit tutorial sur la syntaxe des expressions régulières est là :
à mon humble avis, une fois les principes généraux des expressions
régulières comprises, apprendre awk et l'appliquer rapidement à un cas
concret est simple et rapide. Sinon, tu peux éventuellement passer
directement à des outils plus complexes au goût de ta chapelle : Perl,
Python, Ruby, et tant d'autres.
Bon courage.
--
Antoine Bellot
Non, je ne suis pas monomaniaque avec les regexps.
j'essaie de trier un log volumineux. Je me trompe d'outil peut etre?
Ce que tu cherches à faire peut se faire avec de très nombreux outils capables de traiter des fichiers ligne par ligne, mais l'immense majorité d'entre eux utilisent les "expressions régulières/rationnelles" ("regexp", "regular expressions") pour trier certaines lignes parmi d'autres, en une ligne ou une partie d'une ligne est "conforme" ("matches") à un "modèle" ("pattern", "pattern matching" en anglais pour Google/man). D'ailleurs, une fois qu'on sait trier des logs, trier le mail ou les news sans outil dédié devient facile.
Typiquement, perl, sed et awk sont les outils les plus utilisés pour ce que tu cherches à faire. Il existe un livre utile chez O'Reilly dénommé "Sed & Awk" consacré au sujet, dont une version téléchargeable en ligne existait à une certaine époque je ne sais plus où, dont le chapitre 3 est entièrement consacré aux expressions régulières et à leur syntaxe.
Un petit tutorial sur la syntaxe des expressions régulières est là :
à mon humble avis, une fois les principes généraux des expressions régulières comprises, apprendre awk et l'appliquer rapidement à un cas concret est simple et rapide. Sinon, tu peux éventuellement passer directement à des outils plus complexes au goût de ta chapelle : Perl, Python, Ruby, et tant d'autres.
Bon courage.
-- Antoine Bellot Non, je ne suis pas monomaniaque avec les regexps.