Módulo para Perl Sniffer

Banner Inetsnif

Programe seu próprio Sniffer utilizando linguagem Perl de uma forma simples e prática. Com o módulo Inetsnif você poderá cria e personalizar seu Sniffer inclusive com opções de filtros de IPs,Portas e palavras chaves.

Box Inetsnif

Sniffer é um software capaz de interceptar os dados que trafegam em uma determinada rede ou no computador local.

1-) Você precisa ter um Interpretador Perl instalado. Caso não tenha, baixe o Active Perl

2-) Você instalar a Biblioteca Winpcap.

3-) Instale um Editor de códigos

4-) Instale o Módulo InetSnif

5-)Agora você pode criar seus scripts utilizando as funções do módulo.
Lembre-se de inserir o módulo com o seguinte código:

  use INETSNIF;

Com este pequeno script você pode verificar se o módulo foi instalado:

---------------------
#!usr/bin/perl -w
 use INETSNIF;
 print "\n Teste Inetsnif\n\n";
 system "pause > nul";
---------------------

Digite este código em seu editor de códigos e salve como teste.pl
Clique sobre o arquivo, o arquivo deverá exibir somente:
Teste Inetsnif
Se não for exibido nenhum erro o módulo está funcionando corretamente.

Se você não tem conhecimentos básicos em Linguagem Perl, veja o item do menu abaixo "Exemplo de Script".
Você poderá estudar o código e logo irá perceber que Perl é bem simples e intuituvo.
Para se aprofundar da linguagem, saiba mais sobre nosso Curso PPAS

Funções Básicas

Função Entrada Retorno Descrição
escolha_da_interface() void int Exibe um menu com a lista de interfaces de redes, retorna o número da interface escolhida
cap_name_device() int char converte o número da interface escolhida em o nome da mesma.
cap_descricao_device() int char converte o número da interface escolhida em a descrião da mesma.
hostname_to_ip_ins() char char Valida um IP ou Hostname, em caso de hostmane retorna o IP correspondente.
Flag para inválido = "-1"
validar_porta_ins() int/char int Também converte protocolos conhecidos em portas padrões (TELNET, FTP, HTTP, HTTPS)
Flag para inválido = -1

Funções de Filtro

Função Entrada Retorno Descrição
expression_filter_dst_ip($ip) char char Retorna expressão para filtrar apenas um determinado IP de destino.
expression_filter_tcp_dst_port($port) int char Retorna expressão para filtrar apenas uma determinada Porta TCP de destino.
expression_filter_dst_ip_and_tcp_dst_port($ip,$port) char, int char Retorna expressão para filtrar apenas um determinado IP de destino que esteja em uma determinada porta TCP.
expression_filter_tcp_scr_port($port) int char Retorna expressão para filtrar apenas uma determinada Porta de origem.
expression_filter_ip_and_tcp_port($ip,$port) char, int char Retorna expressão para filtrar apenas um determinado IP que esteja em determinada porta TCP (independente da origem e destino)
expression_filter_dst_ip_and_tcp_scr_port($ip,$port) char, int char Retorna expressão para filtrar apenas um determinado IP de destino que esteja em uma determinada porta TCP de origem
expression_filter_udp_dst_port($port) int char Retorna expressão para filtrar apenas uma determinada Porta UDP de destino.
expression_filter_dst_ip_and_udp_dst_port($ip,$port) char, int char Retorna expressão para filtrar apenas um determinado IP de destino que esteja em uma determinada porta UDP.
expression_filter_udp_scr_port($port) int char Retorna expressão para filtrar apenas uma determinada Porta UDP de origem.
expression_filter_ip_and_udp_port($ip,$port) char, int char Retorna expressão para filtrar apenas um determinado IP que esteja em determinada porta UDP (independente da origem e destino)
expression_filter_dst_ip_and_udp_scr_port($ip,$port) char, int char Retorna expressão para filtrar apenas um determinado IP de destino que esteja em uma determinada porta UDP de origem.

Função starter_sniffer()
Esta função recebe 12 variáveis de configuração e iniciar o sniffer:

Tipo Descrição Flags
1º variável char nome da interface de rede
2º variável char expressão de filtro
3º variável char palavra chave para filtro (Filtra pacotes com a determinada palavra chave)
4º variável char texto para ser gravado no início do log (caso exista log)
5º variável char nome do arquivo de log
6º variável int flag para criar arquivo de log 0=não criar
1 = criar
7º variável int flag para exibir os pacotes capturados 0=não exibir
1 = exibir
8º variável int flag para setar visualização no modo caractere 1=modo caracter
9º variável int flag para setar visualização no modo hexadecimal 1=modo hexadecimal
10º variável int portion_capture
11º variável int flag para setar modo promíscuo 0= nao 1=sim
12º variável int read_timeout

Segue abaixo um simples Sniffer que captura dados entregues à sites HTTP.
-----------------------------------------------------------------------

#!usr/bin/perl -w


  use INETSNIF;
    
  print "\n HTTP Sniffer\n\n";

  my $num_device = escolha_da_interface;
  my $name_device = cap_name_device($num_device);

  my $promiscuous_mode = 0
  my $dev = $name_device;
  my $expression_filter = expression_filter_tcp_dst_port(80); 
  my $palavra_chave_filtro = ""; 
  my $arquivo_log = "my_cap_http.txt"; 
  my $header_log = "HTTP Sniffer \r\n"; 
  my $add_log = 1
  my $add_visu=1
  my $visu_char=1
  my $visu_hexa=0
  my $portion_capture = 65536
  my $read_timeout = 1000; 
 
  print "\n-------------------------------\n"   
  print "\n Sniffing ...\n";    
  print "-------------------------------\n";
 
 starter_sniffer ($dev,                  
                 $expression_filter,
                 $palavra_chave_filtro,
                 $header_log,
                 $arquivo_log,
                 $add_log,
                 $add_visu,
                 $visu_char,
                 $visu_hexa,
                 $portion_capture,
                 $promiscuous_mode,
                 $read_timeout
                 );
    
  system "pause > nul";
-----------------------------------------------------------------------
Download do código comentado.

Visualização do Script:


Arquivo de Log:

Instalei todos os programas necessários e também o módulo.
Ao iniciar é aberto uma janela do Prompt de comando com um sniffer.
Posso dizer que Isto é o Inetsnif?

Não, o Inetsnif não é um programa, mas sim uma lista de funções que você pode utilizar em seus scripts Perl para construir um Sniffer.
A janela do Prompt de comando que aparece junto da instalação é apenas um exemplo de script desenvolvido utilizando o módulo.
Este exemplo já um Sniffer pronto (que pode ser totalmente editável)

O Módulo Inetsnif é pago?
Não, o Inetsnif é inteiramente gratuito.

Participe de nosso curso de Programação em Perl Aplicada à Segurança (Curso PPAS)
Iremos construir Sniffers mais elaborados, utilizando outros módulos mais completos, estudar detalhes, filtros, etc.

Se já existe ótimos sniffers no mercado, por que aprender a fazer mais um?

Aprendendo a programar em Perl, você irá aprender a criar várias ferramentas e interagi-las de acordo com sua necessidade. Isto nenhum software pode fazer por você com perfeição, por exemplo:
Você pode criar um sniffer que captura uma determinada palavra chave em sua rede e sempre que o pacote for capturado é te enviado um email com o conteúdo do pacote.
Perl possibilita você a criar o sniffer e a enviar o email, tudo em um único script.
Isto foi apenas um exemplo (sniffer e email) imagine a combinação de toda a gama de ferramentas que você pode programar um Perl (Sockets, Port Scans, Ping, transferências de arquivos, manipulação de arquivos, etc...)

Clique aqui e saiba mais sobre nosso curso.
Windows 10
Programas Necessários:
Download Active Perl (Ativador Perl)
Download Winpcap (Biblioteca Winpcap)
Download Notepad++ (Editor de códigos)

Módulo Inetsnif:
Tamanho
865 KB
Sistema Operacional
Windows XP/7/8/10
Licença
Freeware
Fabricante
Insecuritynet
Download Inetsnif