O NetStatAnalyzer é uma solução avançada de segurança e monitoramento para Windows, projetada para mapear, em tempo real, todas as conexões e portas ativas do seu sistema.
É uma solução totalmente voltada para efetuar análises de segurança da informação, inclusive para ambientes corporativos, que combina inspeção aprofundada de sockets de rede (TCP/UDP), medição de tráfego de banda (I/O de leitura e escrita), CPU por processo em tempo real os quais usam tráfego de rede, auditoria de persistência sobre tarefas agendadas e itens de inicialização, e detecção proativa de atividades suspeitas como proxies residenciais, mineração não autorizada e scripts em modo oculto.
O NetStatAnalyzer é otimizado exclusivamente para o sistema operacional Windows | Windows 10 versão 19041+ e Windows 11 x64.
A solução integra-se a APIs e componentes nativos do Windows:
-
Win32 Netstat e IP Helper API
Mapeia sockets de rede, portas e endpoints remotos em tempo real. -
Win32
GetProcessIoCounterseTotalProcessorTime
Consulta contadores de I/O e tempo acumulado de CPU por processo. Taxas e percentuais são derivados por amostragem. -
Windows Task Scheduler Engine
Lista e audita tarefas agendadas nos níveis de usuário e sistema. -
Windows Registry (
HKCUeHKLMRun/RunOnce) e pastas de inicialização
Identifica componentes configurados para inicialização automática, verifica assinaturas digitais e detecta binários órfãos. -
Integração administrativa nativa
Abre ferramentas oficiais do Windows, comoresmon.exe,taskschd.msc,ms-settings:startupapps,taskmgr.exe,shell:startuperegedit.exe.
Relatórios de inteligência de ameaças alertam sobre o risco decorrente de softwares e utilitários não homologados instalados em estações de trabalho. Módulos secundários frequentemente convertem o endpoint corporativo em um ativo compartilhado por terceiros:
-
Monetização de banda por proxies residenciais
Aplicações comoWorldProxyPool,PacketStreame similares podem usar a conexão corporativa para encaminhar tráfego anônimo externo, transformando a máquina em um nó de saída não autorizado. -
Mineração e processamento distribuído
Utilitários de computação distribuída podem degradar o desempenho do hardware e ampliar o consumo de recursos. -
Persistência oculta
Scripts executados em segundo plano via PowerShell (-WindowStyle Hidden) podem estar associados a tarefas agendadas ou chaves de registro sem visibilidade direta para o usuário.
Important
Sob diretrizes de governança, LGPD e controles ISO 27001, qualquer estação que opere como roteador de tráfego de terceiros configura violação crítica de rastreabilidade, confidencialidade e controle de ativos. O NetStatAnalyzer centraliza a visibilidade operacional para permitir identificação e resposta imediatas.
-
Taxa de transferência em tempo real
Mede leitura e escrita por socket e processo (B/s,KB/s,MB/s,GB/s). -
Consumo de CPU
Exibe indicadores percentuais individuais atualizados em tempo real. -
Filtro dinâmico de utilização de CPU
Permite visualizar processos acima de faixas predeterminadas (> 1%,> 5%,> 10%,> 25%,> 50%). -
Filtro de anomalias
Isola conexões que apresentem picos ou comportamentos atípicos. -
Leitura contínua
Faz amostragem automática a cada 2 segundos e exibe um indicador visual animado de status.
-
Consolidação por processo
Agrupa sockets por executável e PID. -
Volumes de tráfego
Separa Download / Leitura de Upload / Escrita. -
Conexões ativas
Exibe a contagem total por processo. -
Diagnóstico de integridade
Classifica processos como Crítico, Alto Risco, Suspeito, Atenção ou Normal, com detalhes técnicos em tooltips contextuais.
-
Varredura de tarefas
Lista e classifica tarefas agendadas locais. -
Detecção de persistência
Identifica scripts PowerShell em modo oculto, intervalos de execução inferiores a 15 minutos, binários em diretórios temporários (%AppData%,%Temp%) e executáveis sem assinatura digital válida. -
Acesso ao console de gestão
Abre o Agendador de Tarefas nativo (taskschd.msc).
-
Inspeção do Registro
Verifica as chavesHKCU\Software\Microsoft\Windows\CurrentVersion\Run,HKLM,RunOncee os ramosWOW6432Node. -
Pastas de inicialização
Mapeia as pastas de inicialização do usuário e do sistema (shell:startup). -
Validação de integridade
Alerta sobre arquivos órfãos, cujas entradas apontam para executáveis ausentes, e executáveis de terceiros sem assinatura corporativa.
O NetStatAnalyzer disponibiliza atalhos operacionais para abertura direta dos consoles de diagnóstico oficiais do Windows:
| Ferramenta Oficial | Comando Nativo | Finalidade Operacional |
|---|---|---|
| Monitor de Recursos | resmon.exe |
Inspeção aprofundada de sockets, threads e I/O de disco por PID. |
| Agendador de Tarefas | taskschd.msc |
Gerenciamento, desativação ou exclusão de rotinas suspeitas. |
| Aplicativos de Inicialização | ms-settings:startupapps |
Painel moderno do sistema operacional para habilitar/desabilitar itens. |
| Gerenciador de Tarefas | taskmgr.exe |
Finalização de processos e gestão de recursos. |
| Pasta Inicializar | shell:startup |
Inspeção direta de atalhos e scripts no perfil do usuário. |
| Editor do Registro | regedit.exe |
Inspeção detalhada de chaves Run e políticas de execução. |
Na aba conexões de rede ali, o sistema conta com o mecanismo declarativo de regras de confiança fundamentado no par Processo + Endereço IP:
flowchart LR
A[Conexão Detectada] --> B{Processo e IP constam na Allowlist?}
B -- Sim --> C[Classificação: Confiável]
B -- Não --> D[Classificação: Tráfego Não Mapeado]
C --> E[Filtro Operacional: Ocultar Confiáveis]
D --> E
E --> F[Foco Imediato em Endpoints Não Homologados]
A solução adota os princípios de Clean Architecture, com separação estrita de responsabilidades em camadas e direção de dependências para o núcleo de domínio:
flowchart TD
subgraph Presentation_Layer [Camada de Apresentação - WPF]
V[Views: MainWindow e AllowlistManagerWindow]
VM[ViewModels: MainViewModel, ConnectionItemVM, etc.]
ROOT[ApplicationCompositionRoot]
end
subgraph Application_Layer [Camada de Aplicação]
UC1[ScanConnectionsUseCase]
UC2[ScanProcessMetricsUseCase]
UC3[ScanScheduledTasksUseCase]
UC4[ScanStartupItemsUseCase]
UC5[ManageAllowlistUseCase]
UC6[ExportConnectionsUseCase]
PORTS[Contratos de Scanners, Repositórios e Ferramentas]
end
subgraph Domain_Layer [Camada de Domínio]
E1[Entidades: NetworkConnection, ProcessMetricInfo, etc.]
EN[Enumeradores: ThreatLevel, ConnectionState, etc.]
POL[Políticas: TrustEvaluationPolicy, ThreatDetectionPolicy]
end
subgraph Infrastructure_Layer [Camada de Infraestrutura]
INF1[NetStatCliScanner]
INF2[Win32ProcessMetricsProvider]
INF3[WindowsScheduledTaskScanner]
INF4[WindowsStartupScanner]
INF5[JsonFileAllowlistRepository]
INF6[FileConnectionExporter]
end
V --> VM
VM --> UC1 & UC2 & UC3 & UC4 & UC5 & UC6
UC1 & UC2 & UC3 & UC4 & UC5 & UC6 --> PORTS
UC1 & UC2 & UC3 & UC4 & UC5 & UC6 --> E1 & EN & POL
INF1 & INF2 & INF3 & INF4 & INF5 & INF6 -. Implementam .-> PORTS
ROOT -. Configura .-> INF1 & INF2 & INF3 & INF4 & INF5 & INF6
ROOT --> UC1 & UC2 & UC3 & UC4 & UC5 & UC6
-
Plataforma
Windows 10 (versão 19041+) ou Windows 11 (64-bit). -
Ambiente de desenvolvimento
.NET 8.0 SDK.
dotnet runO comando a seguir gera um executável único e autocontido com o runtime embutido (não exige instalação prévia do .NET na estação de destino):
dotnet publish NetStatAnalyzer.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:EnableCompressionInSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -o ./publishO binário será gerado em: ./publish/NetStatAnalyzer.exe.
A base de código conta com 52 testes automatizados usando xUnit, cobrindo regras de negócio, integridade e políticas de segurança:
-
Políticas de detecção de ameaças (
ThreatDetectionPolicy)
Validam proxies residenciais, rotinas de mineração, scripts PowerShell ocultos e picos anômalos. -
Cálculo de métricas (
ProcessMetricInfo)
Valida taxas de transferência e formatação proporcional de unidades. -
Filtros de utilização de CPU
Verificam os cortes dinâmicos noMainViewModel. -
Integridade da Allowlist (
TrustEvaluationPolicyeManageAllowlistUseCase)
Valida a sanitização de endereços IPv4/IPv6, portas e máscaras curinga. -
Exportação de dados (
FileConnectionExporter)
Valida arquivos nos formatos JSON, CSV e TXT.
Para executar a suíte de testes:
dotnet testNetStatAnalyzer/
├── assets/ # Identidade visual e ícones
├── docs/
│ └── images/ # Evidências visuais para documentação
├── Domain/
│ ├── NetStatAnalyzer.Domain.csproj # Núcleo isolado sem dependências externas
│ ├── Entities/ # Entidades de negócio (NetworkConnection, ProcessMetricInfo)
│ ├── Enums/ # Enumeradores de estado e integridade
│ └── Policies/ # Regras de ameaça e confiança
├── Application/
│ ├── NetStatAnalyzer.Application.csproj # Casos de uso e portas
│ ├── Contracts/ # Interfaces de scanners, repositórios e integrações
│ └── UseCases/ # Implementação dos fluxos de trabalho
├── Infrastructure/
│ ├── NetStatAnalyzer.Infrastructure.csproj # Adaptadores Win32 e implementação de IO
│ ├── Exporting/ # Exportadores em CSV, TXT e JSON
│ ├── Monitoring/ # Coleta de métricas via GetProcessIoCounters
│ ├── Persistence/ # Armazenamento local de regras em JSON
│ └── System/ # Integrações de Task Scheduler, Registro e Ferramentas
├── Presentation/
│ ├── Styles/DesignSystem.xaml # Sistema de design, paleta e temas
│ ├── Common/ # Utilitários MVVM
│ └── ViewModels/ # ViewModels e bindings
├── NetStatAnalyzer.Tests/ # Suíte de testes unitários (xUnit)
├── ApplicationCompositionRoot.cs # Ponto de composição de dependências
├── MainWindow.xaml # Janela principal da aplicação
├── MainWindow.xaml.cs # Lógica de apresentação da interface
├── AllowlistManagerWindow.xaml # Janela de gestão de conexões confiáveis
├── NetStatAnalyzer.csproj # Projeto principal .NET 8 WPF
└── LICENSE # Licença MIT
Este projeto é distribuído sob os termos da licença MIT.



