Você está na página 1de 9

Laboratrio Wireshark:

Primeiros passos

Suplemento de Redes de Computadores e a Internet:
Uma abordagem Top-Down, 5
th
ed., J.F. Kurose e
K.W. Ross


Diga-me eu esquecerei, ensina-me e eu poderei lembrar,
envolva-me e eu aprenderei. Provrbio Chins

2005-2012, J.F Kurose e K.W. Ross, Todos os Direitos
Reservados



O entendimento de uma pessoa acerca dos protocolos de rede pode estar
grandemente enraizado em ver os protocolos em ao e brincar com protocolos
observando a sequncia das mensagens trocadas entre duas entidades de protocolo,
mergulhando nos detalhes da operao do protocolo e fazendo os protocolos seguirem
certa forma de ao para ento observar essas aes e consequncias. Isso pode ser feito
em cenrios simulados ou em um ambiente real de rede como a Internet. Nos laboratrios
Wireshark que voc far nesse curso, voc administrar vrios aplicativos de rede em
diferentes cenrios usando seu prprio computador. Voc observar os protocolos de rede
em ao no seu computador, interagindo e trocando mensagens com protocolos de
entidades executadas em outros lugares na Internet. Assim, voc e seu computador vo
ser uma parte integrante desse laboratrio vivo. Voc observar e aprender enquanto
faz.

No primeiro laboratrio Wireshark voc ser familiarizado com o Wireshark e
far algumas capturas de pacotes de dados e observaes. A ferramenta bsica para
observar mensagens trocadas entre entidades executantes de protocolo chamada de
packet sniffer (farejador/capturador de pacotes). Como o nome sugere, um packet sniffer
captura mensagens sendo enviadas/recebidas do/ao seu computador; isso tambm vai
tipicamente armazenar e/ou exibir os contedos de vrios campos de protocolo nessas
mensagens capturadas. Um packet sniffer por si mesmo passivo. Ele observa
mensagens sendo enviadas e recebidas por aplicativos e protocolos rodando no seu
computador, mas nunca envia pacotes por si s. De modo semelhante, pacotes recebidos
nunca so explicitamente endereados ao packet sniffer. Em vez disso, o packet sniffer
recebe uma cpia dos pacotes que so recebidos/enviados dos pelos aplicativos e
protocolos rodados na sua mquina.

A Figura 1 mostra a estrutura de um packet sniffer. Na direita da Figura 1 esto
os protocolos (nesse caso, protocolos da internet) e aplicativos (como um web browser ou
cliente FTP) que normalmente so rodados no seu computador. O packet sniffer mostrado
dentro do retngulo tracejado na Figura 1 um adicional ao software usual do seu
computador e consiste de duas partes. A biblioteca de captura de pacotes recebe uma
cpia de todo quadro da camada de enlace que enviada pelo seu computador. Recorde-
se da discusso da seo 1.5 do livro texto (Figura 1.24 do livro) de que mensagens
trocadas por camadas mais altas de protocolos como HTTP, FTP, TCP, UDP, DNS, ou IP
so todas eventualmente encapsuladas nos quadros da camada de enlace que so
transmitidos atravs de meios fsicos como cabos de Ethernet. Na Figura 1, o meio fsico
proposto uma Ethernet, e assim todos os protocolos de camada superior so
eventualmente encapsulados em um quadro Ethernet. Assim, capturar todos os frames da
camada de enlace nos dar mensagens recebidas/enviadas de/por todos os protocolos e
aplicativos rodados no seu computador.
sistema
operacional
aplicao

captura de
pacote
(pcap)
cpia de todos os
quadros Ethernet
enviados/recebidos
aplicao (ex.: browser
www, cliente ftp)
Transporte (TCP/UDP)
Rede (IP)
Enlace (Ethernet)
Fsica
analisador
de pacote
packet sniffer
Figura 1: Estrutura de um packet sniffer
de/para rede de/para rede

