Netdisco: what it is
Netdisco is a free, open-source web application for network management. It discovers switches and routers over SNMP, reads neighbour data such as LLDP and CDP, and collects MAC and ARP tables, so you can find which switch port a device is plugged into, search by IP, MAC address or hostname, and see how hosts moved over time. It is an inventory and topology tool, not a monitoring system with alerting.
It suits campus and enterprise LANs where admins regularly need to answer “where is this device connected?”. We have not run Netdisco ourselves (Not tested yet); this page summarises the official documentation.
Netdisco at a glance
| Item | Details |
| Developer | The Netdisco project (CPAN: App::Netdisco; GitHub: netdisco/netdisco) |
| Latest version | 2.116000, released on CPAN on 24 October 2026 |
| Platforms | Linux and other Unix-like systems (install guides for Ubuntu/Debian, Fedora/Red Hat, openSUSE, SLES, FreeBSD, OpenBSD); Docker images netdisco/netdisco |
| Requirements | Perl 5.10 or later, PostgreSQL 9.6 or later |
| Licence | Free, open source: BSD licence |
| Web interface | Port 5000 by default |
| Last verified | 28 October 2026, against the App::Netdisco documentation on MetaCPAN and Docker Hub |
What Netdisco does
- Device discovery: finds switches, routers and access points via SNMP and their neighbour tables.
- Port and host lookup: search by IP, MAC address, hostname, switch or port.
- History: keeps records of where MAC addresses and IPs were seen and when.
- Port control: with write access over SNMP, change port state, VLAN or description from the web interface.
- Reports and inventory: device and module inventory, port utilisation and other built-in reports.
How to install Netdisco
The official guide installs Netdisco under a dedicated netdisco user with a local Perl library:
- Install the system packages for your distribution (PostgreSQL, build tools and SNMP libraries) as listed in the guide.
- Create a PostgreSQL role and database owned by the
netdiscouser. - Install App::Netdisco with cpanminus into
~/perl5and link the programs into~/bin. - Copy
deployment.ymlto~/environmentsand set the database, domain suffix and SNMP community. - Run
~/bin/netdisco-deployto create the schema and load OUI data and MIBs. - Start
netdisco-webandnetdisco-backend, then discover a first device in the web interface or withnetdisco-do discover.
If you prefer containers, the project publishes separate web and backend images on Docker Hub.
Related tools
For a Windows tool that draws a physical topology map from switch data, see LanTopoLog. For availability and performance monitoring with alarms, which Netdisco does not do, see OpenNMS.
Limitations to know
- No native Windows server; run it on Linux, BSD or in Docker.
- Devices must answer SNMP; endpoints are found through switch and router tables, not by scanning them.
- Not a monitoring or alerting system.
FAQ
Is Netdisco free?
Yes. It is open source under a BSD licence.
What is the latest Netdisco version?
On 28 October 2026 the latest release on CPAN was 2.116000, dated 24 October 2026. Netdisco uses CPAN-style version numbers, so 2.116000 is newer than older 2.0xx releases.
Does Netdisco run on Windows?
Not natively. Use a Linux or BSD server, or the Docker images.
Which database does Netdisco need?
PostgreSQL 9.6 or later.
How do I find which switch port a device is on?
After the switches are discovered, search for the device’s IP, MAC address or hostname; Netdisco shows the switch and port where it was last seen, with history.