Syslog e LogAnalyzer - como recuperar IPs de origem e contá-los

1

Configurei o servidor centralizado Syslog (centOS + rsys) que executa o LogAnalyzer para uma melhor apresentação do log. Recentemente pedi para fornecer logs do firewall de todos os IPs para uma determinada declaração de firewall e contar quantos IPs específicos ocorreram na lista.

Até agora, sei como exibir todos os logs para uma determinada instrução de firewall, mas não faço idéia de como recuperar o IP de origem da coluna da mensagem e contar a ocorrência de IP em particular.

Existe algum software adicional que possa fazer isso ou eu preciso criar o próprio analisador de log para fazer isso?

Obrigado

    
por JackTheKnife 25.02.2014 / 17:42

1 resposta

2

Nós usamos o AWK.

Feb 25 12:18:50 host.example.come kernel: LOGPREFIX: IN=eth0 OUT= MAC=00:aa:aa:bb:cc:dd:00:ee:00:aa:dc:00:aa:00 SRC=x.x.x.x DST=y.y.y.y LEN=40 TOS=0x00 PREC=0x00 TTL=95 ID=256 PROTO=TCP SPT=6000 DPT=22 WINDOW=16384 RES=0x00 SYN URGP=0
  1. Despertar o endereço do SRC
  2. Classifique a lista numericamente (prereq to uniq)
  3. Use o uniq com o sinalizador -c para obter contagens por origem
  4. Opcionalmente: classifique novamente numericamente para ver os violadores mais pesados.
[[email protected] faculty]# grep LOGPREFIX /var/log/messages | \
    awk '{print $10}' | sort -n | uniq -c | sort -n

Saída:

      5 SRC=x.174.x.x
      6 SRC=61.y.y.y
      6 SRC=z.z.z.196
     17 SRC=a.a.246.a

Finalmente: um Primer do AWK: link

    
por 25.02.2014 / 18:48