• Nenhum resultado encontrado

Essa seção apresenta os resultados da verificação da versão 1.0 da ferramenta SniffAndLearn. Para tanto, foi criado um ambiente de teste que simula uma rede local composta por hosts e roteadores.

A ferramenta foi executada em uma rede local, utilizando um roteador, um hub/switch, um roteador wireless e um laptop. O roteador compõe a rede 192.168.1.0 (máscara 255.255.255.0) e é o gateway da rede. O roteador wireless conecta a rede 10.0.0.0 (máscara 255.255.255.0) com a rede 192.168.1.0. A Figura 33 mostra a organização dos elementos da rede local utilizada como ambiente de teste.

Figura 33: Ambiente de teste do SniffAndLearn.

O SniffAndLearn foi executado no “Laptop”, utilizando o sistema operacional Linux Ubuntu 9.10 para arquitetura 32 bits. No cenário de teste, o usuário está executando três tarefas no laptop: programa PING, programa ARPING (Linux Man Pages, 2002b) e acesso à página web “www.google.com.br” através do navegador de Internet. Espera-se que nessas tarefas sejam utilizados os protocolos ARP, IP, ICMP, UDP, TCP, DNS e HTTP.

Figura 34: Janela inicial do SniffAndLearn.

O usuário clica no botão com o símbolo de uma interface de rede, que possui o título “Abrir Dispositivo”. A janela “Escolha o dispositivo e filtros” aparece (Figura 35), e nela o usuário escolhe a interface de rede, o tamanho de cada pacote que deseja capturar, e adicionar filtros à captura.

Figura 35: Janela de escolha do dispositivo e configurações.

Os filtros são adicionados a partir de uma janela auxiliar, chamada de “Filtros Básicos” (Figura 36) . Essa janela possui quatro tipos de filtragem: por host, por rede, por porta e por protocolo. Nas filtragens por host, rede e porta o usuário pode escolher a filtragem apenas da origem do pacote, do destino, ou de ambos. Por exemplo, o usuário pode coletar apenas os pacotes que saem pela portas 53 e 80 escrevendo “53, 80” no campo “Origem”, e selecionando “Permitir Apenas” na “Combo-box” respectiva do campo. Para filtrar por

protocolo, o usuário apenas marca a “Check-box” do respectivo protocolo (ou dos respectivos protocolos), e escolhe uma das opções: “Permitir Apenas” ou “Filtrar Apenas”.

Figura 36: Janela de adição de filtros.

A janela “Filtros Básicos” poupa o usuário de saber a sintaxe da expressão de filtragem utilizada pelo Jpcap. Por outro lado, essa janela não suporta a formação de filtros mais avançados. Por isso, o botão “Avançado...” da janela exibida na Figura 36 permite que o usuário forme a expressão de filtragem utilizando a sintaxe do Jpcap. Esse botão abre uma nova janela (Figura 37) em que o usuário digita a expressão.

O botão “Iniciar Captura” (segundo botão, da esquerda para a direita, na Figura 34) da janela principal dá início ao sniffing. Durante esse processo, o usuário abre o navegador e acessa a página “www.google.com.br”. Nesse momento, os pacotes capturados são instantaneamente exibidos na janela principal (Figura 38). O usuário pode parar o processo clicando no botão “Parar Captura” (o mesmo botão de iniciar captura).

Figura 38: Janela principal do SniffAndLearn durante a captura.

Ao parar a captura, pode-se visualizar o conteúdo de um pacote capturado clicando sobre o mesmo na janela principal. Uma nova janela é aberta, mostrando os cabeçalhos e os dados de um pacote. A Figura 39 mostra a janela que apresenta o conteúdo de um pacote ICMP. Os cabeçalhos IP e ICMP são mostrados em abas diferentes. A Figura 39 exibe o cabeçalho do protocolo IP, onde o mouse se encontra sobre o campo “versão”. O cabeçalho ICMP do mesmo pacote é apresentado pela Figura 40.

Figura 39: Janela de visualização de um pacote ICMP, mostrando o cabeçalho IP.

Figura 40: Janela de visualização de um pacote, mostrando o cabeçalho ICMP.

Ao clicar sobre um dos campos do cabeçalho, o usuário visualiza as suas respectivas informações. Uma nova janela (Figura 41) exibe o nome do campo e um pequeno texto explicativo.

Figura 41: Janela de informação sobre o campo "Versão" do cabeçalho IP.

A página do Google acessada pelo usuário gerou um tráfego de DNS e uma conexão HTTP com mais de um servidor web. A mensagem de consulta DNS é mostrada na (Figura 42), que mostra o cabeçalho e a seção de pergunta da mensagem desse protocolo.

Figura 42: Janela de visualização de um pacote, mostrando a mensagem DNS.

Os pacotes da conexão HTTP com o servidor da página web foram capturados, e um deles é apresentado na Figura 43, que exibe a linha de método (POST), alguns parâmetros e o corpo da mensagem.

Figura 43: Cabeçalho de uma requisição HTTP.

As comunicações realizadas durante a captura são reconhecidas quando o usuário aperta o botão “Analisar troca de mensagens...”. Nesse momento, uma janela é aberta para o usuário com todas as comunicações realizadas, mostrando as extremidades e a quantidade de pacotes trocados (Figura 44). A partir dessa janela o usuário pode visualizar o grafo com todas as extremidades identificadas na captura (Figura 45), visualizar um “log” das comunicações (Figura 46), ou analisar uma comunicação individualmente, selecionando-a em uma Combo- box.

Figura 45: Grafo representando as trocas de mensagens realizadas durante a captura.

Figura 46: Log de todas as comunicações realizadas durante a captura.

Na análise individual de uma comunicação, o usuário visualiza um esquema de troca de mensagens semelhante ao diagrama de sequência do UML. Cada extremidade é exibida como um endereço IP, e os pacotes trocados entre eles são separados por protocolo, em abas. Em cada aba de protocolo, os pacotes são vistos como setas entre as extremidades, organizadas sequencialmente. Todos os pacotes contêm um rótulo que informa qual o tipo de seu conteúdo.

As Figuras 47, 48, 49, 50, 51, 52 e 53 apresentam, respectivamente, trocas de mensagens dos protocolos ARP, ICMP, IP, UDP, DNS, TCP e HTTP.

Figura 47. Troca de mensagens ARP no SniffAndLearn.

Figura 49: Troca de datagramas IP no SniffAndLearn.

Figura 51: Troca de mensagens DNS no SniffAndLearn.

Figura 53: Troca de mensagens HTTP no SniffAndLearn.

Os testes também foram executados em outros dois sniffers disponíveis atualmente: Wireshark e Tcpdump. Como mostra a Figura 54, o Wireshark apresenta o pacote de uma mensagem DNS organizada por protocolos, mas o apresenta apenas de forma textual, sendo que algumas das informações são incompreensíveis (apresentadas em formato hexadecimal). O Tcpdump é um sniffer totalmente em modo texto, e é executado através do console. Essa ferramenta representa cada pacote como uma expressão textual, que possui algumas informações técnicas sobre o conteúdo (Figura 55). Em ambas as ferramentas, as comunicações individuais não são exibidas ou analisadas separadamente.

Documentos relacionados