Farejando a rede LAN sem fio usando o tcpdump

3

Se eu entendi corretamente os fundamentos do funcionamento sem fio, eu deveria ser capaz de farejar o tráfego de outros computadores pela rede local sem fio. Então, conectei um segundo computador à minha rede sem fio e tentei verificar se eu era capaz de farejar o tráfego de http pela rede, usando tcpdump com um comando como este:

sudo tcpdump -v -i wlan0 dst 10.0.0.7

enquanto 10.0.0.7 é o ip do computador que eu quero farejar na LAN. Mas, infelizmente, não recebo nada como saída (exceto solicitações de eco ICMP se eu ping 10.0.0.7 , então tcpdump funciona bem :)).

O que estou perdendo?

    
por Sam Bruns 25.06.2015 / 23:41

2 respostas

8

Você precisará definir sua interface de rede no monitor mode para poder capturar todo o tráfego na rede sem fio. Portanto, antes de iniciar o tcpdump , faça o seguinte:

sudo ifconfig wlan0 down
sudo iwconfig wlan0 mode Monitor
sudo ifconfig wlan0 up

Isso simplesmente desativará sua interface, ativará o modo monitor e ligá-lo novamente. Note que nem todas as placas de interface de rede suportam o modo monitor.

Para redefinir sua NIC de volta ao normal, emita os mesmos comandos, mas com mode Managed .

Em uma nota lateral, o tráfego em seu sniffer provavelmente não parecerá como você esperará, devido a esquemas de criptografia usados pelo roteador. Considerando que você está farejando sua própria rede, você poderá descriptografar o tráfego na maioria dos casos. Aqui é uma breve visão geral de como fazê-lo em Wireshark , uma alternativa para tcpdump que também apresenta um gráfico interface de usuário. Se preferir manter tcpdump para captura, você também pode usar sua opção -w para descarregar o tráfego para um arquivo .pcap e depois abrir esse arquivo no Wireshark (ou qualquer outro analisador de pacotes).

Observe que, se a sua rede usar criptografia WPA ou WPA2, você precisará capturar os handshakes entre o roteador e cada dispositivo que deseja monitorar. O artigo wiki do Wireshark que eu criei explica como fazer isso:

WPA and WPA2 use keys derived from an EAPOL handshake, which occurs when a machine joins a Wi-Fi network, to encrypt traffic. Unless all four handshake packets are present for the session you're trying to decrypt, Wireshark won't be able to decrypt the traffic. You can use the display filter eapol to locate EAPOL packets in your capture.

In order to capture the handshake for a machine, you will need to force the machine to (re-)join the network while the capture is in progress.

    
por 26.06.2015 / 01:22
2

Primeiro, você não especificou se esta era uma rede aberta ou protegida por WPA. Isso faz diferença. Vou assumir que é o WPA porque você está com problemas.

Você não é o homem no meio. Os pacotes de 10.0.0.7 estão indo desse computador diretamente para o gateway (ou seja, 10.0.0.1) e para a internet, ignorando você. Você precisa arp spoof e inserir-se entre o gateway e esse usuário (10.0.0.7). Existem muitas ferramentas para fazer isso. Normalmente você primeiro configura o encaminhamento de ip no seu kernel, então executa um comando como arpspoof <victim ip> <gateway ip>

    
por 25.06.2015 / 23:54