Melhores sniffers de pacotes e analisadores de rede

O sniffing de pacotes é um tipo profundo de análise de rede em que os detalhes do tráfego de rede são decodificados para serem analisados. É uma das habilidades de solução de problemas mais importantes que qualquer administrador de rede deve possuir. Analisar o tráfego de rede é uma tarefa complicada. Para lidar com redes não confiáveis, os dados não são enviados em um fluxo contínuo. Em vez disso, ele é dividido em fragmentos enviados individualmente. Analisar o tráfego de rede envolve a capacidade de coletar esses pacotes de dados e remontá-los em algo significativo. Isso não é algo que você pode fazer manualmente, então foram criados sniffers de pacotes e analisadores de rede. Hoje, vamos dar uma olhada em sete dos melhores sniffers de pacotes e analisadores de rede.

Estamos começando a jornada de hoje fornecendo algumas informações básicas sobre o que são sniffers de pacotes. Tentaremos descobrir qual é a diferença – ou se há uma diferença – entre um sniffer de pacotes e um analisador de rede. Em seguida, prosseguiremos para o cerne do nosso assunto e não apenas listaremos, mas também revisaremos brevemente cada uma de nossas sete escolhas. O que temos para você é uma combinação de ferramentas GUI e utilitários de linha de comando que são executados em vários sistemas operacionais.

Algumas palavras sobre sniffers de pacotes e analisadores de rede

Vamos começar por resolver algo. Por causa deste artigo, vamos supor que sniffers de pacotes e analisadores de rede são a mesma coisa. Alguns argumentarão que eles são diferentes e podem estar certos. Mas, no contexto deste artigo, vamos analisá-los juntos, principalmente porque, embora possam operar de forma diferente – mas será que eles realmente? – eles servem ao mesmo propósito.

Os Packet Sniffers geralmente fazem três coisas. Primeiro, eles capturam todos os pacotes de dados à medida que entram ou saem de uma interface de rede. Em segundo lugar, eles opcionalmente aplicam filtros para ignorar alguns dos pacotes e salvar outros em disco. Eles então realizam alguma forma de análise dos dados capturados. É nessa última função de sniffers de pacotes que eles mais diferem.

Para a captura real dos pacotes de dados, a maioria das ferramentas usa um módulo externo. Os mais comuns são libpcap em sistemas Unix/Linux e Winpcap em Windows. Normalmente, você não precisará instalar essas ferramentas, pois elas geralmente são instaladas pelos diferentes instaladores de ferramentas.

Outra coisa importante a saber é que Packet Sniffers – mesmo o melhor – não fará tudo por você. São apenas ferramentas. É como um martelo que não crava nenhum prego sozinho. Portanto, você precisa aprender a melhor usar cada ferramenta. O sniffer de pacotes apenas permitirá que você veja o tráfego, mas cabe a você usar essas informações para encontrar problemas. Existem livros inteiros sobre o uso de ferramentas de captura de pacotes. Eu mesmo fiz uma vez um curso de três dias sobre o assunto. Não estou tentando desencorajá-lo. Estou apenas tentando definir suas expectativas em linha reta.

Como usar um Packet Sniffer

Como explicamos, um sniffer de pacotes capturará e analisará o tráfego. Portanto, se você estiver tentando solucionar um problema específico – que normalmente é o motivo pelo qual você usaria essa ferramenta – primeiro você precisa ter certeza de que o tráfego que está capturando é o tráfego correto. Imagine uma situação em que todos os usuários estão reclamando que um determinado aplicativo está lento. Nesse tipo de situação, sua melhor aposta provavelmente seria capturar o tráfego na interface de rede do servidor de aplicativos. Você pode então perceber que as solicitações chegam ao servidor normalmente, mas que o servidor leva muito tempo para enviar as respostas. Isso indicaria um problema no servidor.

  Qual é o melhor lugar para um alto-falante inteligente em uma sala?

Se, por outro lado, você vir o servidor respondendo em tempo hábil, isso possivelmente significa que o problema está em algum lugar na rede entre o cliente e o servidor. Você então moveria seu sniffer de pacotes um salto para mais perto do cliente e veria se as respostas estão atrasadas. Se não for, você move mais saltos para mais perto do cliente, e assim por diante. Você acabará por chegar ao local onde ocorrem atrasos. E uma vez que você identificou a localização do problema, você está um grande passo mais perto de resolvê-lo.

