O Wireshark, anteriormente conhecido como Ethereal, completou 20 anos de existência. É, sem dúvida, uma das ferramentas mais populares para análise de redes, senão a mais utilizada. Quando surge a necessidade de investigar o tráfego de dados, esta é, geralmente, a escolha predileta da maioria dos administradores. Apesar da sua eficácia, o Wireshark não é a única opção disponível, havendo diversas alternativas. Alguns podem questionar a necessidade de substituir o Wireshark. Na verdade, não há nada de errado com ele e, se você já o utiliza com satisfação, não há motivo para mudar. Contudo, para quem está começando, explorar outras opções antes de tomar uma decisão pode ser benéfico. Com esse intuito, elaboramos uma lista com algumas das melhores alternativas ao Wireshark.
Iniciaremos nossa análise examinando o próprio Wireshark. Afinal, para sugerir alternativas, é fundamental ter um conhecimento básico do produto original. Em seguida, abordaremos brevemente o que são os “sniffers” de pacotes – também chamados de analisadores de rede. Dada a complexidade potencial dessas ferramentas, dedicaremos algum tempo a discutir como utilizá-las. Este não será um guia exaustivo, mas fornecerá informações suficientes para compreender as análises dos produtos que se seguem. E, por falar em análises, esse será o nosso próximo passo. Identificamos várias soluções distintas que podem servir como alternativas viáveis ao Wireshark, apresentando os principais recursos de cada uma.
Sobre o Wireshark
Antes do Wireshark, existia um único “sniffer” de pacotes de destaque, apropriadamente chamado Sniffer. Apesar de ser um produto excelente, tinha uma grande desvantagem: o seu preço. No final da década de 90, o software custava cerca de US$ 1.500, um valor proibitivo para muitos. Essa situação impulsionou o desenvolvimento do Ethereal, um “sniffer” de pacotes gratuito e de código aberto, criado por Gerald Combs, um graduado da UMKC, que continua sendo o principal mantenedor do Wireshark, duas décadas depois. Isso demonstra um grande nível de dedicação.

