[/code]
il s’agit de suprimer: SEQ= ? et ACK= ?
mai vu que la fin change sans arrêt et que je maîtrise ni awk ni sed …
j’utilise ulog pour les log d’iptables et je voudrai juste filtrer ce qui m’interesse:
j’ai tenter avec un cat /var/log/ulog/syslogemu.log |cut -d" " -f10- |cut -d" " -f1,2,3,4,10,11,12,13,13| sed 's/\(*\)SEQ/\test/'
mai non c’est pas sa .
merci d’avance
parce que je ne sais pas si l’ordre de ‘SEQ puis ACK’ (qui doivent se trouver en fin de ligne si j’ai bien compris) est toujours dans ce sens.
mais tout cela dépend d’informations que l’on ne possède pas et de notre interprétation de la demande
[quote=“Totor”]parce que je ne sais pas si l’ordre de ‘SEQ puis ACK’ (qui doivent se trouver en fin de ligne si j’ai bien compris) est toujours dans ce sens.
mais tout cela dépend d’informations que l’on ne possède pas et de notre interprétation de la demande [/quote]
Peut être as-tu mal lu ma commande sed ? Il y a deux expressions qui sont indépendante l’un de l’autre. Il y a deux contraintes dans mon code :
[ul]
[li]aucun des deux ne doit être en première position[/li]
[li]ils doivent être suivi par des entiers naturels[/li][/ul]
On peut lever ces deux limitations ainsi, je pense :
par contre, la version de sed que j’ai à dispo ne gère pas les ERE (mais simplement les ER). je ne peux donc garantir cette syntaxe (je testerai une fois rentrée chez moi ce soir)
sed -r 'e: s/ (SEQ|ACK)=[0-9]+$//; t e' <<EOF
SRC=186.215.60.39 DST=91.122.100.104 LEN=41 PROTO=UDP SPT=56796 DPT=26000 LEN=21
SRC=111.241.136.139 DST=91.122.100.104 LEN=52 DF PROTO=TCP SPT=4369 DPT=25
SRC=79.255.158.211 DST=91.122.100.104 LEN=48 PROTO=TCP SPT=50745 DPT=21 SEQ=1769809304
SRC=200.35.96.235 DST=91.122.100.104 LEN=40 SPT=6000 DPT=3306 SEQ=96534528 ACK=0
EOF
[/quote]
Par contre ta version est complexe encore on peut faire la même chose ainsi :
sed -r 's/ (SEQ|ACK)=[0-9]+//g'
Je l’ai vérifié sur :
GNU sed version 4.1.5
Copyright (C) 2003 Free Software Foundation, Inc.
Ce logiciel est libre; voir les sources pour les conditions de reproduction.
AUCUNE garantie n'est donnée; y compris pour des RAISONS COMMERCIALES ou
pour RÉPONDRE A UN BESOIN PARTICULIER, à l'étendue permise par la loi.
merci pour la vérif.
l’étiquette et le branchement conditionnel ne sont effectivement pas nécessaire. Mais la version de sed que j’utilise sur AIX n’est pas récursive et j’avais dû les utiliser. C’est pourquoi je les avais laisser :
:e
s/ SEQ=[0-9]\{1,\}$//
s/ ACK=[0-9]\{1,\}$//
t e
D’ailleurs j’ai oublié de dire mais ma version compliquée, l’était surtout à cause des espaces dans les cas où ACK ou SEQ peuvent être en début de ligne comme en fin.
Merci beaucoup
pour les débutant sa permet d’afficher les log d’iptables, mai pour être précis il s’agis du
paquet ulogd (ou ulog), sa permet juste de séparer les entrée dans un fichier séparer