NetDTL — Guide utilisateur

Guide pratique pour utiliser NetDTL v3.0 : découverte réseau, gestion de l'inventaire, diagnostics et consultation du panneau de brassage.

version3.0 plateformeWindows / Linux stackPHP 8.x + MySQL + Nmap licenceMIT

Présentation

NetDTL est une application web auto-hébergée pour l'inventaire réseau agentless et les diagnostics. Elle fonctionne sur un stack PHP/MySQL/Nmap standard (XAMPP ou LAMP) et ne nécessite aucun agent sur les machines surveillées. Toute la découverte est effectuée par Nmap depuis le serveur qui héberge NetDTL.

L'application couvre cinq domaines : un tableau de bord en temps réel, un inventaire des machines, des diagnostics par machine, la découverte réseau en direct, et la consultation du panneau de brassage. Tout est accessible depuis un navigateur sur le réseau local.

Démarrage rapide

1. Installer les dépendances

pip install wmi pywin32 psutil   # NetDTL est en PHP, pas en Python
# Sous Windows avec XAMPP :
# 1. Installer XAMPP (inclut PHP + MySQL + Apache)
# 2. Installer Nmap et noter son chemin d'installation
# 3. Copier les fichiers NetDTL dans htdocs/netdtl/

2. Créer la base de données

CREATE DATABASE netdtl CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'netdtl'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON netdtl.* TO 'netdtl'@'localhost';

3. Configurer db.php

Ouvrir db.php et renseigner les identifiants de base de données, le chemin vers Nmap, la plage CIDR par défaut, et les identifiants d'authentification HTTP Basic.

define('DB_HOST',        'localhost');
define('DB_NAME',        'netdtl');
define('DB_USER',        'netdtl');
define('DB_PASS',        'yourpassword');
define('AUTH_USER',      'admin');
define('AUTH_PASS',      'yourpassword');
define('NMAP_PATH',      'C:/Program Files (x86)/Nmap/nmap.exe');
define('DEFAULT_NETWORK','192.168.1.0/24');
define('APP_VERSION',    '3.0');

4. Ouvrir dans un navigateur

Ouvrir http://localhost/netdtl/ (ou l'adresse de votre serveur). Les tables de la base de données sont créées automatiquement au premier chargement. Se connecter avec les identifiants définis dans db.php.

Connexion

NetDTL utilise l'authentification HTTP Basic. À la première ouverture dans une session navigateur, celui-ci affiche une boîte de dialogue de connexion. Saisir le nom d'utilisateur et le mot de passe définis dans AUTH_USER et AUTH_PASS de db.php.

Compte unique : il n'existe qu'un seul jeu d'identifiants. Tous les utilisateurs connaissant le mot de passe ont accès à toutes les fonctionnalités, y compris la suppression et les scans.
Sécurité : ne pas exposer NetDTL sur internet sans protection complémentaire (TLS, filtrage IP, authentification via reverse proxy). L'application est conçue pour un usage sur réseau local de confiance.

Interface

Chaque page partage la même structure en deux parties : une barre supérieure fixe et une barre latérale gauche permanente.

Barre supérieure : affiche le logo NetDTL (lien vers le tableau de bord), les cinq liens de navigation principaux et le nom de l'utilisateur connecté.

Barre latérale gauche : navigation détaillée. La section supérieure couvre les quatre pages principales (Tableau de bord, Inventaire, Découverte, Brassage). La section inférieure liste les sept outils de diagnostic. La page ou l'outil actif est surligné en vert.

La zone de contenu principale occupe le reste de la fenêtre. Une barre d'outils en haut de chaque page regroupe les actions principales (champs de recherche, boutons d'action, liens d'export).

Pages

Tableau de bord

Page d'accueil après connexion. Donne un aperçu immédiat de l'état du réseau.
Contenu
Conseil : le tableau de bord est en lecture seule. Pour agir sur une machine (ping, scan de ports, édition), cliquer sur son hostname pour accéder à sa fiche, ou aller dans l'inventaire pour les opérations en masse.
Dashboard screenshot
Dashboard — 25 machines, 24 up, last scan 2 days ago

Inventaire

Liste principale des machines. Affiche toutes les machines connues avec leur statut courant, et fournit des outils de recherche, filtrage, ping, ajout, suppression et export.
Actions de la barre d'outils
ContrôleDescription
RechercheFiltre la liste par hostname, IP, OS ou commentaire à la soumission du formulaire. Correspondances partielles acceptées.
◎ Ping toutPing toutes les machines de l'inventaire séquentiellement. Met à jour le statut (up/down) et la latence. Peut prendre une minute sur un inventaire important.
+ AjouterOuvre un formulaire modal pour ajouter une machine manuellement. Obligatoires : hostname et adresse IP valide. Optionnels : OS, commentaire, port switch, port brassage.
↓ CSVTélécharge l'inventaire complet en CSV UTF-8 (compatible Excel). Tous les champs, triés par IP.
Filtres de statut

