Este Repo é a continuação do unixpickle/JamWiFi, pois foi descontinuado e não será atualizado
Adicionada opção de adesão (destinada à adesão pelo BSSID)
Erros de verificação agora têm uma descrição (somente console)
Configurações adicionadas (redes ocultas, ..)
Adicionada classificação de coluna
Reescrever em Swift
Adicionado suporte para MacOS Mojave/Catalina
Adicionado suporte ao modo escuro
Baixe o último pré-compilado
Dispositivos com versão 2018 e posteriores parecem travar ao executar a injeção de pacotes. Infelizmente, eu não possuo esse dispositivo, então não posso consertá-lo agora
JamWiFi permite selecionar uma ou mais redes sem fio próximas, apresentando então uma lista de clientes que estão atualmente ativos na(s) rede(s). Além disso, JamWiFi permite desconectar clientes de sua escolha pelo tempo que desejar.
Nos bastidores, o JamWiFi usa a API CoreWLAN da Apple para salto de canal e varredura de rede. Para uma interface de pacote bruto, o libpcap fornece um bom ponto de abstração para enviar/receber quadros 802.11 brutos na camada MAC. Todos os pacotes MAC 802.11 incluem um endereço MAC de origem e destino. Isso permite que o JamWiFi determine as estações em um determinado ponto de acesso.
JamWiFi "inicia" clientes usando um quadro de dissociação. Quando um cliente recebe um quadro de dissociação de um Ponto de Acesso, ele assumirá que qualquer conexão que tinha com o AP não está mais ativa. Entretanto, uma vez que um cliente receba um quadro de dissociação, ele poderá imediatamente tentar estabelecer uma nova sessão com o AP. Para evitar isso, o JamWiFi envia continuamente quadros de dissociação para cada cliente com bastante frequência.
Algumas redes incluem mais de um Ponto de Acesso. Além disso, pode haver cenários em que mais de uma rede WiFi utilizável esteja disponível para um cliente. Neste cenário, mesmo que um cliente seja desassociado de um AP, ele poderá estabelecer com êxito uma sessão com outro AP. Para superar isso, o JamWiFi envia quadros de dissociação para cada cliente de cada AP, independentemente de esse cliente estar ou não associado ao AP. Embora isto possa parecer uma sobrecarga desnecessária, é necessário para redes mais complexas com >1 ponto de acesso.
Só um segundo, aí. Não sou responsável por qualquer dano que você possa causar a alguém que use esta ferramenta. Isto é apenas para fins experimentais e de aprendizagem. Por favor, por favor, pense duas vezes antes de fazer algo estúpido com isso. Você gostaria se o seu WiFi nunca funcionasse porque você tinha um idiota como vizinho?