Eu tenho três ideias para você. Todos eles têm a sua quota de complexidade e você pode misturar e combinar como achar melhor. O primeiro é provavelmente o mais fácil, mas menos robusto (por conta própria).
1. Detecção MAC passiva
A maneira padrão seria manter o controle dos endereços MAC que estão solicitando endereços DHCP do roteador. A maioria dos roteadores fornece uma tela de estilo "Dispositivos anexados" que informa quem está se conectando.
Isto não é automático, mas você pode (muito facilmente) criar scripts em algum Bash / Python para puxar a página do roteador, analisar os endereços MAC e confrontá-los com uma lista de endereços MAC conhecidos / permitidos.
O problema aqui é que nada é instantâneo. Você confia no roteador para atualizar sua página e precisa pesquisar isso com frequência. Alguns roteadores não vão gostar disso. Eu tenho um roteador Edimax de baixa qualidade que trava se você carregar mais de 10 páginas em um minuto (patético!), Então isso pode não funcionar.
Os endereços MAC também são falsamente spoofable. macchanger
, por exemplo, permitirá que você falsifique seu endereço MAC em um comando. Acho que até o Network Manager permitirá que você faça isso. Se alguém não quiser ser detectado, ele monitorará o tráfego da rede e falsificará um dos dispositivos (conhecidos) válidos.
2. Sniffing Ativo
Aqui é onde nós arrancamos as rodas e entramos. Você precisará de um sobressalente algo sem fio em um lugar que possa interceptar o tráfego de / para o roteador (idealmente bem próximo a ele).
Em suma, você conecta airodump-ng
e assiste pessoas conectadas à sua rede. Deve ser possível fazer o script dessa saída para que, quando um novo dispositivo aparecer e começar a usar sua rede, você possa fazer instantaneamente algo .
A idéia é que você execute isso na inicialização (como root):
airmon-ng start wlan0
airodump-ng --bssid 00:1F:9F:14:6F:EB -w output --output-format csv mon0
Substitua o BSSID pelo seu ponto de acesso.
Isso grava um arquivo de incremento automático que pode ser analisado regularmente. A versão acima escreve um arquivo de valores separados por vírgula que é bem básico, mas se você estiver satisfeito com XML (Python pode torná-lo bem simples) você pode querer olhar para o formato de saída netxml
para o airodump.
De qualquer forma, isso fornece informações regulares sobre quais dispositivos estão usando a rede (e quanto tráfego eles estão enviando também). Ainda é tão falível quanto usar a tabela ARP do roteador, mas é ao vivo.
Enquanto você está no modo promíscuo, se seu script pegar um cliente que ele acha que não deveria estar na rede, você poderia usar tcpdump
para vasculhar os pacotes e registrar trocas de interesse (solicitações HTTP, etc) . É mais programação, mas pode ser feito.
3. Impressão digital com nmap
Outro método é varrer a rede para clientes com nmap
. Normalmente, você pode pensar, isso não ajudaria muito, se alguém estiver bloqueando pings, pode não aparecer.
Sugiro que você use isso em conjunto com um dos dois outros métodos. 1
lhe dará o endereço IP para que você possa fazer o nmap diretamente. 2
não lhe dará um IP, mas informará quantos clientes nmap
devem esperar encontrar, naquele exato momento. Certifique-se de que todos os seus dispositivos são passíveis de ping.
Quando nmap
for executado (por exemplo, sudo nmap -O 192.168.1.1/24
), ele tentará localizar os hosts e, em seguida, fará uma varredura de porta para descobrir o que eles são. Sua lista de verificação deve incluir como cada um dos seus dispositivos deve responder a nmap
.
Se você quiser ir mais longe, pode executar um servidor simples em cada um dos seus computadores. Apenas algo que aceitou uma conexão e, em seguida, caiu. Resumindo: Algo para nmap
procurar. Se achar que está aberto, provavelmente é o seu computador.
4. Proteja sua rede melhor
Você deve fazer isso primeiro se estiver preocupado. Use o WPA2 / AES. Nunca use WEP (rachaduras em cerca de cinco minutos).
Se ainda estiver preocupado, alguém pode descobrir a chave (o WPA2 recebe um lote de dados e tempo computacional para quebrar), mudar para um modelo RADIUS. É uma estrutura de autenticação que configura uma chave única para cada usuário. PITA para configurar embora.
Mas o que fazer ..?
Se eu não estivesse feliz com as coisas, eu provavelmente assistiria manualmente ao airodump. Se eu ainda não estivesse feliz, começaria a tirar impressões digitais das coisas que vi. Um pouco difícil (de modo algum impossível) de roteiro embora.
O mais fácil de rotear será a captura de roteadores com impressão digital de nmap
. Curto e simples.