
O Wireshark é uma ferramenta popular e essencial para solução de problemas, análise e segurança de redes. Ele é um sniffer de pacotes e um analisador de protocolos de rede gratuito e de código aberto. Nesta postagem do blog, exploraremos seus recursos, usos e dicas práticas para aproveitar ao máximo o Wireshark. Este guia fornecerá uma compreensão mais profunda do Wireshark e de seus aplicativos, abordando aspectos que podem ter sido negligenciados em discussões ou demonstrações anteriores. Seja você um desenvolvedor, profissional de segurança ou simplesmente interessado em operações de rede, este guia ajudará a aprimorar seu conhecimento e a utilização do Wireshark.
Uma visão geral do Wireshark
Inicialmente criado por Eric Rescorla e Gerald Combs, o Wireshark foi projetado para monitorar e inspecionar pacotes de rede em tempo real. Ele oferece uma ampla gama de funções para diferentes interfaces e protocolos de rede, o que o torna uma ferramenta versátil para pessoas que trabalham com redes. Ao contrário do tcpdump, que é uma ferramenta de linha de comando, o Wireshark tem uma interface gráfica fácil de usar que agiliza o processo de análise. Os dados são apresentados em um formato de “visualização proto”, que organiza os pacotes em uma estrutura hierárquica, facilitando a identificação rápida de protocolos, portas e movimentos de dados.
O Wireshark apresenta várias características importantes, incluindo:
- GUI (Graphical User Interface, interface gráfica do usuário): Simplifica o exame de pacotes de rede em comparação com o uso de ferramentas de linha de comando.
- Visualização de protocolos: Apresenta informações de pacotes em um formato hierárquico, facilitando a identificação de protocolos e portas.
- Compatibilidade: Pode ser usado com uma variedade de interfaces e protocolos de rede.
Os monitores de rede para navegadores da Web são ferramentas que permitem aos usuários rastrear e analisar a atividade de rede do navegador.
Tanto o Firefox quanto o Chrome têm uma ferramenta avançada de monitoramento de rede incorporada, o que os diferencia. Essa ferramenta é mais fácil de utilizar e é compatível com sites seguros sem nenhuma configuração adicional. Se possível, o uso do navegador para solucionar problemas de tráfego de rede deve ser a abordagem preferida.
Quando seu tráfego envolve detalhes de protocolo de baixo nível ou está fora do navegador, o Wireshark é uma alternativa adequada.
Configuração e primeiros passos
Para começar a usar o Wireshark, basta acessar o site oficial (https://www.wireshark.org/) para fazer o download do programa. A instalação é simples, mas não se esqueça de seguir cuidadosamente as etapas de instalação das ferramentas de linha de comando, que podem ter seu próprio processo de instalação separado. Quando o Wireshark for aberto, os usuários verão uma lista de interfaces de rede para escolher, conforme mostrado abaixo. É importante selecionar a interface apropriada, como o loopback para depuração de servidores locais, para capturar dados relevantes.

Para solucionar efetivamente os problemas de um servidor local (localhost), utilize a interface de loopback. Para servidores remotos, é provável que o adaptador de rede en0 seja compatível. O gráfico de atividade localizado ao lado do adaptador de rede pode ser utilizado para determinar quais interfaces estão ativas no momento e disponíveis para captura.
Filtrando a bagunça: Guia para navegar pelo ruído
Uma dificuldade ao utilizar o Wireshark é a quantidade substancial de dados coletados, que pode incluir “ruído de fundo” desnecessário, conforme ilustrado na imagem abaixo.

O Wireshark resolve esse problema fornecendo filtros fortes para exibição, permitindo que as pessoas se concentrem em portas, protocolos ou categorias de dados específicos. Por exemplo, ao filtrar o tráfego TCP na porta 8080, fica mais simples solucionar problemas específicos, pois isso minimiza os dados irrelevantes.

Observe que existe um widget de conclusão localizado na parte superior da interface do usuário do Wireshark que permite a identificação mais fácil dos valores.
Nesse caso, estamos filtrando a porta tcp.port == 8080
, que é comumente utilizada em servidores Java, como Spring Boot ou Tomcat.
No entanto, o simples uso de HTTP é insuficiente para a brevidade. Para restringir a exibição apenas a solicitações e respostas HTTP, podemos adicionar http
ao filtro de protocolo, conforme mostrado na imagem abaixo.

Explorando as profundezas da análise de dados
O Wireshark se destaca por sua capacidade de analisar e exibir dados de rede de maneira fácil de usar. Um exemplo disso é quando ele disseca e apresenta automaticamente respostas HTTP contendo dados JSON em um formato de árvore compreensível, conforme demonstrado abaixo. Essa funcionalidade é extremamente valiosa para desenvolvedores e analistas, pois oferece uma compreensão mais profunda dos dados transmitidos entre clientes e servidores sem a necessidade de decodificação manual.

O Wireshark analisa e apresenta dados JSON na seção de análise de pacotes, fornecendo opções para visualizações hexadecimais e ASCII para visualizar os dados brutos do pacote.
Explorando mais
Embora o Wireshark seja capaz de lidar com uma variedade de tarefas de rede, seus recursos mais poderosos são encontrados em seus recursos avançados, como análise de rede ethernet, descriptografia de HTTPS e depuração em vários dispositivos. Entretanto, o uso desses recursos pode exigir etapas de configuração mais complexas e um conhecimento profundo dos protocolos de rede e das medidas de segurança.
Ao usar o Wireshark, há dois grandes obstáculos que precisam ser superados:
- Configuração da descriptografia de HTTPS: A ativação da descriptografia para o tráfego HTTPS pode envolver etapas adicionais, mas permite o monitoramento de comunicações seguras.
- Solução de problemas em dispositivos: O Wireshark é uma ferramenta útil para identificar problemas de rede em diferentes dispositivos e requer conhecimento especializado em configuração de rede.
Entendendo os fundamentos da criptografia HTTPS
O protocolo de criptografia utilizado pelo HTTPS é o Transport Layer Security (TLS) ou o Secure Sockets Layer (SSL) para proteger os dados. Esse método garante a privacidade e a integridade de todos os dados trocados entre o servidor da Web e o navegador. Ele envolve uma sequência de procedimentos, como handshake, criptografia de dados e verificação da integridade dos dados.
Para desenvolvedores e administradores de rede, muitas vezes é essencial descriptografar o tráfego HTTPS para solucionar erros de comunicação, avaliar o desempenho do aplicativo ou verificar a criptografia adequada de dados confidenciais antes da transmissão. Essa capacidade é muito valiosa para diagnosticar problemas complicados que não podem ser resolvidos apenas com o exame do tráfego não criptografado ou dos registros do servidor.
Abordagens para descriptografar HTTPS no Wireshark
Importante: A análise do tráfego HTTPS criptografado só deve ser realizada em redes e sistemas que sejam de propriedade da empresa ou que tenham permissão explícita. A descriptografia do tráfego de rede sem autorização pode violar leis de privacidade e padrões éticos.
Registro de chaves secretas pré-mestras
Uma abordagem frequentemente usada é utilizar a chave secreta pré-master para decifrar o tráfego HTTPS. Quando configurados, navegadores como o Firefox e o Chrome podem salvar as chaves secretas pré-master em um arquivo designado. Esse arquivo pode então ser utilizado pelo Wireshark para decifrar o tráfego.
- Ajuste as configurações do navegador: Crie uma variável de ambiente chamada
SSLKEYLOGFILE
para indicar o local em que o navegador armazenará as chaves de criptografia. - Registre a atividade da rede: Utilize o Wireshark para capturar o tráfego de maneira regular.
- Descriptografar os dados: Direcione o Wireshark para o arquivo designado que contém as chaves secretas pré-master (por meio das preferências do Wireshark) para descriptografar o tráfego HTTPS que foi capturado.
Uso de um proxy
Um método alternativo é rotear o tráfego por meio de um servidor proxy que descriptografa o tráfego HTTPS e, posteriormente, o criptografa novamente antes de encaminhá-lo ao destino pretendido. Isso pode implicar o estabelecimento de um proxy de descriptografia especializado capaz de gerenciar a criptografia e a descriptografia TLS.
- Utilize um proxy de descriptografia: Programas como Mitmproxy ou Burp Suite têm a capacidade de atuar como intermediários, descriptografando e registrando o tráfego HTTPS.
- Ajuste as configurações de rede para roteamento de proxy: Certifique-se de que a rede do cliente esteja configurada para direcionar o tráfego por meio do proxy.
- Examine o tráfego: Aproveite os recursos do proxy para analisar diretamente o tráfego descriptografado.
Aprimoramento da análise de rede com a combinação do tcpdump e do Wireshark
O Wireshark oferece uma interface fácil de usar para examinar os pacotes de rede. No entanto, pode haver casos em que não seja possível usá-lo diretamente devido a normas de segurança ou limitações operacionais. Nesses casos, o tcpdump, uma ferramenta robusta de análise de pacotes que opera por meio da linha de comando, torna-se um recurso essencial, oferecendo um método mais adaptável e menos intrusivo de registro de dados de rede.
A importância do tcpdump na resolução de problemas de rede
A ferramenta tcpdump permite o registro de pacotes de rede sem uma GUI, o que a torna adequada para situações com protocolos de segurança rígidos ou recursos limitados. Sua função se baseia na captura de dados de rede em um arquivo, que pode ser examinado posteriormente ou em um dispositivo separado com o auxílio do Wireshark.
Cenários importantes para uso do tcpdump:
- Em ambientes de alta segurança, como bancos e instituições governamentais, o uso de sniffers de rede pode ser considerado uma possível ameaça à segurança. Como alternativa, o tcpdump oferece uma opção menos invasiva.
- Ao solucionar problemas em um servidor em nuvem, usar a interface gráfica do Wireshark pode ser um desafio. Nesses casos, as capturas do tcpdump podem ser transferidas e examinadas localmente.
- Os clientes que priorizam a segurança podem ter receio de permitir a execução de ferramentas de terceiros em seus sistemas. Nessas situações, a operação de linha de comando do tcpdump pode ser mais aceitável.
Maximizando a eficácia do tcpdump
Para capturar o tráfego usando o tcpdump, é preciso indicar a interface de rede e designar um arquivo de saída para a captura. Esse procedimento é simples e eficaz, pois permite examinar minuciosamente as comunicações de rede:
- A sintaxe para executar uma captura é especificar a interface de rede, como
en0
para conexões sem fio, e o nome do arquivo de saída. - Após a execução do comando, o tcpdump capturará silenciosamente os pacotes de rede. A captura continuará até a interrupção manual e, nesse momento, os dados capturados poderão ser salvos no arquivo designado.
- Para analisar a captura em detalhes, o arquivo criado pelo tcpdump pode ser aberto no Wireshark. As ferramentas avançadas do Wireshark podem então ser utilizadas para dissecar e compreender o tráfego da rede.
Veja abaixo um exemplo do comando tcpdump e a saída resultante:
$ sudo tcpdump -i en0 -w output
Password:
tcpdump: listening on en, link-type EN10MB (Ethernet), capture size 262144 bytes
^C3845 packets captured
4189 packets received by filter
0 packets dropped by kernel
Para capturar pacotes na interface en0 e salvá-los em um arquivo chamado “output”, use o comando “sudo tcpdump -i en0 -w output” e digite a senha quando solicitado. A ferramenta tcpdump escutará na interface en0, com um tipo de link de EN10MB (Ethernet) e um tamanho de captura de 262144 bytes. 3845 pacotes foram capturados com sucesso, 4189 pacotes foram recebidos pelo filtro e 0 pacotes foram descartados pelo kernel.
Obstáculos e fatores a serem considerados
Para garantir que a interface de rede apropriada seja selecionada para a captura remota do sistema, outras ações podem ser necessárias, como a utilização do comando ifconfig
para exibir uma lista de interfaces disponíveis. Essa é uma etapa crucial para garantir que o tráfego pertinente seja registrado para análise.
Observação final
O Wireshark é altamente considerado por sua capacidade de realizar análises de rede abrangentes e fornecer informações valiosas sobre o tráfego e os protocolos de rede. É uma ferramenta essencial para uma variedade de tarefas, inclusive tarefas de rede de baixo nível, análise de segurança e desenvolvimento de aplicativos. Ao se familiarizar com seus recursos e explorar ativamente suas capacidades, os usuários podem utilizar o Wireshark para descobrir informações detalhadas sobre suas redes, resolver problemas complexos e aumentar a segurança de seus sistemas.
A combinação de interface amigável e amplos recursos analíticos do Wireshark faz dele uma escolha popular entre os especialistas em redes de todos os níveis. Suas atualizações contínuas e sua ampla gama de uso solidificam ainda mais sua importância como uma ferramenta crucial no campo da análise de redes.
A combinação das capacidades de captura de tráfego de rede do tcpdump e das habilidades analíticas do Wireshark fornece uma solução completa para análise e solução de problemas de rede. Essa combinação é especialmente benéfica em situações em que o uso direto do Wireshark não é viável ou ideal. Apesar de seus recursos avançados e complexos, ambas as ferramentas exigem uma curva de aprendizado significativa, o que as torna um kit de ferramentas essencial para administradores de rede, especialistas em segurança e desenvolvedores.
O método abrangente apresentado aborda os obstáculos da captura e do exame do tráfego de rede em diversas situações operacionais, ao mesmo tempo em que enfatiza a ampla variedade e a eficácia das ferramentas para compreender e proteger as redes contemporâneas.