6
Analisando o tráfego gerado por uma aplicação Web com Wireshark Emanuella R. Camargo 1 1 Universidade Federal do Pará – Campus Santarém [email protected] Resumo. Este artigo tem como objetivo enfatizar de forma clara e objetiva conceitos sobre o protocolo TCP, conexões, transferência de dados além de utilizar a ferramenta Wireshark para a análise do tráfego, gerado por uma aplicação Web além de mostrar sua caracterização. 1. Introdução Com a popularização da Internet, problemas na rede são bastante freqüentes nas companhias hoje em dia. Os usuários reclamam de diversos problemas, tais como disponibilidade da rede, acesso lento durante os horários de pico, problemas de download e de acessos em geral. Mesmo os administradores de rede mais experientes precisam ter uma visão do estado da rede como um todo antes de resolver tais problemas. A melhor forma de obter tais informações é através do monitoramento. Existem várias ferramentas disponíveis para este propósito. Porém, é difícil encontrar uma única ferramenta que atenda a todas as necessidades de uma empresa ou cliente. Com embasamento aos diversos analisadores que são utilizados amplamente para os mais diversos fins, cita-se neste artigo o uso do Wireshark que é um dos sniffers (analisadores de tráfego de rede) mais conhecidos atualmente que ficou muito famoso com seu antigo nome, Ethereal. [6]. Sniffing, em rede de computadores, é o procedimento realizado por uma ferramenta conhecida como Sniffer (também conhecido Analisador de Rede, Analisador de Protocolo, etc) que é constituída de um software ou hardware, capaz de interceptar e registrar o tráfego de dados em uma rede de computadores. Essa captura de informações pode ser feita pelo administrador de rede para checar se uma rede está operando eficientemente através da monitoração do fluxo de informações.[9]. O objetivo principal deste artigo é mostrar a caracterização do tráfego, seus protocolos, objetos, as ações de conexão, ações de transferência de dados e seus inter- relacionamentos, gerada por uma pequena aplicação Web, utilizando como metodologia a ferramenta Wireshark citando desde sua instalação às primeiras informações geradas ao longo da captura. Tendo como meta a análise do tráfego gerado para a compreensão efetiva de modo prático de como dois agentes se interrelacionam e todos os processos envolvidos. Além desta seção introdutória, o artigo é composto de mais cinco seções. A seção 2 introduz alguns dos principais conceitos sobre ferramentas de monitoração de tráfego de rede. A seção 3 apresenta alguns conceitos sobre o protocolo TCP e a seção 4 apresenta uma análise do tráfego gerado por uma aplicação Web. A seção 5 apresenta conclusões e por fim as referências bibliográficas.

1º Artigo De GerêNcia De Redes

  • Upload
    manustm

  • View
    1.163

  • Download
    1

Embed Size (px)

Citation preview

Page 1: 1º Artigo De GerêNcia De Redes

Analisando o tráfego gerado por uma aplicação Web com Wireshark

Emanuella R. Camargo1

1Universidade Federal do Pará – Campus Santarém

[email protected]

Resumo. Este artigo tem como objetivo enfatizar de forma clara e objetiva conceitos sobre o protocolo TCP, conexões, transferência de dados além deutilizar a ferramenta Wireshark para a análise do tráfego, gerado por uma aplicação Web além de mostrar sua caracterização.

1. Introdução

Com a popularização da Internet, problemas na rede são bastante freqüentes nas companhias hoje em dia. Os usuários reclamam de diversos problemas, tais como disponibilidade da rede, acesso lento durante os horários de pico, problemas de download e de acessos em geral. Mesmo os administradores de rede mais experientes precisam ter uma visão do estado da rede como um todo antes de resolver tais problemas. A melhor forma de obter tais informações é através do monitoramento. Existem várias ferramentas disponíveis para este propósito. Porém, é difícil encontrar uma única ferramenta que atenda a todas as necessidades de uma empresa ou cliente.

Com embasamento aos diversos analisadores que são utilizados amplamente para os mais diversos fins, cita-se neste artigo o uso do Wireshark que é um dos sniffers (analisadores de tráfego de rede) mais conhecidos atualmente que ficou muito famoso com seu antigo nome, Ethereal. [6]. Sniffing, em rede de computadores, é o procedimento realizado por uma ferramenta conhecida como Sniffer (também conhecido Analisador de Rede, Analisador de Protocolo, etc) que é constituída de um software ou hardware, capaz de interceptar e registrar o tráfego de dados em uma rede de computadores. Essa captura de informações pode ser feita pelo administrador de rede para checar se uma rede está operando eficientemente através da monitoração do fluxo de informações.[9].

