Agora com a formatação correta ficou fácil.
cat t |sed -e 's/MAC=[[:xdigit:]:]* //' | awk '{print "<b>Hora:" $3 "
Ação: </b>" $6 " " $9 " " $10 " " $11;}'
<b>Hora:15:27:15 Ação: </b>INT-RECUSOU-tcp
SRC=172.16.19.10 DST=189.72.115.23 LEN=48
<b>Hora:15:27:37 Ação: </b>INT-RECUSOU-tcp
SRC=172.16.19.10 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.254 LEN=131
Eu ainda acho que deveríamos habilitar o html nessa lista pois esse
esquema causa muito transtorno.
Pastebin é massa, mas e ai, vamos ter de ficar criando um atrás do
outro, até mesmo quem responde se quiser se fazer entender sem deixar
brechas para interpretações erradas vai precisar usar o pastebin
tornando bastante cansativo algo que seria simples.
Alexandre Gorges escreveu:
>
> Lawrence e Julio, postei no site. Veja se agora ficou mais claro.
>
> http://pastebin.com/3vADEG8q <http://pastebin.com/3vADEG8q>
>
> Jimmy, muitíssimo obrigado. Matou o meu problema do mac e já deu a solução
> para os campos tcp e udp. Muito obrigado.
>
> []'s
> Alexandre Gorges
> http://www.google.com.br/profiles/algorges
> <http://www.google.com.br/profiles/algorges>
> MSN/Gtalk/iCHAT/Skype/Buzz: [email protected]
> <mailto:algorges%40gmail.com>
> ICQ: 2031408
>
> > From: Lawrence Waclawiak <[email protected]
> <mailto:lawrencebbw%40yahoo.com.br>>
> > Reply-To: Lista Shell Script <[email protected]
> <mailto:shell-script%40yahoogrupos.com.br>>
> > Date: Tue, 27 Apr 2010 18:00:42 -0300
> > To: Lista Shell Script <[email protected]
> <mailto:shell-script%40yahoogrupos.com.br>>
> > Subject: Re: [Bulk] [shell-script] Filtrar MAC do log do iptables
> >
> > Então Alexandre, pode ser que estejamos sofrendo com problemas de
> > formatação da lista de e-mails, pois eu tenho absoluta certeza que esse
> > comando funciona, também utilizo Redhat el5.4, só se vc estiver
> > utilizando alguma versão muita antiga que não tenha suporte para alguns
> > dos comandos que eu utilizei.
> > Como vc viu eu colei o meu teste, ele realmente foi executado.
> >
> > Mas o meu comando não filtra o MAC, ele seleciona apenas as ocorrências
> > que vc pediu e dessa forma conseguente mente filtra qualquer outra
> > coisa, inclusive o MAC=.
> >
> > Se vc tiver certeza que a únicas linhas que vc deseja filtrar são essas
> > que começam com MAC= ai fica bem mais simples.
> >
> > cat t|egrep -v '^MAC='
> > Se não funcionar significa que a linha não começa com "MAC=" dai vc pode
> > tentar descobrir qual é o verdadeira caracter que tem no inicio da linha
> > ou mandar ele rejeitar qualquer linha que contenha "MAC=" da
> seguinte forma:
> > cat t|egrep -v 'MAC='
> >
> > Se não funfar chama o padre pois o kapeta tá no teu pc heheh
> >
> > Agora quanto ao seu comando ele está com erros de lógica,veja:
> > ########################################################################
> > 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.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=.
> >
> >
> #########################################################################
> > Esse primeiro grep que vc fez já matou qualquer linha que não contenha a
> > palavra "kernel" o segundo pega o que sobrou e mata qualquer uma que não
> > tenha "RECUSOU" dai passa a saida para o awk formatar, ou seja, você tá
> > matando as linhas antes que elas possam chegar ao seu awk, por isso que
> > as SRC e DST não saem, pode fazer o teste:
> >
> > tail -5 t|grep kernel|grep RECUSOU
> >
> > Você vai ver que já não tem todas as linhas que vc quer.
> >
> > Outra questão e que mesmo que vc passe essas linhas para o awk não vai
> > ficar como você quer pois cada tipo de linha tem uma estrutura diferente
> > pelo que percebi e dessa forma as referencias de $1 $10 etc não vaão ser
> > sempre as mesmas.
> >
> > Escrevendo isso passei a ter certeza absoluta que nosso problema é a
> > formatação da lista de e-mail.
> >
> > utilize o site http://pastebin.com <http://pastebin.com> para colar
> toda a parte que é
> > referente a comandos assim poderemos ajudar com maior facilidade.
> > Abraços
> >
> >
> > Alexandre Gorges escreveu:
> >>
> >> Fala Lawrence.
> >>
> >> Eu chamo esse tail por html. Então fica listando no navegador o log.
> >> Como acontece de aparecer MAC em alguns logs, eu não consigo pegar por
> >> awk,
> >> os campos depois do MAC, corretamente.
> >> Então estou tentando retirar o MAC=..... Que pode aparecer em
> determinadas
> >> linhas para que assim, via awk eu consiga montar as informações.
> >>
> >> Testei o seu comando aqui no meu Redhat e aparentemente não filtrou
> o mac.
> >>
> >> cat t| 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=
> >> 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
> >>
> >> A ultima linha ainda constou o MAC=....
> >>
> >> Com um awk que eu montei, até consigo filtrar o MAC=..., mas o que
> >> vier após
> >> fica errado.
> >>
> >> Veja
> >>
> >> tail -5 t|grep kernel|grep RECUSOU|awk '{$9="";print "<b>Hora:" $3 "
> >> Ação: </b>" $6 " " $10 " " $11;}'
> >> <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.254
> >>
> >> As duas primeiras linhas, listaram DST=.... E LEN=.... Essas duas
> >> linhas não
> >> tem MAC=.... Aparecendo. Na ultima linha o SRC=... E DST=....
> Apareceram
> >> corretamente.
> >>
> >> []'s
> >> Alexandre Gorges
> >> http://www.google.com.br/profiles/algorges
> <http://www.google.com.br/profiles/algorges>
> >> <http://www.google.com.br/profiles/algorges
> <http://www.google.com.br/profiles/algorges>>
> >> MSN/Gtalk/iCHAT/Skype/Buzz: [email protected]
> <mailto:algorges%40gmail.com>
> >> <mailto:algorges%40gmail.com>
> >> ICQ: 2031408
> >>
> >>> From: Lawrence Waclawiak <[email protected]
> <mailto:lawrencebbw%40yahoo.com.br>
> >> <mailto:lawrencebbw%40yahoo.com.br>>
> >>> Reply-To: Lista Shell Script <[email protected]
> <mailto:shell-script%40yahoogrupos.com.br>
> >> <mailto:shell-script%40yahoogrupos.com.br>>
> >>> Date: Tue, 27 Apr 2010 16:57:59 -0300
> >>> To: Lista Shell Script <[email protected]
> <mailto:shell-script%40yahoogrupos.com.br>
> >> <mailto:shell-script%40yahoogrupos.com.br>>
> >>> Subject: Re: [Bulk] [shell-script] Filtrar MAC do log do iptables
> >>>
> >>> '^ID' -e ' PROTO='
> >>
> >>
> >
> >
> >
> >
> > ------------------------------------
> >
> > ----------------------------------------------------------
> > Esta lista não admite a abordagem de outras liguagens de
> programação, como
> > perl, C etc. Quem insistir em não seguir esta regra será moderado
> sem prévio
> > aviso.
> > ----------------------------------------------------------
> > Sair da lista: [email protected]
> <mailto:shell-script-unsubscribe%40yahoogrupos.com.br>
> > ----------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
> > http://www.listas-discussao.cjb.net
> <http://www.listas-discussao.cjb.net>
> > ----------------------------------------------------------
> > Servidor Newsgroup da lista: news.gmane.org
> > Grupo: gmane.org.user-groups.programming.shell.brazil
> >
> > Links do Yahoo! Grupos
> >
> >
>
>
------------------------------------
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
---------------------------------------------------------------------
Sair da lista: [email protected]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil
Links do Yahoo! Grupos
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/
<*> Para sair deste grupo, envie um e-mail para:
[email protected]
<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html