Este repositorio es la continuación de Unixpickle/JamWiFi, ya que quedó obsoleto y no se actualizará.
Opción de unión agregada (destinada a unirse por BSSID)
Los errores de escaneo ahora tienen una descripción (solo consola)
Configuraciones agregadas (Redes ocultas, ..)
Clasificación de columnas agregada
Reescribir en Swift
Soporte agregado para MacOS Mojave/Catalina
Se agregó compatibilidad con el modo oscuro
Descargar la última versión precompilada
Los dispositivos construidos en 2018 y posteriores parecen fallar al realizar la inyección de paquetes. Desafortunadamente, yo no poseo dicho dispositivo, por lo que no puedo repararlo ahora mismo.
JamWiFi le permite seleccionar una o más redes inalámbricas cercanas y luego presenta una lista de clientes que están actualmente activos en las redes. Además, JamWiFi te permite desconectar a los clientes que elijas durante el tiempo que desees.
Bajo el capó, JamWiFi utiliza la API CoreWLAN de Apple para saltar de canal y escanear la red. Para una interfaz de paquetes sin formato, libpcap proporciona un buen punto de abstracción para enviar/recibir tramas 802.11 sin formato en la capa MAC. Todos los paquetes MAC 802.11 incluyen una dirección MAC de origen y destino. Esto permite a JamWiFi determinar las estaciones en un punto de acceso determinado.
JamWiFi "inicia" a los clientes mediante un marco de disociación. Cuando un cliente recibe una trama de disociación de un Punto de Acceso, asumirá que cualquier conexión que tenía con el AP ya no está activa. Sin embargo, una vez que un cliente recibe un marco de disociación, puede intentar inmediatamente establecer una nueva sesión con el AP. Para evitar esto, JamWiFi envía continuamente tramas de disociación a cada cliente con bastante frecuencia.
Algunas redes incluyen más de un punto de acceso. Además, puede haber escenarios en los que más de una red WiFi utilizable esté disponible para un cliente. En este escenario, incluso si un cliente está desasociado de un AP, es posible que pueda establecer con éxito una sesión con otro AP. Para superar esto, JamWiFi envía tramas de disociación a cada cliente desde cada AP, ya sea que ese cliente pueda estar asociado con el AP o no. Si bien esto puede parecer una sobrecarga innecesaria, es necesario para redes más complejas con >1 punto de acceso.
Un segundo, ahí. No soy responsable de ningún daño que pueda causarle a cualquier persona que utilice esta herramienta. Esto es sólo para fines experimentales y de aprendizaje. Por favor, por favor, piénsalo dos veces antes de hacer algo estúpido con esto. ¿Qué te parecería si tu WiFi nunca funcionara porque tuvieras un idiota por vecino?