Aller au contenu principal

Référence des points de terminaison

Cette page liste chaque point de terminaison API REST de la plateforme NetRecon, regroupé par catégorie de service. Tous les points de terminaison nécessitent une authentification par jeton JWT Bearer sauf indication contraire. Consultez la Présentation de l'API pour les détails d'authentification et de limitation de débit.

URL de base : https://probe.netreconapp.com/api/


Points de terminaison de la sonde

Servis par le backend Go fonctionnant sur l'appliance sonde (Orange Pi R2S, Raspberry Pi ou mini PC x86_64).

Santé

MéthodeCheminAuthDescription
GET/api/healthNonVérification de santé de la sonde. Renvoie {"status": "ok", "version": "1.0.0"}.

Scan

MéthodeCheminDescription
POST/api/scan/discoverDémarrer la découverte d'hôtes ARP sur le sous-réseau configuré.
POST/api/scan/portsDémarrer un scan de ports sur les hôtes découverts.
GET/api/scan/statusObtenir le statut actuel du scan (idle, running, complete).

Appareils

MéthodeCheminDescription
GET/api/devicesLister tous les appareils découverts. Supporte la pagination (?page=&per_page=).
GET/api/devices/:macObtenir les détails d'un appareil par adresse MAC.
PUT/api/devices/:mac/noteMettre à jour la note utilisateur sur un appareil. Corps : {"note": "..."}.

Ligne de base

MéthodeCheminDescription
GET/api/baselineLister toutes les lignes de base réseau enregistrées.
POST/api/baselineCréer un nouveau snapshot de ligne de base à partir de la liste actuelle des appareils.
GET/api/baseline/:id/diffComparer une ligne de base avec l'état actuel du réseau.

Voisins (CDP/LLDP)

MéthodeCheminDescription
GET/api/neighborsLister les voisins CDP/LLDP découverts.
POST/api/neighbors/startDémarrer l'écoute de découverte de voisins.

Sauvegarde de configuration (locale à la sonde)

MéthodeCheminDescription
GET/api/config/targetsLister les appareils cibles de sauvegarde configurés.
POST/api/config/targetsAjouter un nouvel appareil cible de sauvegarde.
POST/api/config/targets/:id/checkDéclencher une vérification de configuration immédiate pour une cible.

Capture PCAP

MéthodeCheminDescription
POST/api/pcap/startDémarrer la capture de paquets. Corps : {"interface": "eth0", "filter": "tcp port 80"}.
POST/api/pcap/stopArrêter la capture de paquets en cours.
GET/api/pcap/filesLister les fichiers de capture PCAP disponibles.
GET/api/pcap/download/:idTélécharger un fichier PCAP par ID. Renvoie application/octet-stream.

IDS (Suricata)

MéthodeCheminDescription
GET/api/ids/statusObtenir le statut du service IDS (running, stopped, nombre de règles).
POST/api/ids/startDémarrer la surveillance IDS Suricata.
POST/api/ids/stopArrêter la surveillance IDS.
GET/api/ids/alertsLister les alertes IDS. Supporte le filtre temporel ?since=24h.

Scan de vulnérabilités (Nuclei)

MéthodeCheminDescription
POST/api/vuln/scanDémarrer un scan de vulnérabilités contre les cibles spécifiées.
POST/api/vuln/stopArrêter le scan de vulnérabilités en cours.
GET/api/vuln/resultsObtenir les résultats du scan de vulnérabilités.
GET/api/vuln/statusObtenir le statut du scanner de vulnérabilités.

Honeypot

MéthodeCheminDescription
GET/api/honeypot/statusObtenir le statut du service honeypot.
POST/api/honeypot/startDémarrer le service honeypot.
POST/api/honeypot/stopArrêter le service honeypot.
GET/api/honeypot/hitsLister les événements d'interaction avec le honeypot.

Détection de rogues

MéthodeCheminDescription
GET/api/rogue/statusObtenir le statut du service de détection de rogues.
POST/api/rogue/startDémarrer la détection DHCP/ARP rogue.
POST/api/rogue/stopArrêter la détection de rogues.
GET/api/rogue/alertsLister les alertes DHCP rogue et d'usurpation ARP.

