Download - Analisadores de protocolo: comparação e uso
UNIVERSIDADE FEDERAL DE PELOTASINSTITUTO DE FÍSICA E MATEMÁTICADEPARTAMENTO DE INFORMÁTICA
BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO
ANALISADORES DE PROTOCOLO: COMPARAÇÃO E USO
Jerônimo Medina Madruga
Trabalho de pesquisa apresentado na disciplina de Redes de Computadores 2 do Curso de Bacharelado em Ciência da Computação, Instituto de Física e Matemática, Universidade Federal de Pelotas. Professora: Ana Marilza Pernas
2007
Lista de Figuras
Figura 1 – Tela inicial do Wireshark ........................................................................ 12
Figura 2 – Tela de escolha de interface do Wireshark ........................................... 12
Figura 3 - Resultado de uma captura de pacotes no wireshark .............................. 13
Figura 4 – Tela Inicial do Ettercap ........................................................................... 14
Figura 5 - Resultado de uma captura de pacotes no Ettercap ................................ 14
Figura 6 - Conexões ativas capturadas pelo Ettercap............................................. 15
2
Sumário
Introdução ............................................................................................................. 4
1. Analisadores de protocolo .............................................................................. 5
2. Características dos analisadores de protocolo ................................................ 6
3. Wireshark ......................................................................................................... 9
4. Ettercap ........................................................................................................ 10
5. Uso dos softwares......................................................................................... 12
6. Conclusão ..................................................................................................... 16
Referências ......................................................................................................... 17
3
Introdução
O objetivo deste trabalho é apresentar conceitos sobre softwares
analisadores de protocolo, mostrando suas características básicas e
funcionalidades, e também fazer uma comparação entre dois programas desse
gênero, mostrando como funcionam e as diferenças entre eles.
4
1 Analisadores de Protocolo
Analisadores de protocolo são ferramentas capazes de monitorar o tráfego
de uma rede em tempo real, possuindo diferentes características e funcionalidades,
assim como formas variadas de apresentar as informações capturadas, variando de
acordo com o modelo do produto.
Os analisadores de protocolo permitem a monitoração de uma rede
transparentemente, sem interferir em nenhuma transmissão. Muitos modelos
permitem a captura e gravação, analisando e relatando para o gerente os pacotes
que foram transmitidos em uma rede. A captura pode ser feita ao nível de tráfego
global, mostrando tudo o que passa pela rede, ou de modo específico, capturando
pacotes de acordo com parâmetros escolhidos (tais como endereço origem, destino,
trechos de conteúdo).
Um analisador de protocolo pode ser utilizado para uma grande variedade
de propósitos, tais como a detecção de falhas de software e hardware, otimização
da rede, isolamento de cabos com problemas. Além disso, quando os analisadores
decodificam desde protocolos das camadas inferiores até protocolos das camadas
superiores, facilitam a localização de problemas em camadas específicas.
Os analisadores de protocolos são muito úteis para o gerenciamento de
redes, fornecendo informações para resolver seus problemas. Graças à coleta de
dados de tráfego da rede, apresentam o estado de muitas variáveis diferentes e as
estatísticas obtidas destas variáveis. Alguns analisadores possuem um pacote de
estatísticas sofisticado, que geram gráficos para análise visual. Com estes gráficos,
é possível observar diversos parâmetros da rede, tais como colisões, erros,
quantidade de quadros de broadcast, utilização da rede. Em posse destes dados, é
facilitada ao gerente a tarefa de identificar tendências, levantar hipóteses e efetuar
modificações antes da ocorrência de problemas, contribuindo em muito para a
gerência da rede.
5
2 Características dos analisadores de protocolo
Existem diversas características comuns aos analisadores de protocolo,
sendo assim, podemos ressaltar essas características como sendo as mais
importantes:
Captura e Armazenagem: Os pacotes capturados podem ser mostrados sem
filtros ao usuário, apresentando tudo o que passa pela rede. Porém, é importante a
capacidade de filtrar os pacotes de acordo com parâmetros escolhidos pelo gerente,
tais como endereço de origem, endereço de destino, palavra de conteúdo, etc.
Alguns analisadores mostram apenas os percentuais do que está passando pela
rede, de acordo com a decodificação efetuada, não oferecendo a possibilidade de
mostrar os pacotes efetivamente.
A captura de informações tem grande importância para o gerenciamento,
pois permite verificar a ocorrência de pacotes não sincronizados, corrompidos, com
erros de checksum, com falta de preâmbulo; permite verificar as percentagens de
pacotes grandes e pequenos, unicast ou broadcast; permite acompanhar o que os
usuários estão fazendo, detectando atividades ilegais e anti-éticas.
É importante também que os analisadores possuam a capacidade de
armazenar os dados em disco, de modo que seja possível ao gerente analisá-los
posteriormente e até compará-los com dados de outros testes.
Composição de tráfego: Como uma rede pode suportar vários tipos de
protocolos (TCP/IP, IPX, NetBios, DECnet, OSI, etc), é importante que os
analisadores analisem o conteúdo de todos os tipos de pacotes que estão
trafegando na rede. A ferramenta deve possuir a capacidade de decodificar os
campos dos pacotes e apresentá-los ao usuário, para permitir um controle do tráfego
da rede. Estes campos deve ser decodificados de modo a serem facilmente
compreendidos pelo usuário: endereços origem e destino podem ser convertidos
para os nomes das máquinas; os tipos de protocolos que estão sendo utilizados,
desde os níveis mais baixos até os mais altos, devem ser mostrados; assim como
outras informações que fazem parte do pacote capturado. Estas características
6
permitem que o gerente descubra mais rapidamente qual a estação está
transmitindo, qual a aplicação está sendo utilizada, etc, podendo avaliar de forma
mais rápida e eficiente a rede.
Além da capacidade de decodificar os pacotes capturados, alguns
analisadores apresentam ao usuário um percentual de quais aplicações estão sendo
mais utilizadas, e por quais máquinas. Isto é bastante importante no entendimento
de problemas de tráfego e desempenho, onde é importante entender a composição
do tráfego da rede.
É desejável que os analisadores suportem diferentes topologia de hardware
(tais como Ethernet, Token Ring, FDDI), bem como diferentes sistemas
operacionais.
Contagem de pacotes: A contagem de pacotes é uma medida que deve ser
oferecida pelos analisadores, de modo a se obter o número de pacotes que estão
sendo transmitidos pela rede. Preferencialmente, a contagem deve poder ser
subdividida em origem e destino do pacote, comprimento do pacote, tipo ou
condição de erro, pacotes corrompidos, etc. Essa medida é utilizada para indicar
quando um canal de transmissão está sobrecarregado.
Outra medida que deve ser oferecida é a vazão da rede, medindo o número
de quadros ou bits que estão passando através da rede. Esta medida é utilizada
para verificar se os problemas ocorrem em um certo intervalo de tempo ou podem
ser devidos a um certo evento específico.
Estatísticas: Para planejar o crescimento de uma rede, assim como
gerenciar novas tarefas, é necessário uma indicação de quanto trabalho está sendo
executado. O uso de estatísticas auxilia o planejamento, tornando possível verificar
o tempo de resposta de uma rede que esteja crescendo e aumentando a carga.
Além disso, tais estatísticas podem determinar o tamanho mínimo, máximo e médio
dos pacotes sendo transmitidos, o que é proveitoso para determinar qual o tipo de
atividade está predominantemente sendo usada na rede.
Analisadores de protocolos muitas vezes são capazes de coletar estatísticas
das estações separadamente, pela identificação fornecida pelos quadros que
trafegam pela rede. Isso é bastante desejável, sendo bastante útil para o
gerenciamento, pois permite detectar estações sobrecarregadas e muito utilizadas.
7
Simulação: Através de softwares especializados, se constroem pacote de
qualquer tamanho ou conteúdo, que são transmitidos. Estes pacotes podem conter
qualquer combinação de erros, endereços origem e destino, conteúdo de dados.
Assim, é possível testar dispositivos específicos como servidores, pontes e
roteadores para verificar a quantidade de tráfego que podem manipular, o seu
desempenho, etc. Pode-se utilizar a simulação também apenas para aumentar a
carga da rede artificialmente, fornecendo estatísticas não disponíveis numa situação
de rede normal.
Taxa de Colisões: Os analisadores devem informar a taxa de colisões e
erros que estão ocorrendo num teste.
A colisões ocorrem quando duas ou mais máquinas transmitem
simultaneamente. Quando a taxa de colisões está alta, é possível que a rede esteja
sobrecarregada, com número de nodos excessivo, com estações de trabalho em
número excessivo, com transmissões muito prolongadas, com transceptores
defeituosos ou com hardware ou software defeituosos, devendo ser analisada para
solução dos problemas.
Sistemas Especialistas: Atualmente, está crescendo dentre os analisadores
de protocolo a presença de sistemas especialistas. Com estes sistemas, problemas
são identificados e é apresentado ao usuário a solução a ser tomada, de acordo com
uma base de conhecimento criada anteriormente. São, muitas vezes, apresentadas
indicações específicas dos motivos para uma rede estar com desempenho ruim.
Além disso, um analisador inteligente tem a capacidade de capturar e relatar
somente condições e eventos significativos em uma rede.
8
3 Wireshark
Wireshark é um software analisador de protocolos que tenta capturar
pacotes de dados em uma rede e mostrar os dados sobre os mesmos da forma mais
detalhada possível.
Os principais propósitos deste software são:
Ajudar administradores de rede a detectar problemas na rede
Ajudar Engenheiros de segurança de redes a examinar os problemas
de segurança
Ajudar desenvolvedores a realizar inspeções na implementação de
protocolos
Ajudar pessoas a aprender os detalhes dos protocolos das redes.
As principais características do wireshark são:
Disponível para Windows e Unix.
Captura em tempo real de pacotes de dados de uma interface de rede
Mostra dos pacotes com informações sobre os protocolo muito
detalhada.
Possibilidade de abrir e salvar arquivos com informações sobre os
pacotes capturados.
Importação e exportação dos dados dos pacotes para formatos de
diversos outros programas de captura.
Filtragem de pacotes por diversos critérios.
Procura de pacotes por diversos critérios.
Pacotes mostrados de forma colorida de acordo com os filtros.
Criação de diversos tipos de estatísticas.
É um software livre segundo a licença GPL versão 2.
9
4 Ettercap
EtterCap é descrito como um sniffer multi-propósito, interceptador de
pacotes e Logger para LANs com switches.
Ele suporta dissecação ativa e passiva de protocolos, até mesmo os
encapsulados, e inclui várias funcionalidades para análise de rede e de hosts. Entre
as funcionalidades estão:
Injeção de caracteres em conexões estabelecidas: O Ettercap pode
injetar caracteres para o servidor (emulando comandos) ou para o
cliente (emulando respostas) mantendo as conexões vivas.
Suporte ao SSH1: O Ettercap pode capturar usuário e senha, mesmo
através de uma conexão criptografada SSH1.
Suporte à HTTPS: O Ettercap pode capturar dados http SSL, até
mesmo se a conexão for feita por um PROXY.
Tráfego remoto através de GRE tunnel: O Ettercap pode capturar
tráfego remoto passando através de um tunel GRE de um roteador
Cisco remoto e fazer um ataque mitm (man in the middle) no roteador.
PPTP broker: O Ettercap pode fazer ataques mitm contra dados
tunelados por PPTP.
Coletor de password para: TELNET, FTP, POP, RLOGIN, SSH1, ICQ,
SMB, MySQL, HTTP, NNTP, X11, NAPSTER, IRC, RIP, BGP,
SOCKS 5, IMAP 4, VNC, LDAP, NFS, SNMP, HALF LIFE, QUAKE 3,
MSN, YMSG.
Filtro de pacotes / derrubar pacotes: O Ettercap pode configurar um
filtro de pacotes para procurar uma string em particular (até mesmo
hex) no conteúdo dos pacotes TCP e UDP e substituir uma string por
uma especificada pelo usuário ou simplesmente derrubar o pacote
todo.
Identificação de Sistema Operacional: O Ettercap pode descobrir SO
do host vítima ou até mesmo da sua interface de rede.
Terminar uma conexão: A partir de uma lista de conexões, o Ettercap
pode terminal qualquer conexão que usuário queira.
10
Scanner passivo da LAN: Você pode conseguir informações sobre: os
hosts que estão na LAN, porta abertas, versão de serviços, tipo de
host (gateway, roteador ou um host simples) e a distância estimada
em hops (saltos).
Checagem de outros atacantes: o ettercap tem a habilidade de achar
outros atacantes na LAN.
11
5 Uso dos softwares
Wireshark:
Faça o download e instale o programa. Quando for perguntado se o WinPcap
deve ser instalado, responda que sim caso o Wincap não esteja instalado no
sistema. Como o WireShark precisa desta biblioteca de captura de pacotes para
funcionar, ela está incluída no instalador. Concluída a instalação, rode o programa e
ele deverá ter uma interface semelhante a ilustrada na Fig.1:
Figura 1: Tela inicial do wireshark
Após ter aberto o programa, deve ser indicada a interface de rede que deve
ser rastreada. Para realizar essa ação, clique no menu “Capture”, e depois na opção
“Interfaces” para abrir a janela de escolha mostrada na Fig.2:
Figura 2: Tela de escolha de interface do Wireshark
12
Escolha uma interface e clique no botão “Start”- se a interface estiver ativa, o
rastreamento começa imediatamente e a janela principal do WireShark começa a
mostrar uma porção de pacotes., como pode ser visto na Fig.3:
Figura 3: Resultado de uma captura de pacotes no wireshark
Para interromper a captura de pacotes clique no quarto botão da barra de
ferramentas ou no item de menu “Capture” e na opção “Stop”. Após capturado os
pacotes a serem analisados, pode salvar as informações ou aplicar filtros sobre eles,
para mostrar somente os pacotes relevantes para uma certa atividade.
Ettercap:
Após ter sido instalado, inicie o programa (atenção, caso haja um erro na
execução, há possibilidade ser pela falta do Winpcap, que também necessário para
o funcionamento desse programa). A tela deve ser como ilustrado na fig.4
13
Figura 4: tela inicial do ettercap
Tendo iniciado o programa, escolha primeira mente o modo do programa,
entre inofensivo e modo promiscuo no menu de “Options” e depois clique no menu
“Sniff” e no tipo de atividade a ser realizada de acordo com a rede, “unified Sniffing”
ou “Bridged sniffing”. Após escolhido a atividade a ser realizada, devera ser
selecionada a interface a ser utilizada, como ilustrado abaixo na fig. 5:
Figura 5: Tela de escolha de interface no Ettercap
Depois da escolha da interface, escolha a opção “start sniffing” dentro do
menu “Start” e escolha uma das diversas opções desse software para verificar as
atividades na rede, como as conexões ativas no computador em questão, como é
demonstrado na fig. 6:
14
Figura 6: Conexões ativas capturadas pelo Ettercap
15
Conclusão
Nesse trabalho, foi possível verificar a vasta gama de possibilidades dos
analisadores de protocolo, tendo diversas características diferentes, pode se ver que
cada analisador de pacote pode ter objetivos completamente diferentes do que
softwares da mesma categoria, apesar de terem características muito similares.
Como exemplo disto, vemos a comparação entre o Wireshark, que contém
as funcionalidades de um analisador de pacotes passivo, com grande base de dado
de estáticas, informações detalhadas sobre os pacotes, diversos tipos de filtragem
de acordo com protocolos, enfim, diversos recursos que ajudam o administrador da
redes a analisar a rede ser interferir no seu funcionamento, já o Ettercap pode ser
visto como um programa mais intrusivo, com a possibilidade de captura de senhas,
quebra de criptografia, mac spoofing e ataque de ARP, ferramentas que tem uma
utilização mais ligada a verificação da segurança da rede.
16
Referências
http://pt.wikipedia.org/wiki/Wireshark
http://en.wikipedia.org/wiki/Wireshark
http://www.sailingcrusade.com/?p=21
http://ettercap.sourceforge.net/
http://www.openmaniak.com/ettercap.php
http://sectools.org/sniffers.html
http://wiki.wireshark.org/
http://www.rootshell.be/~dhar/downloads/Sniffers.pdf
http://web.archive.org/web/20050221103207/http://www.robertgraham.com/pubs/sniffing-faq.html
http://www.irongeek.com/i.php?page=security/AQuickIntrotoSniffers
17