Atualmente, o Wireshark é a referência em “sniffers” de pacotes. É o padrão de mercado, e muitas ferramentas procuram imitá-lo. O Wireshark realiza essencialmente duas funções: captura todo o tráfego que transita por sua interface e oferece recursos robustos de análise. As capacidades de análise da ferramenta são tão eficientes que é comum os utilizadores empregarem outras ferramentas para capturar os pacotes, utilizando o Wireshark apenas para a análise. Essa é uma prática tão comum que, ao iniciar o programa, você é solicitado a abrir um arquivo de captura existente ou iniciar a captura de tráfego. Outro ponto forte do Wireshark são os seus filtros integrados, que permitem que você se concentre precisamente nos dados de seu interesse.
Sobre as Ferramentas de Análise de Rede
Embora este seja um tema que gera alguma discussão, para os objetivos deste artigo, vamos assumir que os termos “packet sniffer” e “network analyzer” são equivalentes. Há quem defenda que se trata de dois conceitos distintos e, embora possam ter razão, vamos analisá-los conjuntamente, por uma questão de simplicidade. Afinal, apesar de poderem operar de forma diferente — será que realmente o fazem? —, eles servem um propósito similar.
Basicamente, os Packet Sniffers realizam três tarefas. Primeiro, capturam todos os pacotes de dados que entram ou saem de uma interface de rede. Em seguida, aplicam filtros, opcionalmente, para ignorar alguns pacotes e salvar outros em disco. Por fim, efetuam alguma forma de análise dos dados coletados. É nesta última função que se encontram as maiores diferenças entre os produtos.
A maioria dos “sniffers” de pacotes depende de um módulo externo para realizar a captura dos pacotes de dados. Os mais comuns são o libpcap em sistemas Unix/Linux e o Winpcap em Windows. Normalmente, não é necessário instalar estas ferramentas separadamente, pois elas são instaladas juntamente com o “sniffer” de pacotes.
É crucial lembrar que, apesar de serem úteis e eficazes, os Packet Sniffers não fazem tudo sozinhos. São apenas ferramentas. Imagine que eles são como um martelo, que não prega um prego sozinho. É essencial aprender a usar cada ferramenta da melhor forma. O “sniffer” de pacotes irá analisar o tráfego que captura, mas cabe a você garantir que ele capture os dados corretos e que os utilize de forma eficaz. Existem livros inteiros dedicados ao uso de ferramentas de captura de pacotes. Em certa ocasião, participei de um curso de três dias sobre o assunto.
Utilizando um Packet Sniffer
Como já foi mencionado, um “sniffer” de pacotes captura e analisa o tráfego. Portanto, se você estiver tentando solucionar um problema específico – uma aplicação comum dessas ferramentas – a primeira etapa é assegurar que o tráfego que você está capturando é o correto. Imagine uma situação em que todos os usuários de um determinado aplicativo se queixam de lentidão. Nesse cenário, a melhor abordagem seria capturar o tráfego na interface de rede do servidor de aplicativos, já que todos os usuários parecem ser afetados. Você poderá verificar que as solicitações chegam ao servidor normalmente, mas que o servidor demora muito tempo a enviar as respostas. Isso indica um problema no servidor e não na rede.
Por outro lado, se o servidor estiver a responder às solicitações em tempo útil, o problema pode estar em algum ponto da rede entre o cliente e o servidor. Nesse caso, você moveria o “sniffer” de pacotes um passo mais perto do cliente e verificaria se as respostas estão atrasadas. Caso contrário, você continuaria a mover-se mais perto do cliente até encontrar a origem dos atrasos. Assim que identificar a localização do problema, estará mais próximo de resolvê-lo.
Vamos ver como podemos capturar pacotes num ponto específico de uma rede. Uma forma simples de o fazer é utilizar uma funcionalidade presente na maioria dos “switches” de rede, chamada “espelhamento de porta” ou replicação. Esta opção irá replicar todo o tráfego de entrada e saída de uma porta específica do “switch” para outra porta no mesmo “switch”. Por exemplo, se o seu servidor estiver conectado à porta 15 de um “switch” e a porta 23 estiver livre, você pode conectar o “sniffer” de pacotes à porta 23 e configurar o “switch” para replicar todo o tráfego da porta 15 para a porta 23.
As Melhores Alternativas ao Wireshark
Agora que você tem uma melhor compreensão do que são o Wireshark e outros “sniffers” de pacotes e analisadores de rede, vamos explorar quais produtos alternativos existem. A nossa lista inclui uma combinação de ferramentas de linha de comando e GUI, bem como ferramentas que operam em vários sistemas operativos.
1. Ferramenta de Análise e Inspeção Profunda de Pacotes SolarWinds (TESTE GRATUITO)
A SolarWinds é reconhecida por suas ferramentas de gestão de rede de ponta. A empresa, com cerca de 20 anos de experiência, desenvolveu diversas ferramentas excelentes. O seu principal produto, o SolarWinds Network Performance Monitor, é considerado por muitos como uma das melhores soluções para monitorização de largura de banda. A SolarWinds também se destaca pela criação de várias ferramentas gratuitas, cada uma atendendo a uma necessidade específica dos administradores de rede. Dois exemplos dessas ferramentas são o SolarWinds TFTP Server e a Advanced Subnet Calculator.
Como uma potencial alternativa ao Wireshark – e talvez a melhor alternativa, já que é uma ferramenta muito diferente –, a SolarWinds oferece a Ferramenta de Análise e Inspeção Profunda de Pacotes. Ela faz parte do SolarWinds Network Performance Monitor e opera de forma distinta dos “sniffers” de pacotes mais “tradicionais”, embora tenha um propósito semelhante.

