Open Source Network Topology & Route Analytics Engine
NetTopology Core is a low-level toolkit for parsing, normalizing and visualizing BGP tables, RIB/FIB snapshots and IGP link-state data. Built for NOC engineers, network operators, and anyone who has ever had to explain to management why a /24 was announced from the wrong AS.
bash — fetch release tarball
$wget https://nettopology.org/dist/4.2/nettopo-core-4.2.1.tar.xz
Workspace
Read-only snapshot from lab node
edge01.dus1 · captured 2026-08-24 08:49:12 UTC · 14 days uptimelogs
routes
topology
rpki
flowspec
/var/log/nettopo/bgp.log
Quick Start
Tested on Debian 12, Ubuntu 22.04+, FreeBSD 13. Adjust package names for your distribution.
01
Install dependencies
Required for the C core. libmaxminddb is optional but recommended for GeoIP enrichment of AS paths.
# Debian / Ubuntu
$ sudo apt install build-essential libpcap-dev libmaxminddb-dev \
pkg-config cmake rustc02
Build from source
Use the stable release tarball; the main branch is for development and may not build cleanly between releases.
$ wget https://nettopology.org/dist/4.2/nettopo-core-4.2.1.tar.xz
$ tar xf nettopo-core-4.2.1.tar.xz
$ cd nettopo-core-4.2.1
$ ./configure --prefix=/usr/local --with-maxminddb
$ make -j$(nproc)
$ sudo make install03
Run the daemon
A drop-in systemd unit is provided in contrib/systemd/. Edit /etc/nettopo/nettopo.conf to point at your router's BGP listener and BMP exporter.
$ sudo cp contrib/systemd/nettopo.service /etc/systemd/system/
$ sudo systemctl enable --now nettopo
# or run in foreground for debugging
$ nettopo --daemon --config /etc/nettopo/nettopo.conf --log-level=debug04
Verify
Check the daemon status and query the local API on 127.0.0.1:8421.
$ nettopo --version
$ nettopo-cli peers list
$ curl -s http://127.0.0.1:8421/v1/health | jq .