É muito difícil detectar sniffers, porque eles funcionam passivamente . Alguns sniffers geram pequenas quantidades de tráfego e, por isso, existem algumas técnicas para detectá-los.
- Cache de máquinas ARPs (Protocolo de resolução de endereços). O envio de um ARP sem difusão, uma máquina em modo promíscuo (uma placa de rede que faz com que a placa passe todo o tráfego) armazenará em cache o seu endereço ARP. Então, enviando um pacote de ping de broadcast com nosso IP, mas um endereço MAC diferente. Somente uma máquina que tenha nosso endereço MAC correto do quadro ARP sniffed poderá responder à nossa solicitação de ping de difusão. Então, se a máquina está respondendo, deve estar farejando.
- A maioria dos sniffers faz algumas análises. Enviando uma quantidade enorme de dados e pingando a máquina suspeita antes e durante a inundação de dados. Se a placa de rede da máquina suspeita estiver no modo promíscuo, ela analisará os dados e aumentará a carga. Desta forma, leva algum tempo extra para responder ao ping. Esse pequeno atraso pode ser usado como um indicador de se uma máquina está farejando ou não. Isso poderia provocar alguns falsos positivos, se houvesse alguns atrasos "normais" na rede devido ao alto tráfego.
- O método a seguir é antigo e não é mais confiável: enviar uma solicitação de ping com o endereço IP da máquina suspeita, mas não seu endereço MAC. O ideal é que ninguém veja esse pacote, pois cada placa de rede rejeitará o ping, porque ele não corresponde ao seu endereço MAC. Se a máquina suspeita estiver farejando, ela responderá, pois não se incomoda em rejeitar pacotes com um endereço MAC de destino diferente.
Existem algumas ferramentas que implementam essas técnicas, por exemplo, ferramentas de código aberto como Neped e ARP Assista ou AntiSniff para o Windows, que é uma ferramenta comercial.
Se você quiser evitar sniffing, a melhor maneira é usar criptografia para qualquer atividade de rede (SSH, https etc.). Dessa forma, os sniffers podem ler o tráfego, mas os dados não farão sentido para eles.