como usar o tcpdump para capturar todos os pacotes na rede local?

0

Eu tenho um roteador sem fio usado em casa, um laptop linux e android conectado a ele. Vamos dizer que o linux tem ip 10.5.5.1, mac AA: AA: AA: AA: AA: AA e o Android tem 10.5.5.2, mac AA: AA: AA: AA: AA: AB.

Os pacotes enviados para o meu android devem chegar ao linux também, tcpdump apenas ignorá-los eu acho.

Existe uma maneira que eu posso usar o tcpdump no meu linux para obter os pacotes enviados para o meu android? O tcpdump apenas captura os pacotes que passam pelo link e pela camada de rede?

Obrigado.

    
por dspjm 22.11.2013 / 18:54

2 respostas

1

infelizmente (pelo menos para o que você quer) você não será capaz de registrar todos os pacotes sem alterações em seu hardware e arquitetura de rede.

Ao contrário de redes antigas que funcionavam em um barramento compartilhado ou usavam repetidores multiportas (hubs), as redes comutadas modernas geralmente não enviam tráfego para nenhuma porta de switch que não se conecta ao endereço MAC de destino solicitado. as exceções a essa regra são o tráfego de broadcast nas camadas MAC e IP, geralmente usadas pelos protocolos de descoberta de dispositivos e serviços.

para atingir o seu objetivo, você precisaria colocar o switch para operar em modo promíscuo na porta conectada à sua caixa linux, para que todo o tráfego no switch seja visível para o seu processo tcpdump.

na maioria das vezes, a melhor maneira de fazer isso é comprar um switch que suporte o espelhamento de portas e configurá-lo para enviar todo o tráfego para um segundo nic em sua caixa linux.

Se você deseja prosseguir com essa opção, consulte estas instruções para preparar sua rede para o SNORT. link

observe que, se você puder isolar um único protocolo que deseja monitorar, poderá configurar um proxy para ele em sua caixa linux, configurar o dispositivo android para usá-lo e, em seguida, capturar o tráfego à medida que ele for passado ligado, já que passa pela sua caixa linux.

não tenho certeza sobre a última parte da sua pergunta. todos os pacotes usam a camada de rede e link de dados, e o TCPdump pode registrar protocolos l2 como ARP e protocolos não-IP em l3 (ICMP), então sim e não, eu acho?

    
por 22.11.2013 / 19:14
0

Se você estiver conectando (ou puder conectar) seu laptop e seu dispositivo Android sem fio ao Wi-Fi AP, e se você usar apenas WEP ou nenhuma segurança em seu Wi-Fi AP, seu laptop provavelmente poderá ver e decodificar todo o tráfego de / para seu dispositivo Android.

Você pode precisar limitar seu PA a esquemas de modulação 802.11 mais antigos que sejam mais fáceis de receber de forma confiável (por exemplo, desabilitando o 802.11n, por exemplo, 802.11g) e / ou colocar seu laptop de forma que ele fique "entre" AP e o dispositivo Android.

É tecnicamente possível espionar o tráfego Wi-Fi do dispositivo Android, mesmo que você esteja usando a criptografia WPA-PSK ou WPA2-PSK, mas é mais complicado porque você precisa capturar os primeiros pacotes sempre que o dispositivo Android se une ou reencontra a rede. Desativar a criptografia resolve, assim como a troca para um bom WEP quebrado, porque todos em uma determinada rede WEP usam exatamente a mesma chave o tempo todo.

E sim, tcpdump verá esses pacotes porque ele é executado no modo promíscuo por padrão, a menos que você adicione o argumento -p para desativá-lo. tcpdump não é capaz de descriptografar WEP (ou WPA ou WPA2), então você teria que usar o Wireshark (ou "tshark" do Wireshark se você realmente gosta de ferramentas de linha de comando) para fazer isso.

    
por 22.11.2013 / 22:19