O objetivo principal deste artigo é mostrar a caracterização do tráfego, seus protocolos, objetos, as ações de conexão, ações de transferência de dados e seus inter-relacionamentos, gerada por uma pequena aplicação Web, utilizando como metodologia a ferramenta Wireshark citando desde sua instalação às primeiras informações geradasao longo da captura. Tendo como meta a análise do tráfego gerado para a compreensão efetiva de modo prático de como dois agentes se interrelacionam e todos os processos envolvidos.

Além desta seção introdutória, o artigo é composto de mais cinco seções. A seção 2 introduz alguns dos principais conceitos sobre ferramentas de monitoração de tráfego de rede. A seção 3 apresenta alguns conceitos sobre o protocolo TCP e a seção 4 apresenta uma análise do tráfego gerado por uma aplicação Web. A seção 5 apresenta conclusões e por fim as referências bibliográficas.

Page 2: 1º Artigo De GerêNcia De Redes

2. Ferramenta de Monitoração

Existem diversas ferramentas de monitoramento de redes disponíveis. Através da análise dos pacotes TCP/IP capturados da rede, o administrador de rede pode gerenciar melhor sua rede, realizar mapeamento das conexões TCP/IP de um determinado host, pela análise de tráfego originado ou destinado a determinado host; verificar níveis de segurança, observando se há dados secretos que não estão sendo criptografados; descobrir os serviços (SMTP, DNS, FTP, HTTP e outros) que os hosts da rede ETHERNET oferecem ou requisitam. [7]

O Wireshark é uma ferramenta que possibilita verificar o conteúdo dos pacotes de diversos protocolos, além de permitir a aplicação de filtros e a visualização de estatísticas sobre os dados obtidos. Apesar de dar suporte a dezenas de protocolos, ela não possui muitas opções de sumarização das informações. Como alternativa, os resultados podem ser exportados para outros formatos, podendo ser analisados por outros aplicativos. [5]

2.1. Wireshark

O Wireshark, programa cuja funcionalidade é a análise do tráfego de rede. Idealizado em 1997 por Gerald Combs, inicialmente devido a necessidade de rastrear redes, e lançado em 1998 sob o nome de Ethereal, o aplicativo contou com uma vasta comunidade de colaboradores, que aproximadamente 10 anos depois, possibilitaram, por fim, o lançamento da atual versão. [3]

A nova versão traz correções de bugs, um pacote experimental para o MacOS X, suporte aos protocolos IEEE 802.15.4, Infiniband, Parallel Redundancy Protocol, RedBack Lawful Intercept e Xcsl, além de atualizações no suporte a protocolos já previamente suportados, capacidade de leitura de arquivos do Hilscher Analyzer, dentre outros. [3]

Esse programa verifica pacotes transmitidos pelas interfaces de comunicação do PC e tem como objetivo detectar problemas de rede, conexões suspeitas, auxiliar no desenvolvimento de aplicações entre outras. Wireshark também conhecido por tubarão dos fios é uma ferramenta totalmente livre, é muito utilizada por usuários de Linux. São inúmeras as funcionalidades desta ferramenta entre filtros e muitas informações, o utilizador consegue ter um controle total sobre os dados que são transmitidos na rede em diferentes protocolos. [1]

3. Visão sobre TCP

O TCP (Transmission Control Protocol) é um dos principais protocolos da camada de transporte do modelo TCP/IP. Permite, a nível de aplicações, gerir os dados em proveniência da (ou com destino à) camada inferior do modelo (o protocolo IP). Quando os dados são fornecidos ao protocolo IP, este encapsula-os em datagramas IP, fixando o campo protocolo em 6 (para saber que o protocolo ascendente é TCP). O TCP é um protocolo orientado para a conexão, ou seja, as duas máquinas comunicantes controlamo estado da transmissão. [4]. Com protocolo TCP, as aplicações podem comunicar-se de forma segura, independentemente das camadas inferiores. Isto significa que routers (que trabalham na camada Internet) têm como único papel o encaminhamento dos dados sob a forma de datagramas, sem se preocuparem com o controle dos dados, porque este é realizado pela camada transporte (protocolo TCP).

