Sniffers

Funcionamento, ferramentas e exemplos práticos

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.