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.712 ]
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 }
ACCT - O contabilizador de processos do Linux
Implementação de NIDS com EasyIDS
Melhorando o nível de segurança com chflags
Tornando seu Apache mais seguro com o ModSecurity
Reforçando a segurança das conexões HTTPS no Apache
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Solução rápida para o problema do Network Manager conectar mas não navegar
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
Tecla shifit parou de funcionar (1)
estou com um erro no pacman (9)