O segundo componente de um packet sniffer o analisador de pacote, que mostra o
contedo de todos os campos dentro de uma mensagem de protocolo. Para fazer isso, o
analisador de pacote deve entender a estrutura de todas as mensagens trocadas pelos
protocolos. Por exemplo, suponha que estamos interessados em mostrar os vrios campos
das mensagens trocadas pelo protocolo HTTP na Figura 1. O analisador de pacote
entende o formato dos quadros Ethernet, e assim pode identificar o datagrama IP dentro
de um quadro Ethernet. Ele tambm entende o formato do datagrama IP, de tal forma
que pode extrair o segmento TCP dentro do datagrama IP. Finalmente, ele entende a
estrutura do segmento TCP, assim pode extrair a mensagem HTTP contida no segmento
TCP. Finalmente, o analisador entende o protocolo HTTP e assim, por exemplo, sabe que
os primeiros bytes de uma mensagem HTTP ir conter as sequncias de caracteres
GET, POST, ou HEAD, como mostrado na Figura 2.8 do livro.
Iremos usar o packet sniffer Wireshark [http://www.wireshark.org/] para esses
experimentos, nos permitindo mostrar os contedos de mensagens sendo
transmitidas/recebidas de/por protocolos de diferentes nveis da pilha de protocolos.
(Tecnicamente falando, Wireshark um analisador de pacote que usa uma biblioteca de
captura de pacote do seu computador). Wireshark um analisador de pacote de rede livre
que roda em computadores Windows, Linux/Unix, e MAC. Ele um analisador de
pacotes ideal para nossos laboratrios ele estvel tem uma grande base de usurios e
suporte bem documentado que inclui um guia de uso
(http://www.wireshark.org/docs/wsug_html_chunked/), pginas de manuais
(http://www.wireshark.org/docs/man-pages/), e um FAQ detalhado
(http://www.wireshark.org/faq.html), rica funcionalidade que inclui a capacidade de
analisar centenas de protocolos, e uma interface bem projetada. Ele opera em
computadores que utilizem Ethernet, serial (PPP e SLIP), LANs sem fio 802.11, e muitas
outras tecnologias de camada de enlace (se o Sistema Operacional que est sendo
executado permite que o Wireshark use tais tecnologias).
Obtendo o Wireshark

A fim de executar o Wireshark, voc precisar ter acesso a um computador que tenha
suporte ao Wireshark e biblioteca de captura de pacote libcap ou WinPCap. O software
libcap ser instalado para voc (se no estiver instalado no seu sistema operacional)
quando voc instala o Wireshark. Veja http://www.wireshark.org/download.html para
uma lista de sistemas operacionais suportados e sites de downloads.

Baixe e instale o software Wireshark:
V para http://www.wireshark.org/download.html e baixe e instale o executvel
Wireshark para o seu computador.
O FAQ Wireshark tem um nmero de dicas teis e pequenas informaes interessantes,
particularmente se voc tem problemas instalando ou executando o Wireshark.

Executando o Wireshark

Quando voc executa o programa Wireshark, uma tela de inicializao aparecer, como
mostrado abaixo:


Figura 2: Tela inicial do Wireshark

D uma olhada no lado superior esquerdo da tela voc ver uma lista de interfaces
(Interface List). Esta a lista de interfaces de rede do seu computador. Uma vez
escolhida uma interface, o Wireshark ir capturar todos os pacotes desta interface. No
exemplo acima, existe uma interface Ethernet (Conexo de rede Gigabit) e uma interface
wireless (Microsoft).

Se voc clicar em uma dessas interfaces para comear uma captura de pacote (ou seja,
para que o Wireshark comece a capturar todos os pacotes sendo transmitidos de/para a
interface), uma tela igual tela abaixo ir aparecer, mostrando informao sobre os
pacotes sendo capturados. Uma vez iniciada a captura de pacote, voc pode par-la
usando o menu Capture e selecionando Stop.


lista de
pacotes
capturados
detalhes do
cabealho
de pacote
selecionado
contedo do
pacote em
hexadecimal
and ASCII
Campo de
especificao
do filtro
menus
de comando
Figura 3: Interface Grfica do Usurio Wireshark, durante a captura de pacote e anlise

A interface Wireshark tem cinco componentes principais:
Os menus de comando so menus padres localizados no topo da janela. Para
ns, agora os menus de interesse so os menus File e Capture. O menu File
permite salvar dados da captura de pacote ou abrir um arquivo contendo dados de
captura de pacote anteriores, e sair da aplicao Wireshark. O menu Capture
permite comear a captura de pacote.
A janela de lista de pacotes mostra um resumo de uma linha para cada pacote
capturado, incluindo o nmero do pacote (atribudo pelo Wireshark; este no um
nmero de pacote contido em um cabealho de protocolo), o instante em que o
pacote foi capturado, os endereos de fonte e destino do pacote, o tipo do
protocolo, e informaes especficas do protocolo contidas no pacote. A lista de
pacotes pode ser ordenada de acordo com qualquer uma destas categorias ao
clicar no nome da coluna. O campo do tipo de protocolo lista o protocolo da
camada mais alta que enviou ou recebeu este pacote, ou seja, o protocolo que a
fonte ou destinatrio deste pacote.
A janela de detalhes do cabealho do pacote fornece detalhes sobre o pacote
selecionado (realado) na janela da lista de pacotes. (Para selecionar um pacote na
janela da lista de pacotes, posicione o cursor sobre a linha de resumo do pacote e
clique com o boto esquerdo do mouse). Esses detalhes incluem informaes
sobre o quadro Ethernet (assumindo que o pacote foi enviado/recebido por uma
interface Ethernet) e o datagrama IP que contem este pacote. A quantidade de
detalhes do Ethernet e da camada IP exibidos pode ser expandida ou minimizada
clicando nos botes +/- no lado esquerdo da linha do quadro Ethernet ou
datagrama IP na janela de detalhes do pacote. Se o pacote foi transportado sobre
TCP ou UDP, os detalhes do TCP ou UDP tambm sero mostrados, que podem
similarmente ser expandidos ou minimizados. Finalmente, detalhes sobre o
protocolo da camada mais alta que enviou ou recebeu este pacote tambm foram
fornecidos.
A janela de contedos do pacote exibe o contedo inteiro do frame capturado,
nos formatos ASCII e hexadecimal;
Prximo ao topo da interface grfica do usurio do Wireshark, est o campo de
exibio do filtro do pacote, onde um nome de um protocolo ou outra
informao pode ser inserida a fim de filtrar a informao exibida na janela da
lista de pacotes (e assim as janelas do cabealho do pacote e do contedo do
pacote). No exemplo abaixo, usaremos o campo de exibio do filtro do pacote
para fazer com que o Wireshark esconda (no mostre) pacotes exceto aqueles que
correspondem com as mensagens HTTP.

Usando Wireshark para uma Execuo de Teste

A melhor maneira de aprender sobre qualquer software experimentando! Assumiremos
que seu computador est conectado Internet por meio de uma interface Ethernet
cabeada. De fato, recomendo que voc faa este primeiro laboratrio em um computador
que tenha uma conexo Ethernet cabeada, em vez de apenas uma conexo sem fio. Faa o
seguinte
1. Inicie seu web browser favorito, que exibir sua pgina selecionada.
2. Inicie o software Wireshark. Voc ver inicialmente uma janela similar quela
mostrada na Figura 2. Wireshark ainda no comeou a capturar pacotes.
3. Para comear a captura de pacotes, selecione o menu Capture e selecione
Interfaces. Isso causar a exibio da janela Wireshark: Capture Interfaces,
como mostrado na Figura 4.
Figura 4: Janela de Interfaces de Captura do Wireshark

1. Voc ver uma lista de interfaces no seu computador assim como uma contagem
dos pacotes que foram observados nessa interface at o momento. Clique em
Start para a interface na qual voc queira comear a captura de pacotes (no caso,
a Conexo de rede Gigabit). A captura de pacotes comear agora Wireshark
est agora capturando todos os pacotes sendo transmitidos/recebidos de/por seu
computador!

2. Uma vez iniciada a captura de pacotes, uma janela similar quela exibida na
Figura 3 aparecer. Essa janela mostra os pacotes sendo capturados. Ao
selecionar o menu Capture e selecionando Stop, voc pode parar a captura de
pacotes. Mas no pare a captura de pacotes ainda. Vamos capturar alguns pacotes
interessantes primeiro. Para fazer isso, precisaremos gerar algum trfego de rede.
Vamos fazer isso usando um web browser, que usar o protocolo HTTP (que
iremos estudar em detalhes em sala de aula) para baixar contedo de um website.

3. Enquanto o Wireshark est rodando, entre com a URL:
http://gaia.cs.umass.edu/wireshark-labs/INTRO-wireshark-file1.html
e tenha esta pgina exibida em seu browser. A fim de exibir essa pgina, seu
browser far contato com o servidor HTTP em gaia.cs.umass.edu e trocar
mensagens HTTP com o servidor para baixar a pgina, como discutido na seo
2.2 do livro texto. Os quadros Ethernet contendo essas mensagens HTTP (assim
como todos os outros quadros passando atravs do seu adaptador Ethernet) sero
capturados pelo Wireshark.

4. Aps o seu browser ter exibido a pgina INTRO-wireshark-file1.html ( uma
simples de parabns), pare a captura de pacotes do Wireshark selecionando stop
na janela de captura do Wireshark. A janela principal do Wireshark dever agora
ser similar Figura 3. Agora voc tem pacotes de dados ativos que contm todas
as mensagens dos protocolos trocadas entre o seu computador e outras entidades
de rede! A troca de mensagens HTTP com o servidor web gaia.cs.umass.edu
deve aparecer em algum lugar na listagem de pacotes capturados. Mas l estaro
vrios outros tipos de pacotes mostrados tambm (veja, por exemplo, os mais
diferentes tipos de protocolos mostrados na coluna Protocol na Figura 3). Mesmo
que a nica ao que voc tomou foi fazer download de uma pgina da web,
havia evidentemente muitos outros protocolos em execuo no computador que
no so vistos pelo usurio. Aprenderemos muito mais sobre estes protocolos a
medida que progredirmos atravs do livro texto! Por agora, voc deve apenas
estar ciente de que muitas vezes h muito mais acontecendo do que os olhos
veem"!

5. Digite http (sem as aspas, e em letras minsculas todos os nomes de
protocolos so em letras minsculas no Wireshark) na janela do campo de
especificao do filtro no topo da janela principal do Wireshark. Ento selecione
Apply (na direita de onde voc digitou http). Isto ir fazer com que somente
mensagens HTTP sejam exibidas na janela de listagem de pacotes.

6. Ache a mensagem HTTP GET que foi enviada do seu computador para o servidor
HTTP gaia.cs.umass.edu. (Procure por uma mensagem HTTP GET na lista de
captura de pacotes da janela do Wireshark (veja a Figura 3) que mostre GET
seguido pela URL gaia.cs.umass.edu que voc inseriu). Quando voc seleciona a
mensagem HTTP GET, o quadro Ethernet, datagrama IP, segmento TCP, e
cabealho da mensagem HTTP ser mostrada informao na janela de cabealho
do pacote
1
. O seu monitor Wireshark agora deve ser mais ou menos como se
mostra na Figura 5

7. Saia do Wireshark

Parabns! Voc acaba de completar seu primeiro experimento.




















Figura 5: Janela Wireshark depois do passo 9




















Fonte: Kurose http://www-net.cs.umass.edu/wireshark-labs/
Folha de Questes Wireshark
Experimento 1: Primeiros passos

Aluno 1: ________________________ Matrcula: ________________
Aluno 2: ________________________ Matrcula: ________________

Responda s seguintes questes, baseado na sua experincia com o Wireshark:

1. a) Liste 3 diferentes protocolos que aparecem na coluna de protocolos na janela
da lista de pacotes do passo 7 acima e diga a quais camadas eles pertencem.
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

b) Explique, de forma resumida, a funo de cada um desses protocolos (uma
linha para cada protocolo).
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

2. a) Quanto tempo demorou desde quando a mensagem HTTP GET foi enviada at
que a resposta HTTP OK foi recebida? (Por padro, o valor do da coluna Time na
janela da lista de pacotes a quantidade de tempo, em segundos, desde que o
rastreamento Wireshark comeou. Para mostrar o campo Time no formato de
tempo do dia, selecione o menu View, e selecione Time Display Format, ento
selecione Time-of-day.)
__________________________________________________________________
__________________________________________________________________

3. a) Qual o endereo de Internet (ou endereo IP) de gaia.cs.umass.edu (tambm
conhecido como www-net.cs.umass.edu)?
__________________________________________________________________

b) Qual o endereo de Internet do seu computador?
__________________________________________________________________

4. Imprima as duas mensagens HTTP (GET e OK) referidas na questo 2 acima.
Para fazer isso, selecione Print no menu de comando File, e selecione as opes
Selected Packet Only e Print as displayed, e ento clique em OK. Anexe na
folha de questes.