Capturando e-mails da rede com Mailsnarf
Empresas que terceirizam o servidor de e-mail tem algumas dificuldades de implantarem um maior controle em relação ao e-mail. Com o Mailsnarf é possível ter uma cópia de todos os e-mails que são enviados ou recebidos e posteriormente baixá-los em seu gerenciador de e-mails.
[ Hits: 52.799 ]
Por: Edson Marco Ferrari Junior em 14/02/2007 | Blog: http://www.edmafer.com.br
these programs require: Berkeley DB - http://www.sleepycat.com/ OpenSSL - http://www.openssl.org/ libpcap - http://www.tcpdump.org/ libnids - http://www.packetfactory.net/Projects/Libnids/ libnet - http://www.packetfactory.net/Projects/Libnet/Baixe-as e instale-as. Usuários Debian contam com a facilidade:
static void print_mbox_msg(char *from, char *msg) { char *p; time_t t; t = time(NULL); if (from == NULL) from = "mailsnarf"; printf("From %s %s", from, ctime(&t)); while ((p = strsep(&msg, "\n")) != NULL) { if (strncmp(p, "From ", 5) == 0) putchar('>'); for (; *p != '\r' && *p != '{TEXT0}'; p++) putchar(*p); putchar('\n'); } putchar('\n'); fflush(stdout); }
static void print_mbox_msg(char *from, char *msg) { /* * Foi declarada uma variável global * de nome cont. * int cont = 0; */ char *p; time_t t; FILE *fl; //ponteiro para o arquivo /* * Neste ponteiro char, armazenaremos o * diretório onde iremos salvar nossos * arquivos. */ char *dir = "/home/edmafer/Maildir/new/"; /* * path será a concatenação do diretório * com o nome do arquivo. */ char path[30]; t = time(NULL); //Pegando a data e hora de agora /* * Estamos concatenando em path, o diretorio * o nome do arquivo, e a extensão eml * e incrementa 1 em cont */ sprintf(path,"%s%d.%s",dir,cont++,"eml"); fl = fopen(path,"w"); //Abrindo o arquivo para escrita if (!fl) { //Verificando se houve erro ao abrir printf("\n<!>Erro ao tentar criar arquivo<!>\n"); return; } if (from == NULL) //Definindo o from from = "mailsnarf"; fprintf(fl,"From %s %s", from, ctime(&t)); //Direcionando para o arquivo com data while ((p = strsep(&msg, "\n")) != NULL) { //Todas as saidas para o arquivo if (strncmp(p, "From ", 5) == 0) putc('>',fl); for (; *p != '\r' && *p != '{TEXT0}'; p++) putc(*p,fl); putc('\n',fl); } putc('\n',fl); fflush(stdout); //Limpando buffer de tela (pra que? Não sai mais nada lá) fclose(fl); //Fechando o arquivo }
Libsafe: Protegendo Linux contra Smashing Overflow
Metaspoit: Brute force + invasão com meterpreter encriptado com RC4
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)