- engine.rs: expõe Evil Twin (PSK/Enterprise), crack com regras/máscara,
relatório e exportação .hc22000 pros três front-ends (CLI, servidor web
da UI, Tauri). set_monitor() agora solta a interface do NetworkManager
antes de ativar modo monitor e devolve ao desativar — sem isso o NM
reafirma a própria conexão por cima e a captura cai sozinha pouco
depois ("está em modo managed"). Evil Twin grava um arquivo de estado
em disco antes de soltar as interfaces; se o processo morrer no meio
(Ctrl+C sem handler, kill -9, queda de energia), o próximo início do
engine desfaz tudo sozinho (self_heal_eviltwin_leftovers) — sem isso as
duas interfaces ficavam presas em managed=no pro NetworkManager pra
sempre e o Wi-Fi inteiro sumia do painel do sistema. hostapd/hostapd-wpe
que morrem na hora de subir agora reportam a saída real capturada em
log, em vez de um processo "<defunct>" mudo. Novo
ScanSnapshot.warning: avisa quando a sessão roda >12s sem receber
nenhum quadro — sintoma de placa que aceita ativar modo monitor sem
entregar captura de verdade (comum em Wi-Fi interno de notebook).
- sabia-cli (main.rs/web/mod.rs) e o app desktop (Tauri main.rs) ganham
as rotas/comandos equivalentes pra tudo isso.
39 lines
832 B
Rust
39 lines
832 B
Rust
//! `sabia-core`: tudo que fala com o rádio Wi-Fi, interpreta quadros 802.11,
|
|
//! mantém a trilha de auditoria e quebra handshakes. A CLI e a interface
|
|
//! gráfica são só consumidoras disto — a parte complexa (radiotap, 802.11,
|
|
//! EAPOL, captura e injeção) fica inteira aqui dentro.
|
|
|
|
pub mod analysis;
|
|
pub mod audit;
|
|
pub mod ccmp;
|
|
pub mod crack;
|
|
pub mod doctor;
|
|
pub mod dot11;
|
|
pub mod eapol;
|
|
pub mod engine;
|
|
pub mod error;
|
|
pub mod eviltwin;
|
|
pub mod eviltwin_enterprise;
|
|
pub mod handshake;
|
|
pub mod hashcat;
|
|
pub mod iface;
|
|
pub mod inject;
|
|
pub mod netlink;
|
|
pub mod oui;
|
|
pub mod pcapreader;
|
|
pub mod pcapwriter;
|
|
pub mod radiotap;
|
|
pub mod report;
|
|
pub mod rules;
|
|
pub mod scan;
|
|
pub mod update;
|
|
pub mod wps;
|
|
|
|
#[cfg(target_os = "linux")]
|
|
pub mod capture;
|
|
|
|
#[cfg(test)]
|
|
pub(crate) mod testutil;
|
|
|
|
pub use error::{Result, SabiaError};
|