Page 3: 1º Artigo De GerêNcia De Redes

O protocolo TCP permite assegurar a transferência dos dados de maneira confiável, embora utilize o protocolo IP, que não integra nenhum controle de entrega de datagrama. Na realidade, o protocolo TCP possui um sistema de aviso de recepção que permite ao cliente e ao servidor terem a certeza da recepção correta e mútua dos dados. Quando da emissão de um segmento, um número de ordem (chamado também número de sequência) é associado. Da recepção de um segmento de dado, a máquina receptora vai devolver um segmento de dado cuja bandeira ACK é 1 (para assinalar que se trata de um aviso de recepção), acompanhado de um número de aviso de recepção igual ao número de ordem precedente. [8]

No processo de análise do tráfego de uma rede é necessário a combinação de conhecimentos sobre os diversos protocolos existentes e dos elementos que fazem parte desse processo, como objetos, relações de envio e recebimento, etc.

4. Análise do Tráfego gerado por uma aplicação Web

Depois que a ferramenta Wireshark foi instalada. Os seguintes passos foram realizados:

Configurou-se a ferramenta para o modo não-promíscuo (neste modo a interface capturará somente os pacotes que são destinados à ela) para que pudesse iniciar a captura de pacotes;

Foi acessado o site em que constava uma aplicação Web, em que nos mostrava um campo para inserir a matrícula do aluno e logo após retornaria alguns objetos (imagens).(http://cassio.orgfree.com/disciplinas/gredes/atividade1/atividade.htm)

Uma vez preparado o Wireshark, e realizado o passo anteriormente citado, parou-se a captura dos pacotes para que se procedesse a análise e caracterização do tráfego, gerado pela aplicação Web.

4.1. Caracterização do tráfego

Uma vez realizado os passos da seção anterior, a análise do tráfego foi realizada.

Na tela principal, temos a lista dos pacotes, com várias informações, como o remetente e o destinatário de cada pacote, o protocolo utilizado (TCP, HHTP, etc.) e uma coluna com mais informações, que incluem a porta TCP à qual o pacote foi destinado. Endereço IP da máquina 192.168.8.237 (cliente) realizando requisições à maquina com IP 216.245.205.125 (servidor).

O protocolo TCP (Transmission Control Protocol - Protocolo de Controle de Transmissão) é acionado pelo browser (ao consultar o link (http://cassio.orgfree.com/disciplinas/gredes/atividade1/atividade.htm). O browser fornece algumas informações para que o TCP possa montar seu pacote. Este primeiro pacote é passado para o protocolo IP (Internet Protocol) - responsável pelo roteamento, isto é, precisa definir a origem e o destino do pacote para que ele possa ser direcionado corretamente. O IP adiciona as informações que são da sua competência e encapsula o pacote recebido junto com o que ele produziu. O IP transfere este novo embrulho para a placa Ethernet que novamente encapsula-o. A porta TCP de origem é a 3320 e a porta TCP do destino deve ser a 80 (reservada para o HTTP). A porta de origem vai servir para direcionar a resposta e a porta do destino vai servir de informação para que o TCP da outra porta realize suas requisições. Os pacotes 1,2 e 3 [Figura 1], respectivamente,

Page 4: 1º Artigo De GerêNcia De Redes

representam o estabelecimento de conexão, onde são enviados pedidos de conexão (representado pela pela flag (bandeira) SYN), envios de flags de aceite de conexão na determinada porta e envio de aceite ao cliente (ACKnowledgement), representados respectivamente por SYN, ACK e por fim o ACK do cliente. [2] [10]

Nos pacotes 4,5, 6 ocorre a solicitação das página solicitada, depois há um retorno de ACK ao cliente e por fim é retornado a página HTML solicitada, respectivamente. Nos pacotes 7,8 e 9 ocorre novamente solicitação e recebimento de conexão ao clicar no link que levará à página da aplicação Web. O pacote 10, representa o momento em que o cliente no link para acessar a aplicação. Do pacote 12 ao 16 é o processo de solicitação de conexão e retorno de página HTML com a aplicação que solicita a inserção do número de matrícula. Do pacote 19 ao 50 ocorrem uma série de requisições de conexões, inclusive nesse intervalo é que a página que consta a aplicação em JavaScript é recebida para que o usuário forneça o número de matrícula. Nesse período também a conexão é encerrada e nos pacotes finais que foram capturados 51 ao 58, são exibidos os objetos (Gifs) e por fim no pacote que parada a captura, apresenta duas falhas que ocorreram ao longo da captura, falha esta que é destacada pela cor da faixa preta, que representa possívelmente um Pacote Defeituso, Duplicado ou Cópia de algum pacote recebido. (Figura 2).

Figura 1. Imagem do tráfego de rede. Captura feita no Wireshark.

Page 5: 1º Artigo De GerêNcia De Redes

Figura 2. Últimos pacotes capturados. Captura feita no Wireshark.

5. Conclusão

Diante da análise feita da captura de pacotes através da ferramenta Wireshark, constata-se que nem sempre os dados podem estar seguros em uma rede aparentemente protegida. Há profissionais que utilizam diversas ferramentas de maneira efetiva para o controle e boa gestão de rede, mas há também pessoas que tendo apenas uma base sobre protocolos, conexões, redes, etc podem utilizar esses conhecimentos indevidamente gerando diversos prejuízos à pessoas e organizações.

A ferramenta Wireshark é um ótimo analisador de tráfego de redes.

Será inevitável daqui há algum tempo que outras ferramentas melhores que a citada anteriormente apareçam no mercado, afinal, a tecnologia é relativamente dinâmica e extremamente peculiar ao que tange tanto a área de redes quanto a de gerência..

Referências

[1] BASSO, Ricardo D. Análise de Vulnerabilidade de Rede Sem Fio 802.11: Um estudo de caso em um órgão público municipal. Disponível em <http://tconline.feevale.br/tc/files/0002_1747.pdf>. Acesso em 02 de outubro de 2009.

[2] CONCEIÇÃO, Júlio H. Analisando o Three-Way Handshake. Disponível em <http://imasters.uol.com.br/artigo/13899/redes/analisando_o_three-way_handshake/imprimir/>. Acesso em 02 de outubro de 2009.

[3] GRIS – Grupo de Resposta a Incidentes de Segurança. Disponível em <http://www.gris.dcc.ufrj.br/bd/revistas/GRIS_Revista_02.pdf>. Rio de Janeiro. Acesso em 02 de outubro de 2009.

Page 6: 1º Artigo De GerêNcia De Redes

[4] KUROSE, James F. (2006) Redes de Computadores e a Internet: uma abordagem top-dow/ James E Kurose, Keih W Ross; tradução Arlete Simille Marques; revisão técnica Wagner Luiz Zucchi . – 3º Edição. – São Paulo: Pearson Addison Wesley.

[5] LIGOCKI, Natasha P, HARA. Carmem S. Uma Ferramenta de Monitoramento de Redes Usando Sistemas de Gerenciadores de Streams de Dados. Disponível em <http://www.inf.ufpr.br/carmem/pub/wgrs07.pdf>. Acesso em 02 de outubro de 2009.

[6] MERCÊS, Fernando. Sniffing com o Wireshark. Disponível em <http://www.mentebinaria.com.br/artigos/5-redes/16-sniffing-com-o-wireshark> Acesso em 02 de outubro de 2009.

[7] OLIVEIRA, Edilei M. de. Implementação de uma Ferramenta de Monitoração de Tráfego de Rede TCP/IP usando Winsock. Disponível em <http://www.rnp.br/newsgen/0209/monitoracao_trafego_winsock.html>. Acesso em 02 de outubro de 2009.

[8] O PROTOCOLO TCP. Disponível em <http://pt.kioskea.net/contents/internet/tcp.php3>. Acesso em 02 de outubro de 2009.

[9] PETRACIOLI, Fernando. Sabe o que São Sniffing e Wardriving? Disponível em:

< http://pcworld.uol.com.br/dicas/2008/02/27/sabe-o-que-e-sniffing-e-wardriving/paginador/pagina_2>. Acesso em 02 de outubro de 2009.

[10] WIRESHARK: O DEVORADOR DE PACOTES. Disponível em <http://numaboa.com.br/informatica/oficina/163-rede/720-wireshark?start=1>. Acesso em 02 de outubro de 2009.