1. Análise do tráfego de rede com a ferramenta de
gerenciamento de redes Wireshark
Adriana L. da Silva1
1
Universidade Federal do Pará – Campus Santarém
adriana.bsi2006@hotmail.com
Resumo. Este artigo descreve um breve estudo sobre o Wireshark, destacando
alguns conceitos e apresenta um experimento para caracterizar o tráfego
gerado por uma aplicação Web, visando compreensão dos conceitos e estudo
apresentado, e um maior conhecimento sobre gerenciamento de redes.
1. Introdução
Os meios de comunicação têm evoluído de tal forma, conectando pessoas em todo o
mundo, e um dos meios que possibilitam esta comunicação é a Rede de Computadores,
da qual a internet é uma das suas integrantes mais conhecidas. Antes do advento das
redes de computadores baseadas em algum tipo de sistema de telecomunicação, a
comunicação entre máquinas antigas eram realizada por usuários humanos através do
carregamento de instruções entre eles [1]. Com isso tem-se sido indispensável um bom
gerenciamento das redes.
Este artigo apresenta a ferramenta Wireshark, a qual pode ser muito útil para os
profissionais em gerenciamento de redes [13], apresentando conceitos importantes sobre
os protocolos TCP, UDP, ARP, HTTP, entre outros conceitos relevantes, com o
objetivo de demonstrar um experimento realizado no laboratório do Curso Bacharel em
Sistemas de informação, da universidade Federal, campus de Santarém e demonstrar na
prática os conceitos apresentados neste artigo.
Serão descritos nas próximas seções conceitos sobre Redes de Computadores,
protocolos, Wireshark e por fim será descrito o experimento que foi realizado através do
acesso a uma página Web e da execução do wireshark, que capturou imagens as quais
listaram objetos, protocolos, ações de conexão e ações de transferência de dados.
2. Redes de Computadores
Rede de Computadores são dois ou mais computadores ligados entre si com a finalidade
de compartilhar aplicativos, recursos, dados e periféricos [10]. Os impactos gerados
pelas redes de computadores são bastante relevantes, pois contribuíram e muito para
desenvolver algumas áreas que até então estavam obsoletas, dentre esses impactos pode-
se citar na economia, digitalização/Convergência, virtualização, globalização e educação
[3]. Ter uma rede de computadores não é o suficiente para uma boa comunicação, para
isso é necessário ter um bom gerenciador de redes, que detecte, diagnostique e solucione
problemas numa rede de forma eficaz. [5].
Uma rede de computadores pode ter várias utilizações como em aplicações
comerciais, aplicações domésticas e usuários móveis e tem como caracterizações a
2. topologia, tamanho, propriedade e tipo de meio físicos, mas isso não será analisado
profundamente, pois não é o objetivo desse artigo.
Para manter o bom funcionamento de uma rede de computadores é necessário o
auxílio de instrumentação adequada [6], na próxima seção serão apresentados conceitos
relacionados a protocolos.
3. Protocolos
Um protocolo é um método standard que permite a comunicação entre processos que se
executam eventualmente em diferentes máquinas, ou seja, é um conjunto de regras e
procedimentos para emitir e receber dados em uma rede [5].
A transmissão se inicia com um pedido de leitura ou escrita de um arquivo, o
qual também serve para pedir uma conexão. Se o servidor reconhece o pedido, a
conexão é aceita e o arquivo é transmitido. Cada pacote contém um bloco de dados e
deve ser reconhecido por um pacote de confirmação antes que o próximo pacote indica
o término de uma transmissão [8].
3.1 Tipos de Protocolos
Protocolos Abertos
São os protocolos padrões da Internet. Eles podem se comunicar com outros
protocolos que utilizam o mesmo padrão de protocolo.Um ótimo exemplo seria o
TCP/IP, pois ele pode se comunicar com várias plataformas.
Protocolos Específicos
São feitos para ambientes específicos, ele só pode se comunicar com uma só
plataforma padrão. Como é o caso do IPX/SPX, ele só funciona em uma conexão Novell
Netware para Novell Netware [9].
3.1. TCP
O TCP é um protocolo de transporte confiável da camada de transporte, orientado para
conexão, da internet. Ele está definido nas RFCs 793, 1122, 1323, 2018 e 2581. Ele age
juntamente com o IP [2].
O TCP é um protocolo de transporte, é ele que entrega a transmissão correta dos
pacotes. Uma das características do TCP é que ele é confiável, pois ele possui
gerenciamento de erros [9].
• Ele coloca números nos pacotes, isso pode ser considerado como um item de
segurança, pois, o receptor vai saber se faltou algum pacote na transmissão.
• Ele espera a resposta do destino para saber se ele realmente recebeu o pacote.
• Se algum pacote não for enviado corretamente, ele fará a retransmissão dos
pacotes.
3.4. HTTP
HTTP é um protocolo, com uma série de regras que definem como um determinado
diálogo deve ser conduzido. Basicamente o protocolo define que perguntas podem ser
feitas, e que respostas podem ser dadas a cada uma delas. Nesse diálogo, quem faz as
3. perguntas (ou requisições) é o cliente http, que pode ser um browser, um robô, um leitor
de tela, um script, ou qualquer outro programa que conheça e saiba como seguir o
protocolo. Quem dá as respostas é o servidor HTTP (ou servidor web) [11].
O objetivo do protocolo HTTP é permitir uma transferência de ficheiros
(essencialmente no formato HTML) localizados graças a uma cadeia de caracteres
chamada URL entre um navegador (o cliente) e um servidor Web (chamado de resto
http nas máquinas UNIX)[5].
3.3. ARP
O protocolo ARP tem um papel fundamental entre os protocolos da camada Internet da
seqüência TCP/IP, porque permite conhecer o endereço físico de uma placa de rede que
corresponde a um endereço IP.
Cada máquina ligada à rede possui um número de identificação de 48 bits. Este
número é um número único que é fixado a partir do fabrico da placa em fábrica.
Contudo, a comunicação na Internet não se faz diretamente a partir deste número, mas a
partir de um endereço dito lógico, atribuído por um organismo: o endereço IP.
Para fazer a correspondência entre os endereços físicos e os endereços lógicos, o
protocolo ARP interroga as máquinas da rede para conhecer o seu endereço físico,
seguidamente cria uma tabela de correspondência entre os endereços lógicos e os
endereços físicos numa memória secreta.
Quando uma máquina deve comunicar com outra, consulta a tabela de
correspondência. Se por acaso o endereço pedido não se encontra na tabela, o protocolo
ARP emite um pedido na rede. O conjunto das máquinas da rede vai comparar este
endereço lógico ao seu. Se uma dentre elas se identificar com esse endereço, a máquina
vai responder à ARP que vai armazenar o par de endereços na tabela de correspondência
e a comunicação vai então poder ter lugar [4].
3.3. UDP
O protocolo UDP (User Datagram Protocol) é um protocolo não orientado para a
conexão da camada transporte do modelo TCP/IP. Este protocolo é muito simples já que
não fornece controlo de erros, ou seja, ele não está orientado para a conexão [5].
Outra característica importante do UDP e neste ponto, semelhante ao TCP é que
ele se baseia em portas para a troca de informações, desta forma, é atribuída uma porta
ao destino e uma porta a origem [12] arquivo UDP. Ele é menos usado em casos de
segurança, pois não há gerenciamento de erros.
4. Wireshark
O WireShark serve para monitorar os pacotes de informações que trafegam através de
sua rede, um analisador de protocolos para redes de computadores e, no momento, é
considerado um dos mais utilizados para Linux no momento, desenvolvido pela
Ethereal. Está é uma ferramenta totalmente livreou seja, sem limitações. Ele utiliza
PCAP para capturar pacotes, de forma que ele só pode capturar pacotes em redes
apoiadas por PCAP [13].
As plataformas que o WireShark suporta são:
4. • UNIX
• Linux
• Solaris
• FreeBSD
• NetBSD
• OpenBSD
• MAC OS X
• Windows
O experimento realizado para este artigo foi feito no GNU/Linux, distribuição
Ubuntu 8.10.
5. Experimento e Resultados
Nesta seção será descrito como foi realizado o experimento e os resultados obtidos com
o mesmo.
Primeiramente reinicia-se o sistema para que todos os elementos de cache sejam
eliminados; então preparasse o Wireshark para captura em modo não promíscuo. Feito
isso, acessar o site http://cassio.orgfree.com/disciplinas/gredes/atividade1/atividade.htm.
Fig. 5.1. Site acessado para realizar o experimento.
Logo após digitar o número de matrícula, clicar em vai e através do Wireshark
observar o resultado esperando pelos pacotes de encerramento da conexão; após o
pacote de encerramento parar a captura.
O software irá analisar todos os pacotes que trafegam pela interface selecionada, porém
se o tráfego de pacotes for muito grande esta ferramenta proporciona um filtro, onde
apenas listará os pacotes que serão selecionados.
5. Fig. 5.1 Tela de execução do WireShark
Após a execução do WireShark são listados os pacotes, destinatários, remetentes,
protocolos e informações de cada pacote como mostra a imagem acima.
No início da execução o protocolo ARP que identifica endereço físico
corresponde ao endereço IP. Em seguida o protocolo TCP é referenciado pelo browser e
confirma a transferência confiável de dados, o processo de comunicação dividi-se em
três fases, o início onde o cliente envia segmento tipo SYN (pedido de conexão, com
número inicial da seqüência de numeração de bytes no sentido cliente - servidor), o
servidor reconhece pedido de conexão enviando segmento tipo SYN com bit de
reconhecimento (ACK) ligado e com número inicial de seqüência de numeração no
sentido servidor - cliente.e o destino envia segmento ACK reconhecendo SYN do
servidor, a troca de dados onde efetivamente ocorre a transferência de dados e o
encerramento da conexão que pode ser iniciada tanto pelo cliente como pelo servidor e
origem envia segmento FIN, o destino envia reconhecimento: ACK e algum tempo
depois a destino envia FIN (sinalizando fim da conexão) e por fim origem envia
reconhecimento [7].
Durante a realização dessas fases o protocolo HTTP é executado trocando
informações entre um browser e um servidor Web, através do GET que retorna o objeto,
ou seja, a informação. Por fim é encerrada a conexão por meio do protocolo ARP. Em
seguida o protocolo UDP que faz conexão não confiável, tentou uma conexão que não
pode ser concluída devido a algum erro, talvez por que não pôde ser atribuída uma porta
ao destino ou uma porta a origem.
6. 6. Conclusão
Cada vez mais as redes facilitado o dia-a-dia das pessoas com a praticidade e agilidade
que oferece, mas para isso é indispensável um bom gerenciamento de redes,
principalmente em organizações e empresas, onde a análise do tráfego da rede tem uma
grande importância.
Qualquer rede de computadores, com qualquer plataforma pode ser monitorada e
controlar todo o acesso da rede com o uso da ferramenta wireshark ,que além de um
software livre, atende as necessidades para gerenciar as redes e fazer os controles
cabíveis.
Referências
[1] BENTO, A. “História Redes de Computadores”. Disponível em:
<http://www.nordesteinfo.com.br/?cat=20>. Acesso em 01 out 2009.
[2] CANSIAN, A. M. “Camada de Transporte”. Disponível em:
<http://angel.acmesecurity.org/~adriano/redes/2009/net-adr-2009-slides-cap3.pdf>.
Acesso em 01 out 2009.
[3] DOTTI, F. L. “Redes de Computadores: Histórico, tendências, impactos”.
Disponível em: <http://www.inf.pucrs.br/~fldotti/redes/InternetHistoricoEvolucao
Impacto.PDF>. Acesso em 30 set 2009.
[4] KIOSKEA. “O protocolo ARP”. Disponível em:
<http://pt.kioskea.net/contents/internet/arp.php3>. Acesso em 30 set 2009.
[5] KIOSKEA. “O que é protocolo”. Disponível em:
<http://pt.kioskea.net/contents/internet/protocol.php3>. Acesso em 30 set 2009.
[6] LOPES, R. V. ; SAUVE, J. P. ; NICOLLETTI, P. S. “Melhores Práticas para
Gerência de Redes de Computadores”. 1. ed. Rio de Janeiro: Editora Campus, 2003.
373 p.
[7] O protocolo TCP. Disponível em: <http://www.cbpf.br/~sun/pdf/tcp.pdf>. Acesso
em 01 out 2009.
[8] Protocolos. Disponível em: <http://br.geocities.com/oligomes/Apostilas1/
protocolos.htm>. Acesso em 02 set 2009.
[9] Redes e Protocolos. Disponível em: <
http://belodemais.vilabol.uol.com.br/redeseprotocolos.htm>. Acesso em 01 out 2009.
[10] SANTOS, A. C. P. “Introdução a Gestão de Redes de Computadores”. Disponível
em:<http://www.juliobattisti.com.br/tutoriais/alexsantos/gestaoredescomputadores00
1.asp>. Acesso em 02 out 2009.
[11] TORRES, B. “Introdução ao protocolo HTTP”. Disponível em:
<http://www.obasicodaweb.com/introducao-ao-http/>. Acesso em 01 out 2009.
[12] UDP – Aspectos de Segurança. Disponível em:
<http://www.cbpf.br/~sun/pdf/udp.pdf>. Acesso em: 02 out 2009.
7. [13] Wireshark. Disponível em: <http://www.vivaolinux.com.br/artigo/Wireshark-
Artigo>. Acesso em 01 out 2009.