Lightweight agentless network discovery and infrastructure inventory
Q&D lightweight network asset management tool, with no agent to deploy on target machines. Built with PHP/MySQL, runs on XAMPP (Windows) or any LAMP environment. Version 1.0-1 23-May-2026 - (c) Didier DTL MORANDI - didier.morandi@gmail.com
- Network discovery by CIDR range via Nmap (real-time streaming, Server-Sent Events)
- Machine inventory with status history, ping, open ports, MAC address, vendor
- NetBIOS identification and WMI descriptions when available (Windows machines)
- Patch panel management (port-to-machine mapping)
- Network diagnostics: ping, traceroute, DNS lookup, port scan
- Editable machine profile (OS, switch port, patch port, comment)
- CSV export of inventory
- Dark web interface with no external JavaScript dependencies
- Built-in HTTP Basic authentication
- PHP 8.x with extensions
pdo_mysql,mbstring - MySQL / MariaDB
- Nmap installed and accessible
- XAMPP (Windows) or equivalent LAMP stack
1. Clone the repository
git clone https://github.com/DidierMorandi/netdtl.git
cd netdtl
2. Copy and configure
cp db.example.php db.php
Edit db.php and fill in:
- MySQL credentials (
DB_USER,DB_PASS) - Interface login credentials (
AUTH_USER,AUTH_PASS) - Path to Nmap (
NMAP_PATH) - Default network range (
DEFAULT_NETWORK)
3. Create the database
Import netdtl.sql via phpMyAdmin or MySQL CLI:
mysql -u root -p < netdtl.sql
Tables created: machines, scan_history, patch_panel, patch_machines, diag_history.
Alternatively, the database is also initialized automatically on first run via initDB().
4. Access the interface
Place the files in XAMPP's htdocs folder (or your vhost root) and open:
http://localhost/netdtl/
netdtl/
├── db.example.php # Sample configuration (copy to db.php)
├── db.php # Actual configuration (not versioned)
├── index.php # Dashboard
├── inventory.php # Machine inventory
├── discovery.php # Network discovery
├── machine.php # Machine profile
├── menu.php # Diagnostic tools
├── patch_panel.php # Patch panel management
├── scan_stream.php # SSE endpoint for Nmap scan
├── sidebar.php # Sidebar navigation component
├── topbar.php # Top bar component
├── style.php # Shared CSS
└── netdtl.sql # Database schema
- Do not expose NetDTL on the internet without additional protection (VPN, TLS reverse proxy).
- Change
AUTH_USERandAUTH_PASSindb.phpbefore any deployment. - Nmap requires elevated privileges for OS detection (
-O). Run XAMPP as administrator if you use this option.
MIT — see LICENSE file.
The current code reports APP_VERSION = '3.0' in db.example.php and db.php.
New and confirmed points:
- Modernized PHP interface with dashboard, inventory, machine detail page, network discovery, and patch panel.
- Real-time network scanning through Server-Sent Events in
scan_stream.php. - Discovery options: ports, OS, NetBIOS/nbstat, and WMI description.
- Automatic enrichment of discovered machines: name, IP, MAC, vendor, OS, open ports, latency, and last seen date.
- Filterable inventory, manual machine creation, individual ping, global ping, and CSV export.
- Machine detail page with direct diagnostics and editable OS, switch port, patch port, and comment fields.
- Patch panel with search and filters by switch or entity.
- Local bilingual documentation: user guides and reference manuals.
- Warning:
db.phpcontains local development configuration and should not be published as-is in production.
