shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Filtrar MAC do log do iptables


From: jimmy
Subject: Re: [shell-script] Filtrar MAC do log do iptables
Date: Tue, 27 Apr 2010 17:52:44 -0300
User-agent: Mutt/1.4.2.3i

On Tue, Apr 27, 2010 at 03:35:17PM -0300, Alexandre Gorges wrote:
> 
> 
>    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
>    a
>    coluna 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&ccedil;&atilde;o: </b>" $6 " " $10 " " $11;}'
> 
>    Dessa forma o resultado foi
> 
>    <b>Hora:15:27:15 A&ccedil;&atilde;o: </b>INT-RECUSOU-tcp DST=189.72.115.23
>    LEN=48
>    <b>Hora:15:27:37 A&ccedil;&atilde;o: </b>INT-RECUSOU-tcp DST=189.72.115.24
>    LEN=48
>    <b>Hora:15:27:46 A&ccedil;&atilde;o: </b>SERV-RECUSOU-udp SRC=61.44.213.54
>    DST=10.1.1.254
> 
>    Reparem 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 Gorges
>    http://www.google.com.br/profiles/algorges
>    MSN/Gtalk/iCHAT/Skype/Buzz: address@hidden
>    ICQ: 2031408
> 

minha sugestão:

awk '/RECUSOU/{for(i=7;i<=NF;i++){split($i,a,/=/);h[a[1]]=a[2]}; print $3, $6, 
h["SRC"], h["DST"], h["PROTO"], h["SPT"], h["DPT"]}' arquivo.log


-- 
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------


reply via email to

[Prev in Thread] Current Thread [Next in Thread]