Agora você pode estar se perguntando como conseguimos capturar pacotes em um ponto específico. É bem simples, aproveitamos um recurso da maioria dos switches de rede chamado espelhamento de porta ou replicação. Esta é uma opção de configuração que replicará todo o tráfego de entrada e saída de uma porta específica do switch para outra porta no mesmo switch. Digamos que seu servidor esteja conectado à porta 15 de um switch e que a porta 23 desse mesmo switch esteja disponível. Você conecta seu sniffer de pacotes à porta 23 e configura o switch para replicar todo o tráfego da porta 15 para a porta 23. O que você obtém como resultado na porta 23 é uma imagem espelhada – daí o nome do espelhamento da porta – do que está passando pela porta 15.

Os melhores sniffers de pacotes e analisadores de rede

Agora que você entende melhor o que são sniffers de pacotes e analisadores de rede, vamos ver quais são os sete melhores que encontramos. Tentamos incluir uma combinação de ferramentas de linha de comando e GUI, bem como ferramentas executadas em vários sistemas operacionais. Afinal, nem todos os administradores de rede estão executando o Windows.

1. Ferramenta de análise e inspeção profunda de pacotes SolarWinds (TESTE GRATUITO)

A SolarWinds é conhecida por suas muitas ferramentas gratuitas úteis e seu software de gerenciamento de rede de última geração. Uma de suas ferramentas é chamada de Deep Packet Inspection and Analysis Tool. Ele vem como um componente do principal produto da SolarWinds, o Network Performance Monitor. Sua operação é bem diferente dos sniffers de pacotes mais “tradicionais”, embora sirva a um propósito semelhante.

Para resumir a funcionalidade da ferramenta: ela o ajudará a encontrar e resolver a causa das latências da rede, identificar os aplicativos afetados e determinar se a lentidão é causada pela rede ou por um aplicativo. O software também usará técnicas de inspeção profunda de pacotes para calcular o tempo de resposta para mais de mil e duzentas aplicações. Ele também classificará o tráfego de rede por categoria, negócios versus social e nível de risco, ajudando você a identificar o tráfego não comercial que pode precisar ser filtrado ou eliminado de outra forma.

E não se esqueça de que a Ferramenta de análise e inspeção profunda de pacotes SolarWinds vem como parte do Network Performace Monitor. O NPM, como é frequentemente chamado, é um software impressionante com tantos componentes que um artigo inteiro poderia ser dedicado a ele. Em sua essência, é uma solução completa de monitoramento de rede que combina as melhores tecnologias, como SNMP e inspeção profunda de pacotes, para fornecer o máximo possível de informações sobre o estado de sua rede. A ferramenta, que tem um preço razoável, vem com uma avaliação gratuita de 30 dias para que você possa ter certeza de que realmente atende às suas necessidades antes de se comprometer a comprá-la.

  Como proteger aplicativos com senha em seu Mac

Link oficial para download: https://www.solarwinds.com/topics/deep-packet-inspection

2. tcpdump

Tcpdump é provavelmente o sniffer de pacotes original. Foi criado em 1987. Desde então, foi mantido e melhorado, mas permanece essencialmente inalterado, pelo menos na forma como é usado. Ele é pré-instalado em praticamente todos os sistemas operacionais do tipo Unix e se tornou o padrão de fato quando se precisa de uma ferramenta rápida para capturar pacotes. O Tcpdump usa a biblioteca libpcap para a captura real do pacote.

Por padrão. O tcpdump captura todo o tráfego na interface especificada e o “despeja” – daí seu nome – na tela. O dump também pode ser canalizado para um arquivo de captura e analisado posteriormente usando uma – ou uma combinação – de várias ferramentas disponíveis. Uma chave para a força e utilidade do tcpdump é a possibilidade de aplicar todos os tipos de filtros e canalizar sua saída para grep – outro utilitário de linha de comando comum do Unix – para filtragem adicional. Alguém com um bom conhecimento de tcpdump, grep e shell de comando pode fazer com que ele capture precisamente o tráfego certo para qualquer tarefa de depuração.

3. Windump

Windump é essencialmente apenas uma porta do tcpdump para a plataforma Windows. Como tal, ele se comporta da mesma maneira. Não é incomum ver essas portas de programas utilitários bem-sucedidos de uma plataforma para outra. Windump é um aplicativo do Windows, mas não espere uma GUI sofisticada. Este é um utilitário somente de linha de comando. Usar Windump, portanto, é basicamente o mesmo que usar sua contraparte Unix. As opções de linha de comando são as mesmas e os resultados também são quase idênticos. A saída do Windump também pode ser salva em um arquivo para análise posterior com uma ferramenta de terceiros.

Uma grande diferença com o tcpdump é que o Windump não está embutido no Windows. Você terá que baixá-lo do Site Windump. O software é entregue como um arquivo executável e não requer instalação. No entanto, assim como o tcpdump usa a biblioteca libpcap, o Windump usa o Winpcap que, como a maioria das bibliotecas do Windows, precisa ser baixado e instalado separadamente.

4. Wireshark

