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: 53.578 ]
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
}
Vault: SSH com OneTimePassword
Instalando o Nagios via APT ou YUM
PuTTY - Estabelecendo Chave Secreta com OpenSSH
Filtragem de vírus com pop3 transparente: pop3vscan
O espaço e a segurança cibernética
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como quebrar senha usando john the ripper
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Alguém já testou o novo COSMIC Desktop? O que achou? (2)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (0)
Não consigo instalar distro antiga no virtualbox nem direto no hd (15)









