Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Mão na Massa LDAP - 1 Profissional por Máquina
Configure um serviço de Diretórios baseado no servidor OpenLDAP!
Dia 6 de Dezembro - São Paulo
Saiba mais


 

Aprenda inglês em casa

Baixe gratuitamente as duas primeiras aulas

English for Reading and Listening

Receba por email, diariamente, mensagens contendo materiais para leitura e audição, incluindo arquivos no formato MP3 gravados por falantes nativos.

Saiba mais e faça sua inscrição

Você está aqui: Home  → Arquivo Dicas-L

 

Mão na Massa Nagios

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Publicar em del.icio.us

Bofofilter e SpamAssassin

Colaboração: Douglas Adriano Augusto

Data de Publicação: 29 de Janeiro de 2004

Eu desenvolvi uma shell script para o treinamento inicial do bogofilter através do spamassassin. Funciona da seguinte maneira: dado um conjunto de mensagens de e-mail (cada qual em um arquivo), contendo spams e não spams, o spamassassin classifica cada uma delas, assim como o bogofilter. Em cada mensagem que a classificação do bogofilter diferir da classificação do spamassasin, este é retreinado de acordo com o palpite do spamassassin.

Com uma variedade considerável de e-mails, o bogofilter é capaz de assimilar com bastante fidelidade a experiência do spamassassin. A partir deste momento, o bogofilter já pode seguir rumo próprio, apenas refinando à medida que for necessário.

Abaixo o script:

  ### 
  bogoassassin.sh 
  ### 
   
  #!/bin/sh 
   
  # Treina a base do Bogofilter utilizando o conhecimento do Spamassassin, para 
  # uma dada mensagem.  Se o Bogofilter classificar incorretamente (sob a 
  # perspectiva do spamassassin), este será re-treinado para o caso onde falhou. 
  # Train On Error (TOE) 
   
  # O objetivo é aproveitar toda a experiência do Spamassasin e, então, apenas 
  # refinar a base de dados do Bogofilter ao decorrer do tempo.  
   
  # Douglas Augusto (douglas@coc.ufrj.br), 15/Set/2003 - Sob GPL 
   
  # Uso: ./bogoassassin.sh arquivo-mensagem 
   
  # É recomendado o processamento em lote, tendo como base todas as mensagens 
  # previamente arquivadas: 
  # Ex.: for i in $(ls); do ./bogoassassin.sh $i; done 
  # (processa todas as mensagens do diretório atual) 
   
   
  # localização dos binários 
  BOGOFILTER="/usr/bin/bogofilter"; 
  SPAMASSASSIN="/usr/bin/spamassassin"; 
  SPAMASSASSINCLIENT="/usr/bin/spamc"; 
   
  $BOGOFILTER < $* 
   
  # 0 = SPAM, 1 = NONSPAM 
  CLASS_BOGO=$? 
   
  # Classificação pelo SpamAssassin 
   
  # Modo normal (mais lento), habilitado por padrão: 
  $SPAMASSASSIN -e < $* > /dev/null 
   
  # Caso utilize o spamd/spamc. Este método é recomendado para o processamento em 
  # lote, por ser mais veloz. É necessário, entretanto, que o servidor 'spamd' 
  # esteja rodando. Descomente a linha a seguir e comente a linha referente ao modo normal. 
  #$SPAMASSASSINCLIENT -c < $* > /dev/null 
   
   
  # 0 = NONSPAM, >0 = SPAM 
  if [ $? = 0 ]; then # nao é SPAM, segundo o spamassassin 
   
  echo "- NONSPAM" "["$*"] (Spamassassin)" 
     
    if [ $CLASS_BOGO = 0 ]; then # o bogo acusou erroneamente SPAM 
      echo "  SPAM ["$*"] (Bogofilter): Re-treinando!" 
      # fazer a correção 
      $BOGOFILTER -n < $* 
    else 
      echo "  NONSPAM ["$*"] (Bogofilter): Ok!" 
    fi 
  else # é SPAM, segundo o spamassassin 
  echo "- SPAM" "["$*"] (Spamassassin)" 
    if [ $CLASS_BOGO != 0 ]; then # o bogo não acusou SPAM :( 
      echo "  NONSPAM ["$*"] (Bogofilter): Re-treinando!" 
      # fazer a correção 
      $BOGOFILTER -s < $* 
    else 
      echo "  SPAM ["$*"] (Bogofilter): Ok!" 
    fi 
  fi 
   
  ###

Veja a relação completa dos artigos de Douglas Adriano Augusto

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.02/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (526 votos)

Recomende este site
Recomendar este artigo


Versão para impressão


Opinião dos Leitores

*Nome:
Email:
Me notifique sobre novos comentários nessa pagina
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Mão na Massa LDAP - 1 Profissional por Máquina
Configure um serviço de Diretórios baseado no servidor OpenLDAP!
Dia 6 de Dezembro - São Paulo
Saiba mais

Biblioteca

Redes - Guia Prático
Por Carlos. E. Morimoto

Hardware - o Guia Definitivo
Por Carlos. E. Morimoto

Kurumin 7 - Guia Prático
Por Carlos. E. Morimoto

Linux: Ferramentas Técnicas, 2ed
Por Carlos. E. Morimoto

VPN: Virtual Private Network
Por Lino Sarlo da Silva

MySQL - Guia do Programador
Por André Milani

Sistemas de Banco de Dados
Por Ramez E. Elmasri e Shamkant Navathe

Hardware PC: Guia de Aprendizagem Rápida
Por Carlos E. Morimoto

Extreme Programming
Por Vinicius Manhaes Teles

Google Hacking
Por JOHNNY LONG

Elite da Tropa
Por Luis Eduardo Soares, Andre Batista e Rodrigo Pimentel

Harry Potter e as Relíquias da Morte
Por J.K. Rowling

Manual Completo do Linux: Guia do Administrador
Por Evi Nemeth, Trent R. Hein, Garth Snyder

PHP para Quem Conhece PHP
Por Juliano Niederauer

O Conhecimento em Rede
Por Carlos Nepomuceno e Marcos Cavalcanti

Enterprise Javabeans 3.0
Por Bill Burke, Richard Monson

Redes de Computadores
Por Andrew S. Tanembaum

Marley e Eu: a Vida e o Amor ao Lado do Pior Cão do Mundo
Por John Grogan

Deus, um delírio
Por Richard Dawkins

Java: Como Programar
Por Harvey M. Deitel e Paul J. Deitel

Descobrindo o Linux: Entenda o Sistema Operacional GNU/Linux
Por Joao Eriberto Mota Filho

Use a Cabeça!: JSP & Servlets
Por Brian Bashan, Kathy Sierra, Bert Bates

1808
Por Laurentino Gomes

UML: Guia do Usuário
Por Grady Booch, James Rumbaugh e Ivar Jacobson