Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/04/2020, à 12:30

jiice

Commande CUT,Sed,AWK,... pour exploitation LOG

Bonjour à tous,
Dans un premier temps je remercie par avance les personnes qui pourront m'aider.

J'explique mon problème.
Dans un fichier de log j'aimerais récupérer certains des informations jusqu'à un certains champs.
J'ai donc pensé à la commande CUT.
cependant le champs "src" qui contient une adresse IP est remplacé dans certaines lignes par le champs "packets" qui lui contient plusieurs adresses IPs (nombres pouvant être différents à chaque ligne)

J'ai remarqué qu'il y avait un champ "proto:" qui se trouvait à la suite des champs "src" ou "packets" cependant je n'ai jamais reussi à couper la fin de la ligne et à avoir les bonnes informations.

Pour aider je mets la ligne avec le champs "src" et celle avec le champs "packets"

Xxx 00 00:00:00 100.0.0.. Firewall:  XXAaaXXX 00:00:00 5 N/A  0000 drop 100.0.0.0 > bond4.5  LogId: 0; ContextNum: <max_null>; OriginSicName: CN=ew1,O=console-fw..bnsx8h; OriginSicName: CN=ew1,O=console-fw..bnsx8h; HighLevelLogKey: 100000000; inzone: External; outzone: Internal; service_id: tcp_81;[b] src: 1.1.1.1;[/b] dst: 100.0.0.0; [b]proto: tcp;[/b] UP_match_table: TABLE_START; ROW_START: 0; match_id: 0000; layer_uuid: xxxxxx-xxxxxxxxx-xxxx-xxxxxx; layer_name: new_inter_ok Security; rule_uid: exxxx-xxxx-xxxx-xxxx-xxx-xxx; rule_name: ; action: 0; parent_rule: 0; ROW_END: 0; UP_match_table: TABLE_END; ProductName: test -1; svc: tcp_00; sport_svc: 00000; ProductFamily: test;

Dans cette ligne j'aimerai récupérer l'ensemble des champs avec le champs "proto:tcp" la suite ne m'intéressant pas

Xxxr 00 HH:MM:SS 100.0.0.0 Firewall:  00Xxx0000 HH:MM/SS 5 N/A  2400  drop 100.0.0.0 < N/A  LogId: 0; ContextNum: <max_null>; OriginSicName: CN=ew1,O=console-fw..bnsx8h; OriginSicName: CN=ew1,O=console-fw..bnsx8h; HighLevelLogKey: 11111111111111111; drop reason: matched optimized drop; packet amount: 5; packets:  <65.0.0.0.0,100.0.0.0,40022,6;> 65.0.0.0.0,100.0.0.0,40022,6;> <65.0.0.0.0,100.0.0.0,40022,6> ; proto: tcp; UP_match_table: TABLE_START; ROW_START: 0; match_id: 000; layer_uuid: 00000000000000; layer_name: new_inter_ok Security; rule_uid: 0000000000 rule_name: ; action: 0; parent_rule: 0; ROW_END: 0; UP_match_table: TABLE_END; ProductName:test ProductFamily: test

Dans cette seconde ligne j'aimerai récupérer l'ensemble des champs avec le champs "proto:tcp" la suite ne m'intéressant, sauf que là j'ai plusieurs IP dans le champs "packets"

sachant que mon but au final c'est de mettre toutes les lignes avec "src" et "packets" dans le même fichier des les classer par heures et surtout de pouvoir calculer les adresses IPs en les comptants

encore merci de vos lumières

Hors ligne

#2 Le 08/04/2020, à 12:35

diesel

Re : Commande CUT,Sed,AWK,... pour exploitation LOG

J'ai pô tout compris.

Pour tes deux lignes d'exemple, tu pourrais nous fournir ce que tu veux comme résultat ?

Amicalement.

Jean-Marie


Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.

Hors ligne

#3 Le 08/04/2020, à 12:51

jiice

Re : Commande CUT,Sed,AWK,... pour exploitation LOG

Ce n'est en effet pas très clair
Dans mon fichier de log j'aimerai récupérer une partie des champs
Au final j'aimerai avoir

xx 00 00:00:00 100.0.0.. Firewall:  XXAaaXXX 00:00:00 5 N/A  0000 drop 100.0.0.0 > bond4.5  LogId: 0; ContextNum: <max_null>; OriginSicName: CN=ew1,O=console-fw..bnsx8h; OriginSicName: CN=ew1,O=console-fw..bnsx8h; HighLevelLogKey: 100000000; inzone: External; outzone: Internal; service_id: tcp_81;[b] src: 1.1.1.1;[/b] dst: 100.0.0.0; [b]proto: tcp;[/b];

au lieu de ça

xx 00 00:00:00 100.0.0.. Firewall:  XXAaaXXX 00:00:00 5 N/A  0000 drop 100.0.0.0 > bond4.5  LogId: 0; ContextNum: <max_null>; OriginSicName: CN=ew1,O=console-fw..bnsx8h; OriginSicName: CN=ew1,O=console-fw..bnsx8h; HighLevelLogKey: 100000000; inzone: External; outzone: Internal; service_id: tcp_81;[b] src: 1.1.1.1;[/b] dst: 100.0.0.0; [b]proto: tcp;[/b] UP_match_table: TABLE_START; ROW_START: 0; match_id: 0000; layer_uuid: xxxxxx-xxxxxxxxx-xxxx-xxxxxx; layer_name: new_inter_ok Security; rule_uid: exxxx-xxxx-xxxx-xxxx-xxx-xxx; rule_name: ; action: 0; parent_rule: 0; ROW_END: 0; UP_match_table: TABLE_END; ProductName: test -1; svc: tcp_00; sport_svc: 00000; ProductFamily: test;

Je viens de me rendre compte que j'aurai les informations des champs PACKETS ou SRC
merci d'avance

Hors ligne

#4 Le 08/04/2020, à 13:01

nany

Re : Commande CUT,Sed,AWK,... pour exploitation LOG

Bonjour,


grep -oE ".*proto: [^;]+;"

?

Dernière modification par nany (Le 08/04/2020, à 13:03)

Hors ligne

#5 Le 08/04/2020, à 13:07

diesel

Re : Commande CUT,Sed,AWK,... pour exploitation LOG

Gratté par Nany wink

Jean-Marie


Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.

Hors ligne

#6 Le 08/04/2020, à 13:53

jiice

Re : Commande CUT,Sed,AWK,... pour exploitation LOG

Super Merci
par contre je ne comprend pas trop ce que fais -o

encore mille merci

Hors ligne

#7 Le 08/04/2020, à 14:48

diesel

Re : Commande CUT,Sed,AWK,... pour exploitation LOG

man grep

"      -o, --only-matching
              N'afficher que  les  parties  (non  vides)  correspondantes  des
              lignes sélectionnées, chaque partie étant affichée sur une ligne
              séparée."

Amicalement.

Jean-Marie


Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.

Hors ligne

#8 Le 08/04/2020, à 15:34

kamaris

Re : Commande CUT,Sed,AWK,... pour exploitation LOG

Ce serait pas plutôt l'espace le bon délimiteur ? (pour avoir la balise fermante, quand il y en a une)

grep -oE ".*proto: [^ ]+"

Après il reste ton tri selon la date : si c'est le champ 3, et qu'il est bien au format HH:MM:SS comme il semble, il suffira de faire

sort -k3

Quant à ce que tu veux faire de tes ips, j'ai pas compris neutral

Hors ligne