NetDisco

NetDisco

Netdisco is a free, open-source (BSD) web tool that discovers switches and routers over SNMP and shows which port each device is connected to, with history. Version 2.116000.

OS: Linux / FreeBSD / OpenBSD / Docker
Size: CPAN package (installed with cpanminus)
Version: 2.116000

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:

  1. Install the system packages for your distribution (PostgreSQL, build tools and SNMP libraries) as listed in the guide.
  2. Create a PostgreSQL role and database owned by the netdisco user.
  3. Install App::Netdisco with cpanminus into ~/perl5 and link the programs into ~/bin.
  4. Copy deployment.yml to ~/environments and set the database, domain suffix and SNMP community.
  5. Run ~/bin/netdisco-deploy to create the schema and load OUI data and MIBs.
  6. Start netdisco-web and netdisco-backend, then discover a first device in the web interface or with netdisco-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.

Sources

Other articles

Send a Message