{}
{}
Nenhum achado relevante nas regras atuais.
".into(); } let cards = model .analysis .findings .iter() .map(|f| { let scope = match (&f.ssid, &f.bssid) { (Some(ssid), Some(bssid)) => format!("{ssid} · {bssid}"), (Some(ssid), None) => ssid.clone(), (None, Some(bssid)) => bssid.clone(), _ => "—".into(), }; format!( "{}
Nenhum AP com canal identificado.
".into(); } model .analysis .bands .iter() .map(|band| { let max = band .candidates .iter() .map(|c| c.score) .fold(0.0f32, f32::max) .max(0.01); let rows = band .candidates .iter() .map(|c| { let width = (c.score / max * 100.0).clamp(2.0, 100.0); let best = band.recommended == Some(c.channel); format!( "Nenhum AP capturado.
".into(); } let rows = model .access_points .iter() .map(|ap| { format!( "| SSID | BSSID | Canal | Segurança | Cifra | PMF | WPS | Sinal | Clientes |
|---|
Nenhum cliente capturado.
".into(); } let rows = model .clients .iter() .take(120) .map(|c| { format!( "| MAC | Fabricante | BSSID | Sinal | Pacotes | Associado | Probes |
|---|
Nenhum handshake ou PMKID capturado.
".into(); } let rows = model .handshakes .iter() .map(|h| { format!( "| Estação | SSID | Tipo | Mensagens | Quebrável | Senha |
|---|
Nenhuma rede WPA3 observada.
".into(); } model .analysis .wpa3 .iter() .map(|w| { let notes = if w.notes.is_empty() { "PMF: {} · obrigatório: {} · transição: {}
Trilha de auditoria vazia.
".into(); } let rows = model .audit .iter() .take(60) .map(|e| { let detail = if e.detail.chars().count() > 140 { format!("{}…", e.detail.chars().take(140).collect::| Quando | Ação | Alvo | Detalhe | Hash |
|---|
Relatório de auditoria · redes sem fio
Achados de configuração, canais, clientes, handshakes e trilha de auditoria da captura, com verificação criptográfica — nenhuma senha é inventada.
Documento gerado localmente. Use somente em redes próprias ou com autorização explícita do responsável. Cada ação ativa fica registrada na trilha de auditoria encadeada por hash (seção final).
{summary}
Captura em {iface}, com {frames} quadros processados, {eapol} EAPOL e {deauth} quadros de desautenticação/desassociação. Os dados refletem apenas o que foi visto no ar durante a sessão; não há varredura ativa além das ações listadas na auditoria.
Pontuação menor é melhor. O cálculo pondera sobreposição espectral e intensidade de cada AP; em 2,4 GHz a recomendação fica restrita a 1, 6 e 11.
{channels}Exibindo até 120 estações ordenadas por volume de quadros.
{clients}Handshakes com senha encontrada aparecem com o valor em texto; os demais podem ser exportados em .pcap ou .hc22000 na interface.
Últimas 60 entradas, com hash encadeado. A verificação completa fica disponível na interface.
{audit}O Sabiá opera em modo monitor, agrega beacons, respostas de probe, associação e EAPOL, e só injeta quadros quando uma ação é confirmada na interface. A análise de canais é uma estimativa de sobreposição, não uma medição de espectro por SDR. A detecção de evil twin é heurística: nomes iguais com seguranças diferentes e rajadas de gerenciamento merecem verificação manual.
O teste de PMF observa reassociação após desautenticação; um resultado inconclusivo não prova que o PMF está ativo. O ataque WPS depende de reaver/bully instalados e de o AP aceitar PIN. Nenhuma senha é inventada: handshakes só aparecem como quebrados quando a verificação criptográfica local confirma a candidata.
Relatório gerado pelo Sabiá {version} em {date}.