Tengo tres ideas para ti. Todos tienen su cuota de complejidad y puede mezclar y combinar como mejor le parezca. El primero es probablemente el más fácil, pero menos robusto (por sí solo).
1. Detección pasiva de MAC
La forma estándar sería realizar un seguimiento de las direcciones MAC que solicitan direcciones DHCP del enrutador. La mayoría de los enrutadores proporcionan una pantalla de estilo "Dispositivos conectados" que le indicará quién se está conectando.
Esto no es automático, pero podría (bastante fácilmente) escribir un poco de Bash / Python para abrir la página del enrutador, analizar las direcciones MAC y compararlas con una lista de direcciones MAC conocidas / permitidas.
El problema aquí es que nada es instantáneo. Confía en el enrutador para actualizar su página y debe sondear esto con frecuencia. A algunos enrutadores no les gustará esto. Tengo un enrutador Edimax horrible que se bloquea si carga más de 10 páginas en un minuto (¡patético!), Por lo que esto podría no funcionar.
Las direcciones MAC también son lamentablemente falsas. macchanger
por ejemplo, le permitirá falsificar su dirección MAC en un solo comando. Creo que incluso Network Manager te permitirá hacerlo. Si alguien no quiere ser detectado, monitoreará el tráfico de red y falsificará uno de los dispositivos válidos (conocidos).
2. olfateo activo
Aquí es donde arrancamos las ruedas y excavamos. Necesitará un dispositivo inalámbrico de repuesto en un lugar que pueda interceptar el tráfico hacia / desde el enrutador (idealmente bastante cerca de él).
En resumen, se airodump-ng
conecta y observa a las personas conectadas a su red. Debería ser posible escribir este resultado para que cuando aparezca un nuevo dispositivo y comience a usar su red, pueda hacer algo al instante .
La idea sería ejecutar esto en el arranque (como root):
airmon-ng start wlan0
airodump-ng --bssid 00:1F:9F:14:6F:EB -w output --output-format csv mon0
Reemplace el BSSID con su punto de acceso.
Esto escribe un archivo de incremento automático que se puede analizar de forma regular. La versión anterior escribe un archivo de valores separados por comas que es bastante básico, pero si está satisfecho con XML (Python puede hacerlo bastante simple) es posible que desee ver el netxml
formato de salida para airodump.
De cualquier manera, esto le brinda información periódica sobre qué dispositivos están utilizando la red (y cuánto tráfico están enviando también). Todavía es tan falible como usar la tabla ARP del enrutador, pero está en vivo.
Mientras está en modo promiscuo, si su script capta un cliente que cree que no debería estar en la red, puede utilizarlo tcpdump
para rastrear los paquetes y registrar intercambios de interés (solicitudes HTTP, etc.). Es más programación pero se puede hacer.
3. Huellas digitales con nmap
Otro método es barrer la red para clientes con nmap
. Normalmente, podría pensar, esto no lo ayudaría demasiado, si alguien está bloqueando los pings, es posible que no aparezca.
Le sugiero que use esto junto con cualquiera de los otros dos métodos. 1
le dará la dirección IP para que pueda nmap directamente. 2
no le dará una IP pero le permitirá saber cuántos clientes nmap
deben esperar encontrar en ese momento exacto. Asegúrese de que todos sus dispositivos tengan ping.
Cuando se nmap
ejecuta (p sudo nmap -O 192.168.1.1/24
. Ej. ) Intentará encontrar hosts y luego hará un escaneo de puertos en ellos para descubrir cuáles son. Su lista de verificación debe incluir cómo debe responder cada uno de sus dispositivos nmap
.
Si desea ir más allá, puede ejecutar un servidor simple en cada una de sus computadoras. Solo algo que aceptó una conexión y luego la dejó caer. En resumen: algo para nmap
buscar. Si lo encuentra abierto, probablemente sea su computadora.
4. Asegure mejor su red
Deberías hacer esto primero si estás preocupado. Use WPA2 / AES. Nunca use WEP (grietas en aproximadamente cinco minutos).
Si todavía le preocupa que alguien pueda descubrir la clave (WPA2 requiere muchos datos y tiempo de cálculo para descifrar), cambie a un modelo RADIUS. Es un marco de autenticación que configura una clave única para cada usuario. PITA para configurar sin embargo.
Pero que hacer ...?
Si no estuviera contento con las cosas, probablemente vería manualmente Airodump. Si todavía no fuera feliz, comenzaría a tomar huellas digitales de las cosas que vi. Sin embargo, es algo difícil (de ninguna manera imposible) escribir.
El guión más fácil será el raspado del enrutador con huellas digitales nmap
. Corto y sencillo.