Wireshark é a referência em sniffers de pacotes. Tornou-se o padrão de fato e a maioria das outras ferramentas tende a imitá-lo. Essa ferramenta não apenas captura tráfego, mas também possui recursos de análise bastante poderosos. Tão poderoso que muitos administradores usarão tcpdump ou Windump para capturar tráfego para um arquivo e depois carregar o arquivo no Wireshark para análise. Essa é uma maneira tão comum de usar o Wireshark que, na inicialização, você é solicitado a abrir um arquivo pcap existente ou iniciar a captura de tráfego. Outro ponto forte do Wireshark são todos os filtros que ele incorpora que permitem que você se concentre precisamente nos dados em que está interessado.

Para ser perfeitamente honesto, esta ferramenta tem uma curva de aprendizado íngreme, mas vale a pena aprender. Será inestimável uma e outra vez. E depois de aprender, você poderá usá-lo em todos os lugares, pois foi portado para quase todos os sistemas operacionais e é gratuito e de código aberto.

  Como rastrear o uso de dados pela Netflix

5. tshark

Tshark é como um cruzamento entre tcpdump e Wireshark. Isso é ótimo, pois eles são alguns dos melhores sniffers de pacotes disponíveis. O Tshark é como o tcpdump, pois é uma ferramenta somente de linha de comando. Mas também é como o Wireshark, pois não apenas captura, mas também analisa o tráfego. Tshark é dos mesmos desenvolvedores do Wireshark. É, mais ou menos, a versão de linha de comando do Wireshark. Ele usa o mesmo tipo de filtragem do Wireshark e, portanto, pode isolar rapidamente apenas o tráfego que você precisa analisar.

Mas por que, você pode perguntar, alguém iria querer uma versão de linha de comando do Wireshark? Por que não usar apenas o Wireshark; com sua interface gráfica, tem que ser mais simples de usar e aprender? A principal razão é que permitiria que você o usasse em um servidor sem GUI.

6. Minerador de Rede

Minerador de rede é mais uma ferramenta forense do que um verdadeiro sniffer de pacotes. O Network Miner seguirá um fluxo TCP e reconstruirá uma conversa inteira. É realmente uma ferramenta poderosa. Ele pode funcionar no modo offline, onde você importaria algum arquivo de captura para deixar o Network Miner fazer sua mágica. Este é um recurso útil, pois o software é executado apenas no Windows. Você pode usar o tcpdump no Linux para capturar algum tráfego e o Network Miner no Windows para analisá-lo.

O Network Miner está disponível em uma versão gratuita, mas para os recursos mais avançados, como geolocalização baseada em IP e scripts, você precisará adquirir uma licença Profissional. Outra função avançada da versão profissional é a possibilidade de decodificar e reproduzir chamadas VoIP.

7. Violinista (HTTP)

Alguns de nossos leitores mais experientes podem argumentar que o Fiddler não é um sniffer de pacotes nem um analisador de rede. Eles provavelmente estão certos, mas achamos que deveríamos incluir essa ferramenta em nossa lista, pois é muito útil em muitas situações. Violinista irá realmente capturar o tráfego, mas não qualquer tráfego. Funciona apenas com tráfego HTTP. Você pode imaginar o quão valioso pode ser, apesar de sua limitação, quando considera que muitos aplicativos hoje são baseados na Web ou usam o protocolo HTTP em segundo plano. E como o Fiddler captura não apenas o tráfego do navegador, mas praticamente qualquer HTTP, é muito útil na solução de problemas

A vantagem de uma ferramenta como o Fiddler sobre um farejador de pacotes genuíno como, por exemplo, o Wireshark, é que o Fiddler foi construído para “entender” o tráfego HTTP. Ele irá, por exemplo, descobrir cookies e certificados. Ele também encontrará dados reais provenientes de aplicativos baseados em HTTP. O Fiddler é gratuito e está disponível apenas para Windows, embora versões beta para OS X e Linux (usando a estrutura Mono) possam ser baixadas.

Conclusão

Quando publicamos listas como esta, muitas vezes nos perguntam qual é a melhor. Nessa situação em particular, se me fizessem essa pergunta, eu teria que responder “todas”. Todas são ferramentas gratuitas e todas têm seu valor. Por que não tê-los todos à mão e se familiarizar com cada um deles. Quando você chegar a uma situação em que precisa usá-los, será muito mais fácil e eficiente. Mesmo as ferramentas de linha de comando têm um valor tremendo. Por exemplo, eles podem ser roteirizados e agendados. Imagine que você tem um problema que acontece às 2h da manhã diariamente. Você pode agendar um trabalho para executar o tcpdump do Windump entre 1:50 e 2:10 e analisar o arquivo de captura na manhã seguinte. Não há necessidade de ficar acordado a noite toda.