Sous la ligne de stats, des boutons pilule permettent de filtrer la liste sur les machines Up, Down ou Inconnu. Le filtre se combine avec le terme de recherche actif.

Actions par machine
BoutonAction
Ping cette machine. Met à jour le statut et la latence immédiatement.
Ouvre la fiche détaillée de cette machine.
Supprime cette machine de l'inventaire. Une confirmation JavaScript apparaît au préalable.
Notes sur les colonnes
Inventory screenshot
Inventory — machine list with status, MAC, vendor, switch port, OS and comments

Fiche machine

Page de profil par machine. Accessible en cliquant sur un hostname n'importe où dans l'application. Regroupe les informations réseau, les actions de diagnostic rapide et un formulaire de profil éditable.
Panneau d'informations réseau

Affiche IP, MAC, date de dernière vue, latence ping, port switch, port brassage et ports ouverts. Les ports ouverts sont mis à jour automatiquement après un scan de ports depuis cette page.

Diagnostics rapides

Cinq boutons déclenchent des actions de diagnostic directement sur l'IP de cette machine. Les résultats s'affichent dans un bloc terminal et sont enregistrés dans l'historique des diagnostics.

BoutonCommande exécutéeEffet secondaire
◎ PingPing 4 paquetsMet à jour status et last_ping_ms en BDD
⊞ Scan portsNmap sur 13 ports courantsMet à jour open_ports en BDD
⤳ Traceroutetracert vers cette IPAucun
⊹ DNSnslookup sur cette IPAucun
⊕ Détecter OSNmap -O (requiert admin)Met à jour os en BDD si détecté
Sortie terminal

Les lignes de sortie sont colorées : vert pour les indicateurs de succès (TTL, Réponse, open), orange pour les timeouts et hôtes injoignables, rouge pour les erreurs. Un bouton Copier copie le texte brut dans le presse-papier.

Formulaire de profil

La section inférieure permet de renseigner ou corriger manuellement l'OS, le port switch, le port brassage et un commentaire libre. Cliquer sur Enregistrer pour sauvegarder. Ces données sont préservées lors des scans — un scan de découverte ultérieur n'écrasera jamais une valeur renseignée manuellement avec une valeur vide.

Découverte réseau

Lance un scan Nmap sur une plage CIDR et diffuse les résultats en temps réel. Les machines découvertes sont automatiquement ajoutées ou mises à jour dans l'inventaire.
Lancer un scan

Saisir une plage CIDR dans le champ réseau (ex. 192.168.1.0/24) et cliquer sur ▶ Lancer le scan. Le bloc terminal Nmap apparaît immédiatement et les lignes défilent au fur et à mesure. Le tableau des hôtes découverts se remplit ligne par ligne à chaque hôte confirmé.

Options du scan
OptionEffetRemarque
Ports communsAprès le sweep ping, lance un scan de ports sur chaque hôte découvertAugmente significativement la durée du scan
Détection OSUtilise nmap -O pour le fingerprinting OSRequiert l'exécution du serveur web en Administrateur / root
Identifier NetBIOSLance une seconde passe en interrogeant UDP 137 sur chaque hôte actif pour résoudre les noms NetBIOS, groupe de travail et utilisateur connectéNécessite UDP 137 accessible sur les cibles
Descriptions WMIInterroge chaque hôte Windows via PowerShell WMI pour obtenir la description de son OSFonctionne uniquement sur les cibles Windows autorisant le WMI distant
Pendant un scan

Le bouton ■ Arrêter ferme le flux SSE et stoppe l'affichage des résultats. Le processus de scan côté serveur se termine brièvement jusqu'à la fin de la commande Nmap en cours ; les machines déjà découvertes sont sauvegardées.

Stats et historique

La ligne de stats se met à jour en temps réel : machines connues, actuellement en ligne, découvertes lors du scan et durée écoulée. À la fin, une ligne est ajoutée au tableau d'historique en bas de page sans rechargement.

Ce qui est sauvegardé

Chaque hôte découvert est inséré ou mis à jour dans l'inventaire sur le champ ip. Les valeurs renseignées manuellement (OS, port switch, port brassage, commentaire) ne sont jamais écrasées par des valeurs vides — elles ne sont enrichies que si le scan produit une valeur non nulle.

Conseil : pour un sweep rapide d'un nouveau segment réseau, laisser toutes les options décochées. Activer l'identification NetBIOS pour une seconde passe qui résout les noms des machines Windows sans nécessiter de droits admin.
Grands réseaux : scanner une plage /16 ou plus large peut prendre plusieurs minutes. Le serveur impose une limite d'exécution de 10 minutes. Pour les très grandes plages, scanner par blocs /24.
Discovery screenshot
Network discovery — CIDR input, scan options, real-time stats and scan history

