Sniffers, ou analisadores de pacotes, são ferramentas usadas para capturar, registrar e analisar o tráfego que circula em uma rede de computadores. Eles são amplamente utilizados por profissionais de redes, segurança da informação e forense digital, tanto para diagnóstico quanto para investigação de incidentes.
Apesar de serem ferramentas legítimas e úteis, sniffers também podem ser usados de forma maliciosa, como em ataques de interceptação de dados sensíveis. Por isso, entender como funcionam e como utilizá-los é essencial para defender uma rede.
O que é um sniffer
Um sniffer é um programa capaz de capturar pacotes de dados que trafegam por uma rede. Ele funciona colocando a interface de rede do computador em modo promíscuo (promiscuous mode), o que permite que o dispositivo leia todos os pacotes que passam por ele, mesmo que não sejam destinados a ele.
Normalmente, as placas de rede ignoram pacotes que não têm como destino o próprio endereço MAC do dispositivo. Com o modo promíscuo ativado, o sniffer pode capturar todos os pacotes visíveis no segmento da rede.
Principais usos de sniffers
Os sniffers são usados para diversas finalidades legítimas:
Diagnóstico de rede e identificação de gargalos
Análise de desempenho e monitoramento de tráfego
Detecção de falhas de protocolo ou retransmissões excessivas
Inspeção de segurança, como verificação de tráfego não criptografado
Análise forense após incidentes de segurança
Em contrapartida, sniffers também podem ser usados por invasores para capturar logins, senhas, cookies, e-mails ou qualquer outra informação trafegada sem criptografia.
Ferramentas sniffers populares
As ferramentas mais conhecidas para sniffing incluem Wireshark, tcpdump, tshark, Ettercap, Snort (quando usado em modo de escuta), e ferramentas mais especializadas como mitmproxy ou Scapy para scripts personalizados.
Wireshark é gráfico e bastante detalhado, ideal para investigações. Tcpdump é leve e poderoso para uso em linha de comando. Ettercap permite ataques mais ativos, como man-in-the-middle, além do sniffing passivo.
Exemplo com tcpdump
Tcpdump é uma ferramenta presente em praticamente todas as distribuições Linux. Para capturar pacotes da interface eth0, use o comando:
tcpdump -i eth0
Para capturar apenas pacotes HTTP, use:
tcpdump -i eth0 tcp port 80
Para salvar os pacotes em um arquivo para análise posterior:
tcpdump -i eth0 -w captura.pcap
Para ler um arquivo já capturado:
tcpdump -r captura.pcap
Tcpdump permite também aplicar filtros, como:
tcpdump -i eth0 src 192.168.1.10
Esse comando captura apenas pacotes originados do IP 192.168.1.10.
Exemplo com Wireshark
No Wireshark, após iniciar a captura, você pode aplicar filtros como:
ip.addr == 192.168.0.50
Esse filtro mostra pacotes onde o IP de origem ou destino é 192.168.0.50. Para capturar apenas tráfego DNS, use o filtro:
dns
Filtros mais específicos incluem:
http.request.method == "POST"
Esse filtro mostra requisições HTTP do tipo POST. Para capturar apenas tráfego entre duas máquinas:
ip.src == 192.168.1.1 and ip.dst == 192.168.1.2
Esses filtros são úteis para reduzir o ruído em capturas extensas e focar apenas no que interessa.
Modo promíscuo e modo monitor
No sniffing de redes cabeadas, o modo promíscuo é suficiente para capturar pacotes do segmento de rede. Em redes sem fio, o ideal é usar modo monitor, que permite capturar tráfego de outras estações e não apenas do próprio dispositivo.
Em sistemas Linux, para ativar o modo monitor com o utilitário iwconfig:
sudo ifconfig wlan0 down
sudo iwconfig wlan0 mode monitor
sudo ifconfig wlan0 up
Após isso, é possível usar tcpdump, Wireshark ou qualquer outra ferramenta para capturar pacotes de Wi-Fi.
Capturando credenciais em tráfego não criptografado
Um dos usos mais comuns (e perigosos) de sniffers é capturar logins, senhas ou tokens em redes onde os dados trafegam em texto claro, como em conexões HTTP ou FTP. Em uma rede sem criptografia, é possível filtrar os pacotes e extrair valores sensíveis manualmente ou usando ferramentas automatizadas.
Por exemplo, um invasor pode usar o filtro http.request.method == "POST" no Wireshark e verificar o campo “form data” para encontrar logins e senhas enviados por formulários.
Esse tipo de análise mostra por que o uso de HTTPS é essencial. Mesmo que alguém consiga capturar os pacotes, os dados estarão criptografados e ilegíveis sem a chave privada do servidor.
Prevenção contra sniffers maliciosos
Para proteger sua rede contra sniffing mal-intencionado, é fundamental:
Utilizar criptografia de ponta a ponta (HTTPS, SSH, TLS)
Implementar segmentação de rede (VLANs) para limitar a visibilidade de pacotes
Usar switches em vez de hubs (hubs replicam todos os pacotes para todas as portas)
Monitorar a rede com ferramentas de detecção de intrusão
Evitar conexões a redes públicas ou Wi-Fi abertas sem VPN
Além disso, é possível detectar sniffers em uma rede, por exemplo, enviando pacotes com destinos errados e observando se algum dispositivo responde, o que não deveria acontecer. Algumas ferramentas específicas fazem essa detecção de forma automática.
Sniffers são ferramentas poderosas que permitem entender o que acontece dentro de uma rede. Sua utilidade técnica é inegável, mas também carregam um potencial destrutivo quando mal utilizados. Por isso, devem ser usados com responsabilidade, sempre em ambientes autorizados.
Conhecer e dominar ferramentas como tcpdump, Wireshark e outras é uma habilidade essencial para quem trabalha com redes e segurança. Da mesma forma, é importante aplicar boas práticas para proteger suas comunicações contra interceptações indesejadas. Em um mundo onde cada clique pode cruzar dezenas de servidores, saber o que acontece por trás dos cabos e pacotes é um diferencial para quem quer entender a internet profundamente.