A Ferramenta de Análise e Inspeção Profunda de Pacotes não é um “sniffer” de pacotes nem um analisador de rede, mas pode auxiliar na identificação e resolução de problemas de latência de rede, identificar aplicações afetadas e determinar se a lentidão é causada pela rede ou por uma aplicação específica. Dado que tem um propósito similar ao do Wireshark, consideramos importante incluí-la nesta lista. A ferramenta utiliza técnicas de inspeção profunda de pacotes para calcular o tempo de resposta de mais de mil e duzentas aplicações, classificando também o tráfego de rede por categoria (por exemplo, comercial versus social) e nível de risco. Isso pode ajudar na identificação de tráfego não comercial que possa ser filtrado ou controlado de alguma forma.
A Ferramenta de Análise e Inspeção Profunda de Pacotes é um componente do Network Performance Monitor (NPM), um software abrangente que combina tecnologias avançadas, como SNMP e inspeção profunda de pacotes, para fornecer o máximo de informações sobre o estado da sua rede. Os preços do SolarWinds Network Performance Monitor, que inclui a ferramenta de análise e inspeção, começam em US$ 2.955 para até 100 elementos monitorados, aumentando conforme o número de elementos. A ferramenta oferece um período de avaliação gratuita de 30 dias, permitindo que você avalie se atende às suas necessidades antes de comprar.
2. tcpdump
O tcpdump é, provavelmente, o “sniffer” de pacotes original, criado em 1987, mais de dez anos antes do Wireshark e do próprio Sniffer. Desde o seu lançamento, a ferramenta foi mantida e aprimorada, mas essencialmente permanece inalterada. A forma como é utilizada não mudou significativamente ao longo do tempo. Está disponível para instalação em quase todos os sistemas operacionais do tipo Unix e tornou-se um padrão para capturar pacotes de forma rápida. Tal como outros produtos similares em plataformas *nix, o tcpdump usa a biblioteca libpcap para a captura dos pacotes.

A operação padrão do tcpdump é relativamente simples. Captura todo o tráfego na interface especificada e “despeja-o” – daí o seu nome – no ecrã. Sendo uma ferramenta *nix padrão, pode redirecionar a saída para um arquivo de captura para análise posterior utilizando a ferramenta de análise de sua preferência. Na verdade, é comum que os utilizadores capturem tráfego com o tcpdump para análise posterior no Wireshark. Uma das principais forças do tcpdump é a capacidade de aplicar filtros e/ou direcionar a sua saída para o grep – outro utilitário de linha de comando *nix comum – para filtragem adicional. Um utilizador experiente do tcpdump, grep e do shell de comando pode capturar precisamente o tráfego correto para qualquer tarefa de depuração.
3. Windump
De forma simples, o Windump é uma adaptação do tcpdump para a plataforma Windows. Portanto, o seu comportamento é semelhante. Isto significa que traz grande parte da funcionalidade do tcpdump para computadores baseados em Windows. O Windump pode ser uma aplicação do Windows, mas não espere uma interface gráfica sofisticada. É, essencialmente, o tcpdump no Windows, sendo um utilitário apenas de linha de comando.

Utilizar o Windump é semelhante a utilizar a sua contraparte *nix. As opções de linha de comando são praticamente as mesmas e os resultados também são quase idênticos. Tal como o tcpdump, a saída do Windump pode ser salva num arquivo para análise posterior com uma ferramenta de terceiros. No entanto, o grep normalmente não está disponível em computadores Windows, o que limita as capacidades de filtragem da ferramenta.
Outra diferença importante entre o tcpdump e o Windump é que o primeiro está prontamente disponível no repositório de pacotes do sistema operativo. Será necessário baixar o software do site do Windump. É fornecido como um ficheiro executável e não requer instalação. Sendo assim, é uma ferramenta portátil que pode ser iniciada a partir de uma “pen” USB. Contudo, tal como o tcpdump utiliza a biblioteca libpcap, o Windump utiliza o Winpcap, que precisa de ser descarregado e instalado separadamente.
4. Tshark
Pode-se pensar no Tshark como um híbrido entre o tcpdump e o Wireshark, mas na verdade, é uma versão de linha de comando do Wireshark. Foi desenvolvido pelos mesmos criadores do Wireshark. O Tshark assemelha-se ao tcpdump por ser uma ferramenta apenas de linha de comando. No entanto, tal como o Wireshark, ele não se limita a capturar o tráfego. Possui também os mesmos recursos de análise do Wireshark e utiliza o mesmo tipo de filtragem. Assim, ele consegue isolar rapidamente o tráfego exato que você precisa analisar.

