
netsentryx — Updated!
Uma plataforma de monitorização de rede orientada a eventos que realiza captura de pacotes em tempo real (Npcap), análise de tráfego de baixa latência e deteção de ameaças não supervisionada utilizando um Autoencoder PyTorch, suportada por um motor de alertas assíncrono multicanal.
NetSentryx PRO 🛡️
Motor de Observabilidade de Rede e Detecção de Ameaças em Tempo Real, de Alto Desempenho e Orientado por IA
O NetSentryx PRO é uma plataforma de monitoramento de rede e inteligência de ameaças de próxima geração, orientada a eventos. Combinando assinaturas baseadas em regras com um Deep Autoencoder em PyTorch, ele oferece detecção de anomalias em pacotes e netflow em menos de 10ms, alertas automatizados multicanal (Slack, Discord, Email) e um dashboard SOC interativo em tempo real.
🏗️ Arquitetura do Sistema
O diagrama de fluxo a seguir ilustra a ingestão de dados, a inferência de deep learning em tempo real, o pipeline de alertas e a camada de visualização via WebSocket:
flowchart TD
subgraph Capture & Ingestion
A[Network Interface / Packet Simulator] -->|Raw Traffic Events| B(Lightweight Event Bus)
B -->|Packet Stream| C[Flow Aggregation Engine]
end
subgraph Deep Learning Inference
C -->|Aggregated Telemetry Vectors| D[PyTorch TrafficAutoencoder]
D -->|MSE Reconstruction Loss| E{Threshold Evaluation}
end
subgraph Alert Dispatch
E -->|No Anomaly| F[Status: Optimal]
E -->|Anomaly Detected| G[FastAPI BackgroundTasks]
G -->|Save Event| H[(SQLite Datastore)]
G -->|Broadcast WebSocket| I[HTML Live Dashboard]
G -->|Dispatch Webhooks| J[Slack / Discord / Custom Webhook]
G -->|Dispatch SMTP| K[Email Alerting]
end
style D fill:#EE4C2C,stroke:#fff,stroke-width:2px,color:#fff
style I fill:#005571,stroke:#fff,stroke-width:2px,color:#fff
style G fill:#00bf8f,stroke:#fff,stroke-width:2px,color:#fff
🚀 Principais Recursos
- ⚡ Ingestão de Tráfego em Tempo Real: Agrega quadros de pacotes em resumos de netflow ricos em tempo real com latência mínima.
- 🧠 Detecção de Anomalias com Deep Autoencoder em PyTorch: Utiliza uma rede neural PyTorch leve (
TrafficAutoencoder) para detectar exploits zero-day sofisticados, varreduras ou ataques DDoS com base no erro de reconstrução de características multivariadas. - 📈 Inicialização sem Treinamento Manual: Apresenta ajuste sintético automatizado e calibração estatística de limiar (
Mean + 3 * Std) durante a inicialização do servidor, tornando-o totalmente funcional pronto para uso. - ⏱️ Latência de Inferência Inferior a 10ms: Pipeline de inferência otimizado garante avaliação em tempo real de fluxos de pacotes de alta taxa de transferência.
- 📣 Envio de Alertas Multicanal: Envia de forma assíncrona alertas detalhados de intrusão para webhooks do Slack, webhooks do Discord, APIs HTTP personalizadas e emails SMTP usando
BackgroundTasksdo FastAPI. - 📊 Dashboard SOC Interativo: Dashboard elegante em modo escuro, alimentado por Tailwind CSS, Chart.js e WebSockets para visualização em tempo real de métricas de throughput e feeds de ameaças ao vivo.
📁 Estrutura do Projeto
NetSentryx/
├── config/
│ ├── config.yaml # System, dashboard, and alerting channel configurations
│ └── rules.yaml # Threat detection thresholds and rule properties
├── src/
│ ├── alerts/
│ │ ├── ml_detection.py # PyTorch TrafficAutoencoder & feature scaling
│ │ ├── manager.py # Async alert dispatcher (Discord, Slack, Email)
│ │ └── detection.py # Rule-based packet signature detection engine
│ ├── core/
│ │ ├── config_loader.py # Configuration loader utilities
│ │ ├── logger.py # Database-integrated system logger
│ │ └── time_utils.py # Timezone-aware timestamp utilities
│ ├── dashboard/
│ │ ├── templates/
│ │ │ └── index.html # Live HTML5 Dashboard template
│ │ └── server.py # FastAPI API Router and WebSocket broadcast controller
│ ├── database/
│ │ ├── manager.py # SQLite connection & database actions
│ │ └── models.py # SQLAlchemy schema definitions (Alerts, Logs, Flows)
│ ├── flows/
│ │ ├── capture.py # Scapy packet sniffer thread
│ │ └── processor.py # Flow aggregation and metric extractor
│ └── main.py # Application entrypoint
└── main.py # Root script runner
🛠️ Guia de Início Rápido e Configuração
1. Pré-requisitos
Certifique-se de ter o Python 3.10+ instalado. Se for capturar interfaces de rede ao vivo:
- Windows: Instale o Npcap (selecione "Install Npcap in WinPcap API-compatible Mode").
- Linux: Instale o
libpcap-devviasudo apt-get install libpcap-dev.
2. Instalação
Clone o repositório e instale as dependências (o uso do uv é altamente recomendado para uma instalação mais rápida):
# Clone the repository
git clone https://github.com/yourusername/netsentryx.git
cd netsentryx
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install requirements
pip install -r requirements.txt
3. Configuração do Ambiente (.env)
Crie um arquivo .env na raiz do projeto para configurar as credenciais de notificação:
# Discord Configuration
DISCORD_ENABLED=true
DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/your-webhook-id/your-webhook-token"
# Slack Configuration
SLACK_ENABLED=true
SLACK_WEBHOOK_URL="https://hooks.slack.com/services/YOUR_WORKSPACE_ID/YOUR_CHANNEL_ID/YOUR_SECRET_TOKEN"
# SMTP Email Configuration
SMTP_ENABLED=true
SMTP_SERVER="smtp.gmail.com"
SMTP_PORT=587
SMTP_USERNAME="[email protected]"
SMTP_PASSWORD="your-app-password"
SMTP_FROM_EMAIL="[email protected]"
SMTP_TO_EMAIL="[email protected]"
4. Executando a Plataforma
🧪 Modo de Simulação (Inclui simulador de tráfego sintético)
python main.py --simulate
🌐 Modo de Captura ao Vivo (Requer privilégios de administrador/sudo)
python main.py
Abra seu navegador e acesse http://localhost:8000 para visualizar o dashboard ao vivo.
📖 Documentação da API
Endpoint de Telemetria e Inferência
- URL:
/api/v1/telemetry/analyze - Método:
POST - Content-Type:
application/json
Payload da Requisição
{
"packet_count": 550,
"byte_count": 850000,
"flow_duration": 4.5,
"syn_flag_ratio": 0.85,
"port_entropy": 3.2,
"byte_rate": 188888.8,
"source_ip": "192.168.1.120",
"dest_ip": "10.0.0.5",
"protocol": "TCP"
}
Resposta (Tráfego Normal)
{
"status": "NORMAL",
"threat_level": "low",
"anomaly_score": 0.3083,
"threshold": 2.1319
}
Resposta (Tráfego Anômalo)
{
"status": "ANOMALOUS",
"threat_level": "critical",
"anomaly_score": 117999.03,
"threshold": 2.1319,
"alert": {
"id": 12,
"timestamp": "2026-08-05T14:13:31.373Z",
"rule_id": "ml_autoencoder_anomaly",
"rule_name": "ML Autoencoder Anomaly",
"source_ip": "192.168.1.120",
"severity": "critical",
"description": "Deep autoencoder reconstruction error exceeded anomaly threshold (score: 117999.0300, threshold: 2.1320).",
"metrics": { ... }
}
}
Consultas Históricas
| Endpoint | Método | Descrição | Exemplo de Resposta |
|---|---|---|---|
/api/alerts | GET | Busca alertas de ameaças recentes salvos no BD | [{"id": 1, "rule_name": "Port Scanning", ...}] |
/api/flows | GET | Busca logs recentes de telemetria de fluxo de rede | [{"source_ip": "192.168.1.10", "packet_count": 45, ...}] |
/api/logs | GET | Busca logs de auditoria do sistema backend | [{"level": "INFO", "message": "ML engine trained...", ...}] |
🛡️ Licença
Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.