|
From: | Lawrence Waclawiak |
Subject: | Re: [Bulk] [shell-script] Filtrar MAC do log do iptables |
Date: | Tue, 27 Apr 2010 16:57:59 -0300 |
User-agent: | Thunderbird 2.0.0.23 (X11/20090817) |
Fala Alexandre!Primeira coisa é que tu está confundindo linha com coluna pois nesse log não tem colunas definidas, apenas linhas.
para fazer as filtragens que vc quer procedi da seguinte maneira: lbw@lbw-laptop:~$ cat iptables-log Apr 27 15:27:15 server kernel: INT-RECUSOU-tcp IN=eth1 OUT=eth0 SRC=172.16.19.10 DST=189.72.115.23 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=42626 DF PROTO=TCP SPT=3855 DPT=445 WINDOW=65535 RES=0x00 SYN URGP=0 Apr 27 15:27:37 server kernel: INT-RECUSOU-tcp IN=eth1 OUT=eth0 SRC=172.16.19.10 DST=189.72.115.24 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=42641 DF PROTO=TCP SPT=3857 DPT=445 WINDOW=65535 RES=0x00 SYN URGP=0 Apr 27 15:27:46 server kernel: SERV-RECUSOU-udp IN=eth0 OUT= MAC=00:01:02:77:39:e5:00:18:d1:e1:6c:69:08:00 SRC=61.44.213.54 DST=10.1.1.254 LEN=131 TOS=0x00 PREC=0x00 TTL=106 ID=5960 PROTO=UDP SPT=34422 DPT=61673 LEN=111 lbw@lbw-laptop:~$lbw@lbw-laptop:~$ cat iptables-log |egrep -e '^SRC=' -e '^DST=' -e '^SPT=' -e '^DTP=' -e '^[JFMASOND][a-z]{2} [0-9]{2} ' -e '-RECUSOU-' -e '^ID' -e ' PROTO='
Apr 27 15:27:15 server kernel: INT-RECUSOU-tcp IN=eth1 OUT=eth0 SRC=172.16.19.10 DST=189.72.115.23 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=42626 DF PROTO=TCP SPT=3855 DPT=445 WINDOW=65535 RES=0x00 SYN URGP=0 Apr 27 15:27:37 server kernel: INT-RECUSOU-tcp IN=eth1 OUT=eth0 SRC=172.16.19.10 DST=189.72.115.24 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=42641 DF PROTO=TCP SPT=3857 DPT=445 WINDOW=65535 RES=0x00 SYN URGP=0 Apr 27 15:27:46 server kernel: SERV-RECUSOU-udp IN=eth0 OUT= DST=10.1.1.254 LEN=131 TOS=0x00 PREC=0x00 TTL=106 ID=5960 PROTO=UDP SPT=34422 DPT=61673 LEN=111em seguida basta você utilizar o sed ou o awk para formatar a saida da forma que vc quer póis não entendi exatamente o que vc quer fazer
No comando que eu fiz uso '' para proteger a expressão que quero casar, o ^ significa inicio de linha, o que está entre [] representa as possiveis variação para uma casa, o que está entre {} representa o numero de repetições da casa anterior. As letras [JFMASOND] representam as letras em maiúculo de todas as iniciais dos meses.
Espero que tenha ajudado. Alexandre Gorges escreveu:
Boa tarde, Estou tentando montar um log do iptables e encontrei um problema. Algumas linhas do iptables possuem a coluna MAC= e algumas não.Montei um tail com awk para listar, mas estou com um problema para filtrar acoluna MAC=. Eu não quero imprimir essa coluna no relatório. O log original sai assim: Apr 27 15:27:15 server kernel: INT-RECUSOU-tcp IN=eth1 OUT=eth0 SRC=172.16.19.10 DST=189.72.115.23 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=42626 DF PROTO=TCP SPT=3855 DPT=445 WINDOW=65535 RES=0x00 SYN URGP=0 Apr 27 15:27:37 server kernel: INT-RECUSOU-tcp IN=eth1 OUT=eth0 SRC=172.16.19.10 DST=189.72.115.24 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=42641 DF PROTO=TCP SPT=3857 DPT=445 WINDOW=65535 RES=0x00 SYN URGP=0 Apr 27 15:27:46 server kernel: SERV-RECUSOU-udp IN=eth0 OUT= MAC=00:01:02:77:39:e5:00:18:d1:e1:6c:69:08:00 SRC=61.44.213.54 DST=10.1.1.254 LEN=131 TOS=0x00 PREC=0x00 TTL=106 ID=5960 PROTO=UDP SPT=34422 DPT=61673 LEN=111 O tail que fiz ficou: tail -5 t|grep kernel|grep RECUSOU|awk '{$9="";print "<b>Hora:" $3 " Ação: </b>" $6 " " $10 " " $11;}' Dessa forma o resultado foi <b>Hora:15:27:15 Ação: </b>INT-RECUSOU-tcp DST=189.72.115.23 LEN=48 <b>Hora:15:27:37 Ação: </b>INT-RECUSOU-tcp DST=189.72.115.24 LEN=48 <b>Hora:15:27:46 Ação: </b>SERV-RECUSOU-udp SRC=61.44.213.54 DST=10.1.1.254Reparem nas primeiras linhas. Listou apenas DST e não as colunas SRC e DST.Eu estou querendo eliminar a coluna do MAC inteira, tratando como se nunca tivesse existido a coluna MAC=. Do log original, o que eu preciso seria as colunas da hora, RECUSOU, SRC, DST, PROTO, SPT, DPT []'s Alexandre Gorgeshttp://www.google.com.br/profiles/algorges <http://www.google.com.br/profiles/algorges> MSN/Gtalk/iCHAT/Skype/Buzz: address@hidden <mailto:algorges%40gmail.com>ICQ: 2031408 [As partes desta mensagem que não continham texto foram removidas]
[Prev in Thread] | Current Thread | [Next in Thread] |