Contudo, o Tshark levanta uma questão. Por que razão alguém iria querer uma versão de linha de comando do Wireshark? Por que não usar o próprio Wireshark? A maioria dos administradores – e, na verdade, a maioria das pessoas – concordaria que, em geral, as ferramentas com interfaces gráficas de utilizador são mais fáceis de usar e aprender, e mais intuitivas. Afinal, não é por isso que os sistemas operativos gráficos se tornaram tão populares? A principal razão para escolher o Tshark em vez do Wireshark é quando se pretende fazer uma captura rápida diretamente num servidor para fins de resolução de problemas. Além disso, se suspeitar de um problema de desempenho no servidor, pode preferir usar uma ferramenta sem interface gráfica, pois ela pode ser menos exigente em termos de recursos.
5. Network Miner
O Network Miner é mais uma ferramenta forense do que um “sniffer” de pacotes ou analisador de rede. Esta ferramenta segue um fluxo TCP e reconstrói uma conversação completa. É uma ferramenta poderosa para análise detalhada do tráfego, embora possa ser difícil de dominar. O programa pode funcionar em modo “offline”, onde um ficheiro de captura – talvez criado usando uma das outras ferramentas analisadas – é importado e o Network Miner faz a sua análise. Dado que este software apenas funciona em Windows, a possibilidade de trabalhar a partir de ficheiros de captura é certamente uma vantagem. Você pode, por exemplo, 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 versão gratuita, mas para usufruir de funcionalidades mais avançadas, como geolocalização e scripts baseados em endereço IP, será necessário adquirir uma licença Professional, que tem um custo de US$ 900. Outra função avançada da versão profissional é a possibilidade de decodificar e reproduzir chamadas VoIP.
6. Fiddler
Alguns dos nossos leitores – especialmente os mais experientes – poderão argumentar que o Fiddler, a nossa última entrada, não é um “sniffer” de pacotes nem um analisador de rede. Para ser honesto, eles podem ter razão, mas mesmo assim, consideramos pertinente incluir esta ferramenta na nossa lista, dado que ela pode ser muito útil em diversas situações.

Em primeiro lugar, vamos deixar claro que o Fiddler realmente captura o tráfego. No entanto, ele não captura qualquer tráfego. Ele só funciona com tráfego HTTP. Apesar desta limitação, considerando que muitas aplicações atuais são baseadas na web ou utilizam o protocolo HTTP em segundo plano, é fácil perceber a utilidade desta ferramenta. Uma vez que ela captura não só o tráfego do navegador, mas praticamente qualquer tráfego HTTP, pode ser muito útil para solucionar problemas em diversos tipos de aplicações.
A principal vantagem de uma ferramenta como o Fiddler em relação a um “sniffer” de pacotes “verdadeiro” como o Wireshark é que ele foi desenvolvido para “compreender” o tráfego HTTP. Ele irá, por exemplo, identificar “cookies” e certificados, e irá extrair dados reais provenientes de aplicações baseadas em HTTP. O Fiddler é gratuito e está disponível apenas para Windows. No entanto, versões beta para OS X e Linux (utilizando a estrutura Mono) podem ser descarregadas.