feat: Vue subnet /24 avec liste des IPs

- Nouveau endpoint API GET /api/entities/subnet/:subnet
  - Utilise view_dashboard_entities (données agrégées)
  - Retourne stats globales + liste détaillée des IPs
  - Filtre par les 3 premiers octets du subnet

- Nouveau composant frontend SubnetInvestigation.tsx
  - Affiche toutes les IPs d'un subnet /24
  - Tableau avec: IP, détections, JA4, UA, pays, ASN, menace, score
  - Boutons 'Investiguer' et 'Détails' par IP

- URL simplifiée: /entities/subnet/x.x.x.x_24 (_ au lieu de /)
  - Évite les problèmes d'encodage URL
  - Conversion automatique _ → / côté frontend

- Correction route ordering dans App.tsx
  - /entities/subnet/:subnet avant /entities/:type/:value

- Routes backend réordonnées
  - /api/entities/subnet/:subnet avant les routes génériques

Testé avec 141.98.11.0/24 → 6 IPs trouvées, 1677 détections

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
SOC Analyst
2026-03-15 12:21:05 +01:00
parent bfa636528a
commit 776aa52241
4 changed files with 398 additions and 3 deletions

View File

@ -310,7 +310,7 @@ export function IncidentsView() {
Investiguer
</button>
<button
onClick={() => navigate(`/entities/ip/${cluster.sample_ip || cluster.subnet?.split('/')[0] || ''}`)}
onClick={() => navigate(`/entities/subnet/${encodeURIComponent((cluster.subnet || '').replace('/', '_'))}`)}
className="px-3 py-1.5 bg-background-card text-text-primary rounded text-sm hover:bg-background-card/80 transition-colors"
>
Voir détails