Moniteur réseau

MéthodeCheminDescription
POST/api/monitor/targetsAjouter une cible de surveillance (IP ou nom d'hôte).
GET/api/monitor/targetsLister les cibles de surveillance configurées.
POST/api/monitor/startDémarrer la surveillance réseau.
POST/api/monitor/stopArrêter la surveillance réseau.
GET/api/monitor/latencyObtenir les mesures de latence pour les cibles surveillées.
GET/api/monitor/packetlossObtenir les données de perte de paquets pour les cibles surveillées.
GET/api/monitor/statusObtenir le statut du service de surveillance.

VPN (WireGuard)

MéthodeCheminDescription
POST/api/vpn/setupConfigurer les paramètres VPN WireGuard.
GET/api/vpn/statusObtenir le statut de la connexion VPN.
POST/api/vpn/startDémarrer le tunnel VPN.
POST/api/vpn/stopArrêter le tunnel VPN.
GET/api/vpn/configTélécharger la configuration WireGuard.

Sinkhole DNS

MéthodeCheminDescription
GET/api/dns/statusObtenir le statut du service sinkhole DNS.
POST/api/dns/startDémarrer le sinkhole DNS.
POST/api/dns/stopArrêter le sinkhole DNS.
GET/api/dns/threatsLister les entrées de menaces DNS bloquées.

Santé du système

MéthodeCheminDescription
GET/api/system/healthSanté détaillée du système (CPU, RAM, disque, température).
GET/api/system/historyPoints de données historiques de santé du système.
GET/api/system/alertsLister les alertes de seuil de santé du système.
POST/api/system/thresholdsConfigurer les seuils d'alerte de santé (CPU %, RAM %, disque %).

Sauvegarde et restauration

MéthodeCheminDescription
POST/api/backup/createCréer une sauvegarde complète de la sonde (config + base de données).
GET/api/backup/listLister les fichiers de sauvegarde disponibles.
GET/api/backup/download/:idTélécharger une archive de sauvegarde. Renvoie application/octet-stream.
POST/api/backup/restoreRestaurer la sonde à partir d'un fichier de sauvegarde.

Ticketing

MéthodeCheminDescription
GET/api/ticketing/configObtenir la configuration actuelle de l'intégration ticketing.
POST/api/ticketing/configDéfinir la configuration de ticketing (ServiceNow, Jira, URL webhook).
POST/api/ticketing/testEnvoyer un ticket de test pour valider l'intégration.
POST/api/ticketing/createCréer un ticket à partir d'une alerte ou d'un événement.
GET/api/ticketing/historyLister les tickets précédemment créés.

WebSocket

MéthodeCheminDescription
GET/ws/eventsConnexion WebSocket pour les événements en temps réel de la sonde. Passez le jeton via query : ?token=<jwt>.

Types d'événements WebSocket

ÉvénementDescription
host_foundNouvel appareil découvert
port_foundPort ouvert détecté sur un appareil
scan_completeScan réseau terminé
neighbor_discoveredVoisin CDP/LLDP trouvé
config_changedConfiguration d'appareil modifiée
baseline_diff_alertDéviation de la ligne de base réseau détectée
ids_alertRègle IDS déclenchée
honeypot_hitInteraction avec le honeypot détectée
rogue_detectedActivité DHCP ou ARP rogue
pcap_readyFichier PCAP prêt au téléchargement
vuln_foundVulnérabilité découverte
dns_threatMenace DNS bloquée
probe_health_alertSeuil de ressource de la sonde dépassé
errorÉvénement d'erreur

Points de terminaison de l'API Gateway

Servis par l'API Gateway FastAPI (port 8000). Gère l'authentification, la gestion des utilisateurs, le RBAC et le routage proxy vers les services backend.

Authentification

MéthodeCheminDescription
POST/api/auth/loginS'authentifier avec nom d'utilisateur/mot de passe, recevoir un jeton JWT.
POST/api/auth/refreshRafraîchir un jeton JWT expirant.

Utilisateurs

MéthodeCheminDescription
GET/api/usersLister les utilisateurs de l'organisation.
POST/api/usersCréer un nouveau compte utilisateur.
GET/api/users/:idObtenir les détails d'un utilisateur.
PUT/api/users/:idMettre à jour un utilisateur.
DELETE/api/users/:idSupprimer un utilisateur.

RBAC (Contrôle d'accès basé sur les rôles)

MéthodeCheminDescription
GET/api/rbac/rolesLister tous les rôles définis.
POST/api/rbac/rolesCréer un rôle personnalisé avec des permissions spécifiques.
PUT/api/rbac/roles/:idMettre à jour les permissions d'un rôle.
DELETE/api/rbac/roles/:idSupprimer un rôle.
GET/api/rbac/permissionsLister toutes les permissions disponibles.

Clés API

MéthodeCheminDescription
GET/api/keysLister les clés API de l'organisation.
POST/api/keysCréer une nouvelle clé API longue durée.
DELETE/api/keys/:idRévoquer une clé API.

Liste blanche IP

MéthodeCheminDescription
GET/api/ip-allowlistLister les plages IP autorisées.
POST/api/ip-allowlistAjouter une IP ou plage CIDR à la liste blanche.
DELETE/api/ip-allowlist/:idSupprimer une plage IP de la liste blanche.

Surveillance (Proxy Prometheus)

MéthodeCheminDescription
GET/api/monitoring/metricsProxy vers le point de terminaison de métriques Prometheus.
GET/api/monitoring/queryProxy d'une requête PromQL vers Prometheus.

Oxidized (Proxy de sauvegarde de configuration)

MéthodeCheminDescription
GET/api/oxidized/nodesLister les nœuds réseau gérés par Oxidized.
GET/api/oxidized/nodes/:nameObtenir l'historique de configuration d'un nœud.
POST/api/oxidized/nodesAjouter un nœud à la gestion Oxidized.

Configuration Vault

MéthodeCheminDescription
GET/api/vault/configObtenir les paramètres d'intégration vault.
POST/api/vault/configMettre à jour les paramètres d'intégration vault.

Points de terminaison du service IPAM

Service de gestion des adresses IP (port 8009). Tous les chemins sont préfixés par /api/v1/ipam.

Préfixes (Sous-réseaux)

MéthodeCheminDescription
GET/api/v1/ipam/prefixesLister tous les préfixes/sous-réseaux gérés.
POST/api/v1/ipam/prefixesCréer un nouveau préfixe. Corps : prefix (notation CIDR), description, site, status, optionnel vlan_id.
GET/api/v1/ipam/prefixes/:idObtenir un préfixe avec pourcentage d'utilisation recalculé.
PUT/api/v1/ipam/prefixes/:idMettre à jour un préfixe.
DELETE/api/v1/ipam/prefixes/:idSupprimer un préfixe. Renvoie 204 No Content.
GET/api/v1/ipam/prefixes/:id/availableLister les IP non allouées dans le préfixe. Limité à 256 résultats.
POST/api/v1/ipam/prefixes/:id/next-availableAllouer la prochaine IP libre dans le préfixe. Renvoie le nouvel enregistrement d'adresse.

Adresses

MéthodeCheminDescription
GET/api/v1/ipam/addressesLister les adresses. Filtres : ?prefix_id=, ?status=, ?vendor=, ?search=. Max 1000 résultats.
POST/api/v1/ipam/addressesCréer un nouvel enregistrement d'adresse IP.
GET/api/v1/ipam/addresses/:idObtenir une adresse par UUID.
PUT/api/v1/ipam/addresses/:idMettre à jour un enregistrement d'adresse.
DELETE/api/v1/ipam/addresses/:idSupprimer un enregistrement d'adresse. Renvoie 204 No Content.
POST/api/v1/ipam/addresses/bulk-importUpsert en masse des adresses par IP. Les enregistrements existants sont mis à jour, les nouveaux sont créés.

VLANs

MéthodeCheminDescription
GET/api/v1/ipam/vlansLister tous les VLANs, triés par VLAN ID.
POST/api/v1/ipam/vlansCréer un nouvel enregistrement VLAN. Corps : vlan_id, name, description, status.
PUT/api/v1/ipam/vlans/:idMettre à jour un VLAN.
DELETE/api/v1/ipam/vlans/:idSupprimer un VLAN. Renvoie 204 No Content.

Analytique

MéthodeCheminDescription
GET/api/v1/ipam/statsStatistiques globales IPAM : total préfixes, total adresses, utilisation moyenne, nombre de conflits.
GET/api/v1/ipam/utilizationRépartition de l'utilisation par préfixe avec comptage des adresses.
GET/api/v1/ipam/conflictsTrouver les assignations conflictuelles (MAC en double avec des IP différentes).

Import / Export

MéthodeCheminDescription
POST/api/v1/ipam/import/scanImporter les appareils depuis un payload de scan NetRecon. Upserts par IP avec correspondance automatique de préfixe.
GET/api/v1/ipam/export/csvExporter toutes les adresses en CSV. Renvoie text/csv avec en-tête Content-Disposition.
GET/api/v1/ipam/export/jsonExporter toutes les données IPAM (préfixes, adresses, VLANs) en JSON.

Points de terminaison du service CMod

Configuration Management on Demand (port 8008). Fournit un accès SSH et console série aux équipements réseau. Tous les chemins sont préfixés par /api/v1/cmod.

Sessions

MéthodeCheminDescription
POST/api/v1/cmod/connectOuvrir une nouvelle session SSH ou série. Corps : host, device_type, username, password, optionnel port, serial_port. Renvoie les infos de session avec session_id.
POST/api/v1/cmod/disconnectFermer une session. Query : ?session_id=.
GET/api/v1/cmod/sessionsLister toutes les sessions actives.
GET/api/v1/cmod/sessions/:session_idObtenir les détails d'une session et le journal complet des commandes.
DELETE/api/v1/cmod/sessions/:session_idTerminer une session.

Commandes

MéthodeCheminDescription
POST/api/v1/cmod/send-commandEnvoyer une commande unique. Corps : session_id, command, optionnel expect_string, read_timeout.
POST/api/v1/cmod/send-batchEnvoyer plusieurs commandes séquentiellement. Corps : session_id, commands[], optionnel delay_factor.

Opérations de configuration

MéthodeCheminDescription
POST/api/v1/cmod/backupRécupérer la configuration active d'un appareil. Sélectionne automatiquement la bonne commande par fabricant (Cisco IOS/NX-OS/XR, Huawei, Juniper, Arista, HP).
POST/api/v1/cmod/rollbackPousser un extrait de configuration vers l'appareil en mode config. Corps : session_id, config (chaîne multiligne).

Modèles

MéthodeCheminDescription
GET/api/v1/cmod/templatesLister les modèles de commandes. Filtres : ?vendor=cisco_ios, ?category=backup. Modèles pré-chargés pour Cisco IOS, Huawei et Juniper JunOS.
POST/api/v1/cmod/templatesCréer un modèle de commande personnalisé. Corps : name, vendor, category, commands[], description.

Points de terminaison du registre des agents

Service de gestion des agents (port 8006). Gère l'inscription, les battements de cœur, l'inventaire et le déploiement pour les agents Windows, macOS et Linux.

Cycle de vie de l'agent

MéthodeCheminDescription
POST/agents/enrollInscrire un nouvel agent avec un jeton de déploiement. Corps : deployment_token, hostname, os_type, os_version, arch, agent_version.
POST/agents/heartbeatBattement de cœur de l'agent. En-têtes : X-Agent-ID, X-Session-Key.
POST/agents/inventoryPousser l'inventaire matériel/logiciel. En-têtes : X-Agent-ID, X-Session-Key.
GET/agentsLister tous les agents de l'organisation. En-tête : X-Org-ID.
GET/agents/:agent_idObtenir les détails complets d'un agent incluant les spécifications matérielles et le statut de garantie.
DELETE/agents/:agent_idSupprimer un agent du registre.

Jetons de déploiement

MéthodeCheminDescription
POST/agents/tokensCréer un jeton de déploiement. En-têtes : X-Org-ID, X-User-ID. Corps : expires_in_hours, max_uses, label, optionnel site_id, metadata. Renvoie la chaîne du jeton et les commandes d'installation spécifiques à la plateforme.
GET/agents/tokensLister les jetons de déploiement de l'organisation. En-tête : X-Org-ID.
DELETE/agents/tokens/:token_idRévoquer un jeton de déploiement.

Générateur de packages de déploiement

MéthodeCheminDescription
POST/agents/deploy/generateGénérer des artefacts de déploiement spécifiques à la plateforme. Corps : platform (windows, linux, macos, ios, android), method (msi, powershell, sccm, intune, gpo, pkg, brew, jamf, mdm, deb, rpm, bash, docker, qr, email, mdm_app, managed_play), role. Renvoie le jeton d'inscription, les commandes d'installation, les scripts ou le contenu du manifeste.
GET/agents/deploy/quotaObtenir l'utilisation du quota d'appareils de l'organisation. En-tête : X-Org-ID.
GET/agents/deploy/platformsLister toutes les plateformes supportées et leurs méthodes de déploiement disponibles. Pas d'authentification requise.

Connexion à distance

MéthodeCheminDescription
POST/agents/:agent_id/remote/requestDemander une nouvelle session distante (RDP, SSH, VNC, ADB) vers un agent inscrit. En-tête : X-User-ID. Corps : session_type, optionnel credential_id, timeout_hours.
GET/agents/:agent_id/remote/statusObtenir le statut de disponibilité distante (état en ligne, IP Headscale, types de session disponibles).
POST/agents/:agent_id/remote/endTerminer la session distante active pour un agent. En-tête : X-User-ID.
GET/remote/sessionsLister les sessions distantes de l'organisation. En-tête : X-Org-ID. Query : ?active_only=true (par défaut).
POST/agents/:agent_id/remote/readyCallback de l'agent lorsque le service distant est préparé. En-têtes : X-Agent-ID, X-Session-Key.
POST/remote/cleanupExpirer les sessions distantes obsolètes. Destiné à un usage interne planificateur/cron.

Points de terminaison du service Diplomat

Service de classification d'e-mails et d'analyse de journaux (port 8010). Tous les chemins sont préfixés par /api/v1/diplomat.

Classification

MéthodeCheminDescription
POST/api/v1/diplomat/classifyClassifier un texte d'entrée (ticket, alerte, e-mail) dans une catégorie et un niveau de priorité.
POST/api/v1/diplomat/summarizeGénérer un résumé du texte fourni.
POST/api/v1/diplomat/translateTraduire du texte vers une langue cible spécifiée.
POST/api/v1/diplomat/analyze-logAnalyser un extrait de journal et extraire les événements clés, erreurs et motifs.

Pipeline e-mail

MéthodeCheminDescription
GET/api/v1/diplomat/emails/statsObtenir les statistiques de traitement des e-mails (reçus, classifiés, comptage de réponses).
GET/api/v1/diplomat/emails/recentLister les e-mails récemment traités.

Santé

MéthodeCheminAuthDescription
GET/api/v1/diplomat/healthNonVérification de santé du service Diplomat.

Points de terminaison de santé des services

Chaque microservice expose un point de terminaison /health pour la surveillance interne et les vérifications de répartiteur de charge.

ServiceURLPort
API Gateway/health8000
Vault Server/health8001
License Server/health8002
Email Service/health8003
Notification Service/health8004
Update Server/health8005
Agent Registry/health8006
Warranty Service/health8007
CMod Service/health8008
IPAM Service/health8009
Diplomat Service/health8010

Support

Pour les questions ou problèmes liés à l'API, contactez [email protected].