Você está na página 1de 10

Abstract

Antes de iniciarmos nos laboratórios de classificação de dados e tráfego


de rede é importante vocês terem uma ideia mais prática sobre como mo-
nitorar o tráfego e capturá-los em um arquivo do tipo pcap (mencionado
em sala) usando a ferramenta tshark e seu ambiente gráfico o Wireshark.
Assim, esse laboratório visa lhe dar uma visão sobre esta ferramenta.

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.

Figura 1: Estrutura de um sniffer

O segundo componente de um sniffer é o analisador de pacotes, que exibe


o conteúdo de todos os campos dentro de uma mensagem de protocolo. Para
isso, o analisador de pacotes deve “entender” a estrutura de todas as mensagens
trocadas pelos protocolos. Por exemplo, suponha que estamos interessados em
exibir os vários campos nas mensagens trocadas pelo protocolo HTTP na Figura
1. O analisador de pacotes entende o formato dos quadros Ethernet, portanto,
pode identificar o datagrama IP dentro de um quadro. Ele também entende o
formato do datagrama IP, para ele que possa extrair o segmento TCP dentro do
datagrama IP. Além disso, ele entende a estrutura do segmento TCP, para que
possa extrair a mensagem HTTP contida no segmento TCP. Finalmente, ele
entende o protocolo HTTP e então, sabe, por exemplo, que os primeiros bytes
de uma mensagem HTTP contém a string “GET”, “POST” ou “HEAD”.
Nós utilizaremos o sniffer Wireshark (http://www.wireshark.org/) para esse
laboratório, o que nos permite exibir os conteúdos das mensagens sendo envi-
adas/recebidas de/para protocolos em diferentes níveis da pilha de protocolos.
Tecnicamente falando, o Wireshark é um analisador de pacotes que usa uma

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).

Como obter o Wireshark


Para executar o Wireshark, você precisará ter acesso a um computador que su-
porte tanto o Wireshark quanto a biblioteca de captura de pacotes libpcap ou
WinPCap. O software libpcap precisa ser instalado em seu sistema operacional
antes de instalar o Wireshark. Consulte http://www.wireshark.org/download.html
para obter uma lista de sistemas operacionais suportados e sites para downloads.
Baixe e instale Wireshark:

• Acesse http://www.wireshark.org/download.html baixe e instale o Wi-


reshark para o seu computador.

O FAQ do Wireshark tem várias dicas úteis e informações interessantes,


especialmente se você tiver problemas para instalar ou executar o Wireshark

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

vezes nessa interface (ou em outro computador localize a interface na página de


inicialização através da qual você está obtendo a conectividade com a Internet,
(e.g., WiFi ou Ethernet) e selecione essa interface.
Vamos dar uma volta no Wireshark! Se você clicar em uma dessas interfaces
para iniciar a captura de pacotes (i.e., para que o Wireshark comece a capturar
todos os pacotes enviados de/para aquela interface), uma tela como a exibida
na Figura 3 será apresentada, mostrando informações sobre os pacotes que estão
sendo capturados. Após iniciar a captura de pacotes, você pode pará-la usando
o menu Capture e selecionando Stop.
A interface Wireshark tem cinco componentes principais:

• Os menus de comando (command menus) são localizados no topo da ja-


nela. Por enquanto interessam apenas os menus Files e Capture. O menu
File permite salvar dados de pacotes capturados, abrir um arquivo con-
tendo dados de capturas anteriores e sair do Wireshark. O menu Capture
permite iniciar a captura de pacotes.
• A janela de listagem de pacotes (packet-listing window) exibe um re-
sumo de uma linha para cada pacote capturado, incluindo o número do
pacote atribuído pelo Wireshark (i.e., este não é um número de pacote
contido no cabeçalho de um protocolo), a hora em que o pacote foi cap-
turado, a origem do pacote, endereço de destino, o tipo de protocolo, e
informações específicas de protocolo contidas no pacote. A listagem de

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.

A janela de detalhes do cabeçalho do pacote (packet-header details window)


fornece detalhes sobre o pacote selecionado. Para selecionar um pacote na janela
de listagem de pacotes, coloque o cursor sobre uma linha de resumo do pacote e
clique com o botão esquerdo do mouse. Esses detalhes incluem informações sobre
o quadro Ethernet (no exemplo assumi-se que o pacote foi enviado/recebido por
uma interface Ethernet) e datagrama IP. A quantidade de detalhes da camada
Ethernet e IP exibida pode ser expandida ou minimizada clicando nas caixas à
esquerda do quadro. Se o pacote foi transportado por TCP ou UDP, os seus
detalhes também serão exibidos e podem ser expandidos ou minimizados da
mesma forma. Por fim, também são fornecidos detalhes sobre o protocolo que
enviou ou recebeu esse pacote.
A janela de conteúdo do pacote (packet-contents window) exibe todo o con-
teúdo do quadro capturado, em formato ASCII e hexadecimal.
Na parte superior da interface gráfica do usuário do Wireshark, está o campo
de filtro de exibição de pacotes (packet display filter field). Nele podem ser
digitados o nome de um protocolo ou outra informações apresentada na janela

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á.

Figura 4: Janela de Captura do Wireshark

5. Uma vez iniciada a captura de pacotes, aparecerá uma janela semelhante


à mostrada na Figura 3. Esta janela mostra os pacotes que estão sendo
capturados. Ao selecionar o menu Capture e selecionar Stop, você pode in-
terromper a captura de pacotes. Mas não pare a captura de pacotes ainda.
Capturemos alguns pacotes interessantes primeiro. Para fazer isso, preci-
saremos gerar algum tráfego de rede. Façamos isso usando um navegador
da web que usará o protocolo HTTP.
6. Enquanto o Wireshark estiver em execução, insira a URL:
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file1.html. Para
exibir esta página, seu navegador entrará em contato com o servidor HTTP
em gaia.cs.umass.edu e trocará mensagens HTTP com o servidor para fa-
zer o download desta página. Os quadros Ethernet contendo essas mensa-
gens HTTP (assim como todos os outros quadros que passam pelo adap-
tador Ethernet) serão capturados pelo Wireshark.

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.

10. Sair do Wireshark.


Parabéns! Você concluiu o primeiro laboratório Wireshark.

8
Figura 5: Janela do Wireshark após o passo 9

2 O que deve ser entregue


O objetivo deste primeiro laboratório foi principalmente introduzir o Wireshark.
As seguintes questões demonstrarão que você conseguiu colocar o Wireshark em
funcionamento e explorou algumas das capacidades dele. Responda as seguintes
perguntas, com base em sua experimentação realizada com o Wireshark, e envie
o seu arquivo de resposta no formato PDF pelo Moodle:

1. Liste 3 protocolos diferentes que aparecem na coluna ‘Protocol’ na janela


de listagem de pacotes após o passo 7;
2. Quanto tempo levou entre a mensagem HTTP GET ser enviada até a
resposta HTTP OK ser recebida?; (Por padrão, o valor da coluna Time
na janela de listagem de pacotes é a quantidade de tempo, em segundos,
desde que a captura começou. Para exibir o campo Hora no formato
hora do dia, selecione o menu View, depois Time Display Format, então
selecione Time of day.
3. Qual é o endereço IP do site gaia.cs.umass.edu (também conhecido como
wwwnet.cs.umass.edu)? Qual é o endereço IP da interface de rede do seu
computador?;

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

Você também pode gostar