Escolar Documentos
Profissional Documentos
Cultura Documentos
1
Iniciando com o WireShark
Março 2024
1 Introdução
Esse manual é baseado em “Wireshark Lab: Getting Started”, versão 7.0 (2016),
de J.F. Kurose e K.W. Ross.
O entendimento dos protocolos de rede pode ser bastante aprofundado por
meio da “observação do funcionamento dos protocolos” e “da manipulação de
protocolos”, ou seja, observando a sequência de mensagens trocadas entre dois
hosts (hospedeiros) de rede, investigando os detalhes da operação do protocolo,
fazendo com que o protocolo execute certas ações e para em seguida observar
essas ações e suas consequências. Isso pode ser realizado em cenários simulados
ou em um ambiente de rede “real”, como a Internet. No laboratório Wireshark
que você fará no curso de Redes de Computadores, você executará várias apli-
cações de rede em diferentes cenários. Utilizando um computador (i.e., pessoal
ou do laboratório) você observará os protocolos de rede “em ação”, interagindo e
trocando mensagens com as entidades executadas em algum lugar da Internet.
Assim, você e seu computador serão parte integrante desse laboratório “ao vivo”.
Você observará e aprenderá fazendo.
Neste primeiro laboratório do Wireshark, você se familiarizará com o Wi-
reshark (uma ferramenta de captura de tráfego) e fará algumas capturas e ob-
servações simples de pacotes.
A ferramenta básica para observar as mensagens trocadas entre as entidades
em execução é chamada de sniffer. Como o nome sugere, um sniffer captura as
mensagens enviadas/recebidas pelo computador. Ele também normalmente ar-
mazena e/ou apresenta os conteúdos dos diversos campos dos protocolos nessas
mensagens capturadas. Um sniffer isoladamente é um elemento passivo. Ele
observa as mensagens sendo enviadas e recebidas pelas aplicações e protocolos
em execução, mas nunca envia pacotes. Da mesma forma, os pacotes recebi-
dos nunca são explicitamente endereçados ao sniffer. Em vez disso, um sniffer
recebe uma cópia dos pacotes que são enviados/recebidos de/para aplicações e
protocolos em execução em sua máquina.
A Figura 1 mostra a estrutura de um sniffer. À direita da Figura 1 estão os
protocolos (neste caso, protocolos da Internet) e aplicações (e.g., um navegador
da Web ou cliente ftp) que são normalmente executadas em no seu computador.
O sniffer, mostrado dentro do retângulo tracejado na Figura 1, é uma adição
2
aos softwares atuais do seu computador e consiste em duas partes (i.e., bibli-
oteca de captura de pacotes e analisador de pacotes). A biblioteca de captura
de pacotes recebe uma cópia de cada quadro da camada de enlace, enviado ou
recebido por seu computador. Lembre-se que as mensagens trocadas por proto-
colos das camadas superiores, como HTTP, FTP, TCP, UDP, DNS ou IP, são
eventualmente encapsuladas em quadros que são transmitidos para o meio físico
como um cabo Ethernet.
Na Figura 1, assume-se que o meio físico é uma Ethernet (nós vamos entender
melhor o que é a Ethernet nas próximas aulas), dessa forma todos os protocolos
da camada superior são eventualmente encapsulados em um quadro Ethernet
(não confundir Ethernet com Internet). A captura de todos os quadros da
camada de enlace fornece todas as mensagens enviadas/recebidas de/para todos
os protocolos e aplicações em execução em seu computador.
3
biblioteca de captura de pacotes em seu computador). Wireshark é um analisa-
dor de protocolo de rede gratuito que roda em computadores Windows, Mac e
Linux/Unix.
É um analisador de pacotes ideal para nossos laboratórios, pois é estável,
tem uma grande base de usuários e suporte bem documentado que inclui um
guia do usuário (http://www.wireshark.orgdocswsug_html_chunked), páginas
de manual (http://www.wireshark.orgdocsman-pages), e uma seção de FAQ de-
talhado (http://www.wireshark.orgfaq.html), funcionalidade rica que inclui a
capacidade de analisar centenas de protocolos e uma interface de usuário bem
projetada. Ele funciona em computadores ligados a Ethernet, serial (PPP e
SLIP), LANs sem fio 802.11 e muitas outras tecnologias da camada de enlace
(se o sistema operacional no qual está sendo executado permitir que o Wireshark
o faça).
Executando o Wireshark
Ao executar o programa Wireshark, você obterá uma tela de inicialização pare-
cida com a tela abaixo apresentada na Figura 2. Diferentes versões do Wireshark
terão diferentes telas de inicialização – então não entre em pânico se a sua não
se parecer exatamente com a tela abaixo! A documentação do Wireshark afirma
que “Como o Wireshark é executado em muitas plataformas diferentes com mui-
tos gerenciadores de janelas diferentes, diferentes estilos aplicados e diferentes
versões do kit de ferramentas GUI usado, sua tela pode parecer diferente das
capturas de tela fornecidas. Mas como não há diferenças reais na funcionalidade,
essas capturas de tela ainda devem ser bem compreensíveis”.
Não há muita coisa interessante nesta tela. Mas observe que, na seção Cap-
tura, há uma lista das chamadas interfaces. O computador do qual estamos
tirando essas capturas de tela tem apenas uma interface real (“Wi-Fi en0”) para
acesso Wi-Fi. Todos os pacotes de/para este computador passam pela interface
Wi-Fi, então é aqui que são capturados os pacotes. Em um Mac, clique duas
4
Figura 2: Janela inicial do Wireshark
5
Figura 3: Interface gráfica do Wireshark durante a captura e análise de pacotes
pacotes pode ser ordenada de acordo com qualquer uma dessas categorias
clicando no nome de uma coluna correspondente. O campo tipo de proto-
colo lista o protocolo de mais alto nível que enviou ou recebeu esse pacote,
ou seja, o protocolo que é a origem ou o destino final desse pacote.
6
de listagem de pacotes.
Testando o Wireshark
A melhor maneira de aprender um novo software é o utilizando. Faça o seguinte:
1. Inicie seu navegador favorito, que exibirá a página inicial selecionada.
2. Inicie o software Wireshark. Você verá inicialmente uma janela semelhante
a mostrada na Figura 2. O Wireshark ainda não começou a capturar
pacotes.
3. Para iniciar a captura de pacotes, selecione o menu Capture e selecione
Interfaces. Isso fará com que a janela “Wireshark: Capture Interfaces”
seja exibida, como mostrado na Figura 4.
4. Você verá uma lista das interfaces em seu computador, bem como uma
contagem dos pacotes observados nessa interface até agora. Clique em
Start para a interface na qual deseja iniciar a captura de pacotes. A
captura de pacotes começará.
7
7. Depois que seu navegador exibir a página INTRO-wireshark-file1.html (é
uma simples linha de parabéns), interrompa a captura de pacotes do Wi-
reshark selecionando Stop na janela de captura do Wireshark. A janela
principal do Wireshark agora deve ser semelhante à Figura 3. Agora você
tem dados de pacotes ativos que contêm todas as mensagens de protocolo
trocadas entre seu computador e outras entidades de rede! As trocas de
mensagens HTTP com o servidor web gaia.cs.umass.edu devem aparecer
em algum lugar na lista de pacotes capturados. Mas haverá muitos outros
tipos de pacotes exibidos também (veja, por exemplo, os diversos tipos de
protocolo mostrados na coluna Protocol na Figura 3). Mesmo que a única
ação que você tenha feito tenha sido baixar uma página da web, eviden-
temente havia muitos outros protocolos em execução em seu computador
que não eram vistos.
8. Digite “http” sem as aspas e minúsculo (todos os nomes de protocolo estão
em letras minúsculas no Wireshark) na janela de especificação do filtro de
exibição do Wireshark. Em seguida, selecione Apply (à direita de onde
você digitou “http”). Isso fará com que apenas a mensagem HTTP seja
exibida na janela de listagem de pacotes.
9. Encontre a mensagem HTTP GET que foi enviada do seu computador
para o servidor HTTP gaia.cs.umass.edu. (Procure uma mensagem HTTP
GET na parte “listing of captured packets” da janela do Wireshark (veja a
Figura 3) que mostra a mensagem “GET” seguida pela URL gaia.cs.umass.edu
que você digitou. Ao selecionar a mensagem HTTP GET, as informações
do quadro Ethernet, datagrama IP, segmento TCP e cabeçalho da men-
sagem HTTP são exibidas na janela de cabeçalho do pacote. É possível
ver os detalhes, expandindo ou comprimindo os itens com um clique nas
setas (’+’ e ’-’) ao lado dele.
8
Figura 5: Janela do Wireshark após o passo 9
9
4. Imprima as mensagens HTTP (GET e OK). Para fazer isso, selecione
Print no menu File e depois “Selected Packet Only"e “Print as displayed”
e clique em OK.
10