sonnora@systems:~/projects/rscout$ cat README

rScout — todo dispositivo na rede, identificado.

Um scanner de rede em Rust que vai além de um ping sweep. O rScout correlaciona sinais de vários protocolos ao mesmo tempo para descobrir o que realmente está na sua rede — incluindo dispositivos que fazem questão de se esconder.

● em desenvolvimento ativoEscrito em RustMecanismo de TUI personalizado

// o problema

A maioria dos scanners diz que um IP respondeu. Isso não é a mesma coisa que saber o que está lá.

Limitação

Dispositivos modernos — especialmente celulares Android — randomizam seu endereço MAC, o que quebra a forma mais simples de distinguir um dispositivo de outro ao longo do tempo. Qualquer sinal isolado (uma porta aberta, um hostname, um prefixo MAC) é fácil de falsificar, perder ou interpretar errado sozinho.

Abordagem

O rScout trata a identificação de dispositivos como um problema de pontuação, não de consulta. Ele coleta vários sinais independentes por dispositivo e os processa através de um framework de pontuação de candidatos, para que um sinal fraco ou ausente em uma fonte não invalide toda a identificação.

// fontes de sinal

Quatro protocolos, validação cruzada

SSDP / UPnP

Lê anúncios de serviço divulgados por dispositivos — geralmente a forma mais rápida de identificar dispositivos domésticos inteligentes e de mídia no segmento.

mDNS / Bonjour

Captura transmissões locais de descoberta de serviços, um sinal forte para hardware Apple e muitos dispositivos IoT.

Consulta MAC OUI

Compara o prefixo do fabricante com faixas de fornecedores conhecidas — útil, mas tratado como uma dica, não como verdade absoluta, devido à randomização de MAC.

Hostname DHCP

Obtém o hostname que um dispositivo anuncia ao solicitar um endereço — geralmente o sinal mais legível dos quatro.

// interface

Uma TUI com painéis divididos, não uma parede de logs

A interface de terminal roda em um mecanismo de renderização personalizado com painéis de rolagem independente, acionados via crossterm. Um painel acompanha a descoberta ao vivo; o outro mantém o registro de execução do classificador.

rscout — scanning 192.168.1.0/24

// por baixo dos panos

Construído do jeito difícil, de propósito

Pipeline

Sinais brutos passam por um pipeline de classificação/enriquecimento antes de qualquer coisa chegar à interface — o enriquecimento adiciona contexto (fabricante, tipo de serviço, função provável), a classificação transforma isso em uma identidade de dispositivo com nível de confiança.

Reforço

Uma passagem completa pelo código identificou e corrigiu ramos de classificação mortos, incompatibilidades de tipo de serviço mDNS, e bugs tanto no coletor mDNS/Bonjour quanto no enriquecedor SSDP — o tipo de trabalho de correção que não aparece em uma lista de funcionalidades, mas decide se os resultados podem ser confiáveis.

Renderização

O buffer de terminal de tela alternativa tinha um bug de corrupção sob certas sequências de redimensionamento — localizado e corrigido no nível do mecanismo de renderização em vez de contornado na camada de interface.

// conecte-se

Curioso como o rScout pode se encaixar na sua rede?

Entre em contato sobre acesso, implantação, ou extensão para um cenário específico de dispositivos.