Robert Shimonski
Novatec
Copyright © 2013 Elsevier Inc. All rights reserved. No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or any information storage and retrieval system, without permission in writing from the publisher. Details on how to seek permission, further information about the Publisher’s permissions policies and our arrangement with organizations such as the Copyright Clearance Center and the Copyright Licensing Agency, can be found at our website: www.elsevier.com/permissions. This book and the individual contributions contained in it are protected under copyright by the Publisher (other than as may be noted herein). This edition of THE WIRESHARK FIELD GUIDE ANALYZING AND TROUBLESHOOTING NETWORK TRAFFIC by Robert Shimonski is published by arrangement with ELSEVIER INC., a Delaware corporation having its principal place of business at 360 Park Avenue South, New York, NY 10010, USA. Nenhuma parte desta publicação pode ser reproduzida ou transmitida de qualquer forma ou por qualquer meio, eletrônico ou mecânico, incluindo fotocópia, gravação ou qualquer armazenamento de informação e sistema de recuperação, sem permissão por escrito da editora. Detalhes sobre como pedir permissão, mais informações sobre as permissões de políticas da editora e o acordo com organizações como o Copyright Clearance Center e da Copyright Licensing Agency, podem ser encontradas no site: www.elsevier.com/permissions. Este livro e as contribuições individuais contidas nele são protegidos pelos Copyright da Editora (além de outros que poderão ser aqui encontrados). Esta edição do livro THE WIRESHARK FIELD GUIDE ANALYZING AND TROUBLESHOOTING NETWORK TRAFFIC de Robert Shimonski é publicada por acordo com a Elsevier Inc., uma corporação de Delaware estabelecida no endereço 360 Park Avenue South, New York, NY 10010, EUA. Copyright © 2014 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates Tradução: Lúcia Ayako Kinoshita Revisão gramatical: Marta Almeida de Sá Editoração eletrônica: Carolina Kuwabata ISBN: 978-85-7522-388-8 Histórico de impressões: Dezembro/2013
Primeira edição
Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 – São Paulo, SP – Brasil Tel.: +55 11 2959-6529 Fax: +55 11 2950-8869 E-mail:
[email protected] Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec MP20131211
capítulo 1
Sobre o Wireshark
1.1 Introdução Profissionais da área de redes, operadores e engenheiros experientes em todo o mundo utilizam o Wireshark e ferramentas semelhantes para solucionar problemas, e abordaremos o como e o porquê disso. Nesta seção, discutiremos brevemente a história do Wireshark, bem como o uso da captura e análise de pacotes na área de redes. Em primeiro lugar, é necessário compreender a história do Wireshark e da captura e análise de pacotes para obter um entendimento sólido a respeito do propósito do uso dessa ferramenta. Após termos apresentado a história do Wireshark, discutiremos sobre sua versão mais recente, como obtê-la e o que é necessário preparar para fazer a instalação e a configuração do produto. Também discutiremos os aspectos básicos relacionados à captura e análise de pacotes para que você tenha conhecimento da finalidade para a qual a ferramenta é naturalmente usada. Este livro pode ser utilizado por iniciantes e por aqueles que ainda não têm experiência com redes, porém ter um conhecimento anterior e sólido sobre o assunto facilitará bastante a leitura, a compreensão e a absorção das informações contidas neste livro.
23
24
Wireshark • Guia Prático
1.2 O que é o Wireshark? A captura e a análise de protocolos não são nenhuma novidade; elas existem há décadas. Com a disponibilização de sistemas UNIX, muitas ferramentas contidas diretamente no sistema operacional permitiram a captura e a análise de dados no nível de pacotes com o intuito de permitir a resolução de problemas. Os dados que trafegam por uma rede, de clientes para servidores ou para impressoras ou que passam por pontos de acesso sem fio e pela Internet, movem-se na forma de sinais e frequências elétricas. Uma ferramenta para captura de pacotes (também chamada de analisador de rede) pode ser utilizada para capturar esses dados para análise. Um analisador de rede é uma ferramenta para solução de problemas usada para identificar e resolver problemas de comunicação em redes, planejar capacidades e realizar otimizações em redes. Os analisadores de rede podem capturar todo o tráfego que passa pela rede e interpretar o tráfego capturado para decodificar e interpretar os diferentes protocolos utilizados. Os dados decodificados são mostrados em um formato que facilita sua compreensão, por meio da remoção de camadas dos dados encapsulados utilizados para identificá-los ou para permitir que possam ser usados na rede. Um analisador de rede também pode capturar somente o tráfego que corresponda a critérios de seleção definidos por um filtro. Isso permite que um profissional capture somente o tráfego que seja relevante ao problema em questão. Um analisador de rede típico apresenta os dados decodificados em três painéis: • Summary (Resumo): apresenta um resumo de uma linha do protocolo da camada mais alta contido no frame, bem como o horário da captura, além dos endereços de origem e de destino. • Detail (Detalhes): Fornece detalhes sobre todas as camadas contidas no frame. • Hex (Hexa): Apresenta os dados puros capturados em formato hexadecimal. A figura 1.1 mostra a ferramenta Wireshark com dados capturados e prontos para inspeção. Nessa figura, podemos ver os três painéis sendo utilizados. De cima para baixo, podemos observar os painéis Summary
Capítulo 1 ■ Sobre o Wireshark
25
(Resumo), Detail (Detalhes) e Hex (Hexa). O painel Summary mostra os detalhes de alto nível como os números de sequência dos pacotes capturados, o horário da captura, os endereços de origem e de destino, o protocolo utilizado, o tamanho e outras informações. Se um pacote for selecionado no painel de resumo, informações mais detalhadas poderão ser visualizadas no painel de detalhes. Ao se aprofundar mais no nível de detalhes, é possível selecionar itens no painel Detail e observar, no painel Hex, os dados hexa específicos que foram capturados. À medida que avançarmos neste guia, exploraremos cada um dos painéis de forma mais detalhada e aprenderemos sobre as especificidades de como utilizá-los, como interpretar as informações contidas em cada um deles e como solucionar problemas. Os analisadores de rede também oferecem a possibilidade de criar filtros de apresentação para que um profissional da área de redes possa identificar rapidamente o que estiver procurando.
Figura 1.1 – Usando o Wireshark.
26
Wireshark • Guia Prático
Analisadores de rede mais sofisticados oferecem a possibilidade de efetuar análise de padrões. Esse recurso permite que o analisador de rede verifique milhares de pacotes e identifique problemas. O analisador de rede também pode informar as possíveis causas para esses problemas e oferecer dicas de como resolvê-los.
1.3 O que é análise de rede e de protocolo? A distribuição eletrônica de informações tem se tornado cada vez mais importante e a complexidade dos dados trocados entre sistemas vem aumentando a passos largos. As redes de computadores atualmente transportam todo tipo de tráfego contendo dados, voz e vídeos. As aplicações de rede exigem total disponibilidade, sem que haja interrupções ou congestionamento. À medida que os sistemas de informação em uma empresa se expandem e se desenvolvem, mais dispositivos de rede são implantados, resultando em extensas áreas físicas cobertas pelo sistema de redes. É muito importante que esse sistema de redes opere do modo mais eficiente possível, pois um período de tempo inoperante, além de representar um custo alto, também resulta em um uso ineficiente dos recursos disponíveis. A análise de rede e/ou de protocolo corresponde a um conjunto de técnicas que engenheiros e profissionais da área de redes utilizam para estudar as propriedades das redes, incluindo conectividade, capacidade e desempenho. As análises de rede podem ser utilizadas para estimar a capacidade de uma rede, observar características de desempenho ou planejar aplicações e atualizações futuras. Uma das melhores ferramentas para realizar análises de rede é um analisador de rede como o Wireshark. Um analisador de rede é um dispositivo que oferece uma ideia muito boa do que está acontecendo em uma rede ao permitir que seja possível dar uma olhada nos dados que trafegam por ela, pacote a pacote. Um analisador de rede típico entende diversos protocolos, o que permite apresentar conversações que ocorram entre os hosts de uma rede. O Wireshark pode ser utilizado com essa capacidade. Os analisadores de rede geralmente oferecem os seguintes recursos:
Capítulo 1 ■ Sobre o Wireshark
27
• capturar e decodificar dados em uma rede; • analisar atividades de rede que envolvam protocolos específicos; • gerar e apresentar estatísticas sobre a atividade da rede; • realizar análise de padrões da atividade da rede. A captura de pacotes e a decodificação de protocolos às vezes são chamadas de “sniffing”. Esse termo surgiu em virtude da natureza dos analisadores de rede, que possuem a habilidade de “farejar” (sniff, em inglês) o tráfego de rede e capturá-lo.
As figuras 1.1 e 1.2 mostram a ferramenta Wireshark com dados capturados, com um problema típico que pode ser atualmente visto em redes – um ARP (Address Resolution Protocol, ou Protocolo de Resolução de Endereços) storm. A figura 1.2 mostra como verificar os dados com mais detalhes a fim de solucionar o problema. Embora iremos nos envolver mais na inspeção detalhada do tráfego em capítulos posteriores, aqui você pode ver como um analisador de rede realiza uma “análise de protocolo”.
Figura 1.2 – Realizando uma análise de protocolo.
Ao decodificar a captura de pacotes ARP, podemos nos aprofundar no nível de detalhes da ferramenta (e dos pacotes) para descobrir os endereços de origem e de destino do storm. Porém o Wireshark não pode solucionar todos os problemas sem ter alguma ajuda! Em primeiro lugar, é necessário que você, o profissional com a mente curiosa, primeiro entenda em que
28
Wireshark • Guia Prático
local o Wireshark deve ser colocado para capturar esses dados. Em seguida, é necessário algum trabalho de inspeção e de análise dos dados capturados e, no mínimo, um entendimento básico sobre como os dados funcionam em uma rede. Também é necessário um trabalho de detetive de sua parte: será preciso saber como relacionar esse problema de ARP (na forma de um endereço MAC) com o cliente ofensor que está provocando o storm. Então você deverá saber como solucionar o problema em questão. Como podemos notar, a captura e a análise de protocolos com uma ferramenta de análise de redes como o Wireshark somente ajudam a ter uma ideia inicial do problema; nem sempre elas a resolvem diretamente para você.
•••
Esteja atento aos falsos positivos. O que isso quer dizer é que você pode ver um problema quando, na realidade, não é um problema, mas um comportamento normal. Você pode obter uma captura ou um relatório de um analisador de rede instruindo-o a respeito da existência de um problema quando, na verdade, isso não acontece. Usar um analisador de rede e realizar análises são funções de uma mente científica. Não só devemos questionar o que virmos, mas também pode ser necessário realizar testes e análises adicionais para descobrirmos a causa raiz de um problema. Não tire conclusões precipitadamente; organize cientificamente os dados, analise, realize pesquisas e discuta possibilidades com seus pares e colegas se não estiver certo a respeito de suas descobertas.
1.4 A história do Wireshark O Wireshark (http://www.wireshark.org/) é um aplicativo de software usado para capturar e inspecionar dados no nível de protocolo. À medida que os dados trafegam por uma rede, de clientes para servidores (por exemplo), eles são enviados, e, embora haja muitas ferramentas semelhantes, o Wireshark pode ser baixado gratuitamente da Internet. A história do Wireshark apresenta muitas reviravoltas. Apesar de a ferramenta sempre ter sido muito confiável e incrivelmente útil na maior parte do tempo, ela teve o nome alterado e mudou de mãos várias vezes.
Capítulo 1 ■ Sobre o Wireshark
29
Uma das primeiras versões bem conhecidas do Wireshark surgiu na forma do Ethereal. Em virtude de problemas legais e de direitos autorais, o nome foi alterado para Wireshark. No entanto podemos iniciar a história dessa ferramenta na época em que ela se chamava Ethereal. O Ethereal (e sua nova forma, o Wireshark) é um analisador de rede freeware de código aberto que pode ser baixado gratuitamente e usado em diversas plataformas de sistemas computacionais. Durante sua infância, ferramentas como o Sniffer Pro eram mais robustas e um tanto quanto mais caras. Outras ferramentas como aquelas vendidas pela Fluke Networks não só eram mais caras, como também eram distribuídas com um hardware, elevando seus custos. Quando foi disponibilizado, o Ethereal não era tão robusto e oferecia recursos para decodificação de protocolos, porém não tinha vários dos recursos que outras ferramentas disponíveis ofereciam, como a capacidade de monitoração de aplicativos, análises inteligentes, ferramentas sofisticadas para geração de relatórios e a capacidade de capturar frames corrompidos. O Wireshark corresponde à versão atual da ferramenta Ethereal, que atualmente inclui análises inteligentes e muitos outros recursos que estavam ausentes em versões anteriores. O WinPcap (http://www.winpcap.org/) é a “outra” aplicação que deve ser usada com o Wireshark. O WinPcap nada mais é do que uma biblioteca que o Wireshark acessa a partir do sistema Windows. Sistemas que não são baseados em Windows podem utilizar a libcap. Qualquer que seja a biblioteca usada, ela fornecerá um driver que possibilita a captura de pacotes no nível de sistema e de hardware. No próximo capítulo, aprenderemos que sua placa de interface de rede (NIC, ou Network Interface Card) deve ser utilizada em modo promíscuo para capturar pacotes e que o Wireshark utiliza essas bibliotecas para ter essa funcionalidade facilitada. Ao fazer download e usar o Wireshark, esse conjunto de bibliotecas acompanha a ferramenta e deve ser instalado junto com ela para que possa ser utilizado. Esse conjunto de bibliotecas é gerado e distribuído por uma empresa chamada CACE (http://www.cacetech.com/). Há alguns anos, a CACE foi comprada por uma empresa chamada Riverbed (http://www.riverbed.com/), que também é fornecedora de ferramentas, software e hardware para análise de redes e geração de relatórios. Com a Riverbed por trás da CACE e dando suporte ao Wireshark, é provável
30
Wireshark • Guia Prático
que esse trio poderoso de grupos não só possa conduzir a análise de redes a um novo patamar, mas também possa dar um impulso ao Wireshark para que ele se desenvolva e se torne um aplicativo mais robusto do que é atualmente.
Usando o tcpdump O tcpdump (http://www.tcpdump.org/) é um analisador de captura/pacote de protocolos usado na linha de comando. De modo muito semelhante ao Wireshark [que utiliza uma interface gráfica de usuário (GUI)], o tcpdump captura pacotes e mostra detalhes específicos sobre eles, os quais podem ser utilizados para análises mais minuciosas a respeito de um problema. Ele também funciona com a libcap e coloca a NIC em modo promíscuo possibilitando a captura de pacotes. O tcpdump mostra detalhes na linha de comando e pode ser personalizado por meio de opções que permitem mostrar mais ou menos detalhes específicos. É extremamente útil quando há necessidade de capturar dados no momento em que o problema ocorrer, pois normalmente está sempre instalado e pronto para ser usado na maioria dos sistemas, principalmente aqueles baseados em UNIX. Além disso, está disponível gratuitamente com o sistema operacional que você instalar. A figura 1.3 mostra o uso do tcpdump em um sistema UNIX. Nesse caso, podemos ver a conversação entre dois hosts, aquele no qual o tcpdump está instalado (a origem) e o endereço de destino com o qual ele está se comunicando. Como você pode observar aqui, é bem fácil usá-lo e manipulá-lo. Você pode obter praticamente os mesmos dados obtidos com o Wireshark ao usar o tcpdump, porém o Wireshark fornece mais complementos, por exemplo, uma GUI fácil de usar, uma ferramenta de análise inteligente e ferramentas para geração de relatórios. O tcpdump também pode ser encontrado em muitos dos firewalls baseados em UNIX instalados hoje em dia. Os firewalls, como aqueles da McAfee e da Juniper, possuem o tcpdump integrado em seus conjuntos de ferramentas para que possa ser facilmente acionado a fim de solucionar ou informar sobre um problema.
Capítulo 1 ■ Sobre o Wireshark
31
Figura 1.3 – Usando o tcpdump.
•••
Para as pessoas que utilizam sistemas baseados em Windows, é possível fazer o download e instalar o WinDump, que é a versão Windows para o tcpdump. Assim como o tcpdump utiliza a libcap, o WinDump utiliza o WinPcap, da mesma forma que o Wireshark no Windows. No Windows 7, Windows 8 e no Server 2008 SP2, o comando “netsh trace start capture=yes” é uma boa alternativa ao tcpdump. Nenhuma instalação é necessária para capturar pacotes.
1.5. Resolvendo problemas Agora que aprendemos sobre captura e análise de protocolos e como o Wireshark se enquadra nesse contexto, vamos continuar a expandir seu uso discutindo como ele pode ser utilizado para analisar dados. Vamos detalhar mais à medida que avançarmos neste livro, apesar disso, vale a pena introduzir o assunto para que possamos prosseguir a partir daí. Ao trabalhar com uma rede ou se você for diretamente responsável por ela, com frequência, você irá ouvir falar que ela apresenta problemas. Alguns desses problemas são solicitações comuns ao help desk, provenientes de usuários que não conseguem se lembrar de suas senhas de sistema, enquanto outros são requisições de usuários que não conseguem fazer login
32
Wireshark • Guia Prático
porque seus cabos de rede foram desconectados novamente. Embora sejam problemas comuns, e ocasionalmente irritantes, eles podem ser facilmente corrigidos por meio de uma rápida sucessão de passos destinados a solucionar o problema e, geralmente, exigem uma solução simples. Em seguida na lista de reclamações estão as solicitações de usuários que dizem que a rede está muito lenta. É uma reclamação comum, mas o que acontece quando quase todos os usuários de sua rede fizerem solicitações em massa reclamando da velocidade de seus logins, de aplicativos que travam ou de sessões que expiram? Obviamente, pode haver um problema com o desempenho da rede se a maioria dos usuários estiver fazendo reclamações. Para onde você deve olhar para começar a procurar a causa do problema? Com as redes corporativas se expandindo e se conectando a redes de outras empresas cada vez mais rapidamente, monitorar o desempenho da rede pode se tornar uma tarefa complicada. Para investigar os problemas e tentar descobrir a causa raiz, inicialmente é necessário isolá-los, monitorar o desempenho da rede usando o Wireshark e então trabalhar a fim de corrigi-los. Se o desempenho for o problema, quais são os vários aspectos que podemos observar no mapa para descobrir em que local os problemas estão ocorrendo e como diagnosticá-los corretamente? As perguntas que devem ser feitas imediatamente ao iniciar a análise de desempenho são: • O desempenho precário da rede está afetando um usuário, diversos usuários ou toda a rede? • O desempenho precário está centrado em um local em particular ou está presente em toda a rede? • Quando, exatamente, você começou a perceber que o desempenho está precário? Ou sempre foi ruim? • Houve alguma alteração recente – não importa se foi grande ou pequena? • Todos os aplicativos de um local em particular estão tendo problemas ou eles estão localizados em um aplicativo específico? • Você tem alguma documentação da rede ou mapas da topologia?
Capítulo 1 ■ Sobre o Wireshark
33
Isso é apenas uma amostra das perguntas que podem ser feitas, porém essas são as perguntas mais comuns. Em última instância, queremos usar o Wireshark para identificar e resolver problemas, contudo ele deve ser manipulado por alguém como você, que saiba como detectá-los. Descobrir, em detalhes, a causa raiz de um problema é o que podemos fazer ao usar essa ferramenta, caso seu trabalho de detetive seja executado corretamente. Você vai querer capturar dados da rede, analisá-los e usar modelos comuns de rede, conhecimentos sobre protocolos e metodologias específicas para auxiliar na análise do problema e dos dados capturados.
1.6 Usando o Wireshark para analisar dados O segredo para solucionar problemas de forma bem-sucedida é saber como a rede funciona em condições normais. Esse conhecimento permite que um engenheiro de rede reconheça operações anormais rapidamente. Ao usar uma estratégia para solucionar problemas de rede, o problema pode ser abordado de modo sistemático e pode ser resolvido com o mínimo de interferência nos usuários. Infelizmente, muitos profissionais da área de redes, com anos de experiência, ainda não dominaram o conceito básico de solucionar problemas; alguns minutos dedicados à avaliação dos sintomas podem economizar horas perdidas atrás do problema errado. Uma boa abordagem para a resolução de problemas envolve os passos a seguir: • reconhecer os sintomas e definir o problema; • isolar e compreender o problema; • identificar e testar a causa do problema; • resolver o problema; • verificar se o problema foi resolvido; • se o problema não for identificado, repetir os passos até resolvê-lo ou encontrar mais dados a serem analisados.
34
Wireshark • Guia Prático
O primeiro passo na tentativa de solucionar um problema de rede é reconhecer os sintomas. Você pode ouvir falar do problema de várias maneiras: um usuário final pode ter reclamado que está tendo problemas de desempenho ou de conectividade ou uma estação para gerenciamento de rede pode ter informado você a respeito do problema. Compare o problema com a operação normal. Determine se algo foi alterado na rede imediatamente antes de o problema ter começado a ocorrer. Além disso, verifique se você não está resolvendo algo que nunca havia funcionado antes. Redija uma definição clara do problema. Após o problema ter sido confirmado e os sintomas terem sido identificados, o próximo passo consiste em isolar e compreender o problema. Quando os sintomas ocorrerem, é sua responsabilidade coletar os dados para análise e identificar o local em que o problema ocorre. A melhor abordagem para reduzir o escopo do problema é por meio de métodos que utilizem o conceito de dividir para conquistar. Procure descobrir se o problema está relacionado com um segmento da rede ou com uma única estação. Determine se o problema pode estar duplicado em algum outro ponto da rede. O terceiro passo na resolução do problema consiste em identificar e testar a causa do problema. Você pode utilizar analisadores de rede e outras ferramentas para analisar o tráfego. Após desenvolver uma teoria a respeito da causa do problema, você deve testá-la. Depois que uma solução para o problema tiver sido determinada, é preciso colocá-la em prática. A solução pode envolver a atualização de hardware ou de software. Pode exigir o aumento de segmentação da LAN ou a atualização de hardware para aumento de capacidade. O último passo consiste em garantir que todo o problema tenha sido solucionado fazendo o usuário final testar a solução. Às vezes, uma correção de um problema pode criar um novo problema. Em outras ocasiões, o problema que você corrigiu pode ser um sintoma de um problema subjacente mais sério. Se o problema for realmente resolvido, documente os passos executados para solucioná-lo. No entanto, se o problema persistir, o processo de resolução de problemas deve ser repetido a partir do início.
Capítulo 1 ■ Sobre o Wireshark
35
Para entender a análise de rede, é muito importante aprender a teoria por trás do funcionamento das redes. Para que uma rede funcione, os computadores nela presentes devem concordar com um conjunto de regras. Um conjunto de regras como esse é conhecido como protocolo. Um protocolo em termos de rede é bem similar a um idioma em termos humanos. Dois computadores usando diferentes protocolos para conversar um com o outro seria como uma pessoa tentando se comunicar em japonês com outra pessoa que não entendesse esse idioma. Isso simplesmente não dá certo! Há muitos protocolos atualmente no mundo das comunicações em rede. No início da época das redes, cada fornecedor de rede criava seu próprio protocolo. Posteriormente, foram desenvolvidos padrões para que os dispositivos provenientes de vários fornecedores pudessem se comunicar uns com os outros usando um protocolo comum. O protocolo mais comumente utilizado é o TCP/IP (Transmission Control Protocol/Internet Protocol, ou Protocolo de Controle de Transmissão/Protocolo de Internet). Discutiremos os detalhes mais específicos do TCP/IP em capítulos posteriores, quando começarmos a explorar os pacotes capturados.
Para usar o Wireshark na resolução de problemas, você deve capturar dados de pontos estratégicos específicos que incluam a área em que o problema se encontra e deve analisar esses dados. Como exemplo, você pode ver detalhes específicos no resumo do Wireshark conforme mostrado na figura 1.4. Nessa figura, você pode ver dados específicos relacionados ao horário da captura. O motivo de isso ser relevante é porque você deve capturar os dados relacionados ao momento em que o problema ocorrer para descobrir qual é o problema. Dados capturados fora desse intervalo de tempo podem ser utilizados como base de referência da rede e de seu desempenho durante o uso normal, porém você terá de “esperar” que o problema tenha ocorrido nesse período e/ou filtrar os dados para identificá-lo caso, realmente, o problema tenha ocorrido. Na figura 1.4, podemos ver quantos pacotes foram capturados (sem filtragem), por quanto tempo, além de outros dados específicos comumente utilizados para identificar a captura.
36
Wireshark • Guia Prático
Figura 1.4 – Resumo de captura efetuada pelo Wireshark.
A figura 1.5 mostra outra ferramenta que pode ser utilizada no programa Wireshark. Por exemplo, suponha que você tenha um problema e queira a opinião do Wireshark sobre o que ele acha que poderia ser esse problema. Você pode perguntar ao Expert e descobrir. Embora essa informação nem sempre seja precisa em virtude dos falsos positivos, é possível começar a obter pistas. Dados que trafegam pela rede podem ser identificados como problemáticos, porém pode ser o modo como os dados funcionam normalmente, portanto podem não indicar um problema nem apontar para o problema específico sendo informado.
Figura 1.5 – Usando as guias de análise inteligente do Wireshark.
Capítulo 1 ■ Sobre o Wireshark
37
A figura 1.6 mostra dados mais detalhados, que podem ser obtidos a partir do Expert do Wireshark. Nesse local, podemos analisar mais “pistas”, porém, acima de tudo, podemos fazer explorações mais detalhadas partindo dessa ferramenta e retornando ao painel Summary do Wireshark para acessar diretamente o pacote que foi sinalizado de modo a gerar uma mensagem ou um alerta no Expert.
Figura 1.6 – Visualizando problemas com o Expert do Wireshark.
Na figura 1.6, podemos observar problemas específicos que podem estar ocorrendo no sequenciamento. Outra dica útil consiste em expandir os dados de sequência que foram sinalizados e dar um clique duplo no pacote sinalizado para inspecionar esse pacote em particular nos painéis Summary, Detail e Hex. Nem sempre confie no que o Wireshark diz a você. Falsos positivos podem ser enganosos. Podem conduzir você na direção errada. Entretanto é uma boa maneira de começar a usar a ferramenta para compreender melhor sua rede, os dados que trafegam por ela e a pilha TCP/IP.
1.7 O modelo OSI O modelo OSI (Open Systems Interconnection, ou Interconexão de Sistemas Abertos) é usado para proporcionar uma maneira metódica de abordar o modo como os dados trafegam por redes e sistemas e como eles funcionam com as aplicações utilizadas nesses computadores e nessas redes. É uma ferramenta útil que parece ser atemporal, pois é continuamente
38
Wireshark • Guia Prático
referenciada e utilizada atualmente desde sua concepção há muitos anos. Baseada no modelo de quatro camadas do Departamento de Defesa (DoD) na época em que a Internet (ARPAnet) foi inicialmente concebida, ela serve como uma maneira de ajudar não só na descrição do modo como os dados trafegam por sistemas e redes, mas também é uma ferramenta excelente na resolução de problemas. Quando os dados chegam a seus destinos, a camada física da estação receptora obtém esses dados e realiza o processo inverso (também conhecido como desempacotamento). A camada física converte os bits de volta para frames a fim de passá-los à camada de enlace de dados. A camada de enlace de dados remove o cabeçalho e o trailer e passa os dados para a camada de rede. Novamente, esse processo se repete até que os dados cheguem até a camada de aplicação. Na figura 1.7, podemos observar as camadas do modelo OSI. Modelo OSI Camada 7 Aplicação Camada 6 Apresentação Camada 5 Sessão Camada 4 Transporte Camada 3 Rede Camada 2 Enlace de dados Camada 1 Física
Figura 1.7 – O modelo OSI.
As camadas do modelo OSI estão descritas a seguir: • Camada de aplicação: é a camada mais alta do modelo OSI e responsável pelo gerenciamento de comunicações entre aplicações de rede. Essa camada não é a aplicação propriamente dita, embora algumas delas possam realizar funções da camada de aplicação.
Capítulo 1 ■ Sobre o Wireshark
39
Exemplos de protocolos da camada de aplicação incluem o FTP (File Transfer Protocol, ou Protocolo de Transferência de Arquivos), o HTTP (HyperText Transfer Protocol, ou Protocolo de Transferência de Hipertexto), o SMTP (Simple Mail Transfer Protocol, ou Protocolo Simples para Transferência de Correio) e o Telnet. • Camada de apresentação: essa camada é responsável pela apresentação, criptografia e compressão dos dados. • Camada de sessão: a camada de sessão é responsável pela criação e pelo gerenciamento de sessões entre sistemas finais. O protocolo da camada de sessão geralmente não é usado em diversos protocolos. Exemplos de protocolos da camada de sessão incluem o NetBIOS e o RPC (Remote Procedure Call, ou Chamada de Procedimento Remoto). • Camada de transporte: essa camada é responsável pela comunicação entre programas ou processos. Números de porta ou de sockets são usados para identificar unicamente esses processos. Exemplos de protocolos da camada de transporte incluem TCP, UDP (User Datagram Protocol) e SPX. • Camada de rede: essa camada é responsável pelo endereçamento e pela entrega de pacotes do nó de origem ao nó de destino. A camada de rede recebe dados da camada de transporte e os encapsula em um pacote ou datagrama. Endereços lógicos de rede geralmente são atribuídos aos nós nessa camada. Exemplos de protocolos da camada de rede incluem IP e IPX. • Camada de enlace de dados: essa camada é responsável pela entrega de frames entre as NICs no mesmo segmento físico. Ela está subdividida na camada MAC (Media Access Control, ou Controle de Acesso ao Meio) e na camada LLC (Logical Link Control, ou Controle de Enlace Lógico). A comunicação na camada de enlace de dados geralmente é baseada em endereços de hardware. A camada de enlace de dados encapsula dados da camada de rede em um frame. Exemplos de protocolos da camada de enlace de dados incluem Ethernet, o token ring, atualmente quase extinto, e o protocolo PPP (point-to-point, ou ponto a ponto). Dispositivos que operam nessa camada incluem bridges e switches.
40
Wireshark • Guia Prático
• Camada física: essa camada define conectores, fiações e as especificações de como a voltagem e os bits passam por meios ligados por fios (ou sem fios). Os dispositivos dessa camada incluem repetidores, concentradores e hubs. Os dispositivos que operam na camada física não têm conhecimento sobre caminhos. Ao usar o Wireshark, você deve considerar as metodologias usadas na resolução de problemas, bem como o modo como os dados funcionam nas redes e nos sistemas. Saber como disparar e executar a ferramenta não é suficiente! É preciso saber especificamente o local em que ela deve ser colocada, quando deve ser executada e o que você irá capturar. Então você terá de fazer análises, as quais testarão seu conhecimento sobre redes, computadores, aplicativos e sistemas.
1.8 Resumo Neste capítulo, aprendemos sobre a captura e a análise de protocolos, os fundamentos sobre o Wireshark, bem como o básico sobre como resolver problemas com ele. No próximo capítulo, aprenderemos a instalar e configurar o Wireshark para que possamos começar a usá-lo e a trabalhar com ele.