Diagnostics

Terminal de diagnostic réseau polyvalent. Sélectionner un outil dans la barre latérale, saisir une cible dans la barre d'outils et cliquer sur ▶ Exécuter. Les résultats s'affichent dans un bloc terminal et sont enregistrés dans l'historique de session.
Outils disponibles
OutilEntréeFormat de sortie
◎ PingIP ou hostnameTerminal + ligne de stats (envoyés, reçus, perdus %, latence moy.)
⬡ Scan NmapIP, hostname ou CIDRTableau des hôtes actifs
⤳ TracerouteIP ou hostnameTerminal (coloré par réponse de saut)
⊹ DNS LookupIP ou hostnameTerminal (sortie nslookup)
⊞ Ports ciblésIP ou hostname + liste de portsTableau des ports avec état et service
⊕ Infos IP localesAucune (machine locale)Terminal (PowerShell Get-NetIPAddress)
⊗ Services actifsAucune (machine locale)Terminal (PowerShell Get-Service, services actifs uniquement)
Liste de ports

Lorsque l'outil Ports ciblés est sélectionné, un champ de ports apparaît dans la barre d'outils. Saisir une liste de numéros de ports séparés par des virgules (ex. 22,80,443,3389). La valeur par défaut est 22,80,443,3389,8080.

Exporter les résultats

Lorsque des résultats sont disponibles, un bouton ↓ CSV apparaît dans la barre d'outils. Il télécharge les lignes brutes comme fichier CSV à une colonne, nommé d'après l'outil et l'horodatage.

Historique de session

Le panneau inférieur affiche les 20 dernières opérations de diagnostic tous outils confondus, avec nom de l'outil, cible, date et indicateur de succès. Cet historique est persisté en base de données entre les sessions.

Conseil : les outils Infos IP locales et Services actifs ciblent toujours la machine qui héberge NetDTL, pas un hôte distant. Ils sont utiles pour vérifier rapidement la configuration réseau du serveur ou ses services en cours d'exécution.

Panneau de brassage

Consultation et filtrage du panneau de brassage physique — le mapping entre les prises murales (ex. B31), les ports switch et les machines qui y sont connectées. Cette page est en lecture seule ; les données sont alimentées par import externe.
Filtres
FilterDescription
RechercheRecherche libre sur l'étiquette de prise, le nom du local, la référence poste, l'IP et le hostname
Sélecteur switchRestreint les résultats aux ports d'un switch spécifique
Sélecteur entitéRestreint les résultats aux ports d'un département ou d'une entité spécifique
Colonnes
ColumnDescription
PriseÉtiquette de la prise murale (ex. B31)
TypeRJ45 (bleu), RJ11 (orange), ou inconnu (gris)
EntitéDépartement propriétaire. Équipement local en bleu-vert, délégué en vert.
LocalNom du local ou de la pièce
ÉtageÉtage du bâtiment
PosteRéférence du bureau ou du poste
SwitchIdentifiant du switch (orange)
Port switchPort sur le switch (bleu)
IP(s) / Hostname(s)Machines associées à cette prise. Plusieurs machines par port s'affichent séparées par des virgules.
NotesNotes libres
Remarque : les données du panneau de brassage ne sont pas alimentées par NetDTL lui-même. Elles sont importées de manière externe (ex. via le moteur de patch panel du NetDTL Installer ou un import SQL direct depuis un CSV). Une fois importées, les associations machine-prise sont maintenues à jour en renseignant les champs Port switch et Port brassage sur la fiche de chaque machine.

Privilèges

Certaines fonctionnalités nécessitent que le processus du serveur web dispose de privilèges élevés sur la machine hôte.

FonctionnalitéPrivilège requis
Sweep ping basique (découverte)Aucun — Nmap -sn fonctionne en utilisateur standard
Détection OS (nmap -O)Administrateur (Windows) ou root (Linux)
Scan SYN (nmap -sS, utilisé avec la détection OS)Administrateur / root
Descriptions WMIAccès réseau à la cible + WMI distant activé sur la cible
Identification NetBIOS (UDP 137)UDP 137 doit être accessible sur les cibles
Sans élévation : la détection OS et les scans SYN ne retournent silencieusement aucune donnée. Le scan se termine normalement mais ces champs restent vides. Aucune erreur n'est affichée.

Export CSV

Deux pages proposent un export CSV :

Les deux fichiers sont en UTF-8 avec BOM pour un rendu correct dans Microsoft Excel.

Limitations connues

 

NetDTL Web site