Visualize a network's OSPF or IS-IS topology as a graph diagram
Pull live routing data from a Juniper router over SSH for analysis
Filter a network graph down to specific nodes using a regex pattern
Generate a .dot file for further processing without rendering a PNG
| packetsource/igp-graph | 0xallam/my-recipe | 0xhassaan/nn-from-scratch | |
|---|---|---|---|
| Stars | 0 | — | 0 |
| Language | Python | Python | Python |
| Last pushed | — | 2022-11-22 | — |
| Maintenance | — | Dormant | — |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 2/5 | 2/5 | 4/5 |
| Audience | ops devops | general | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires SSH access to a Juniper router and Graphviz installed to render PNG output.
igp-graph is a command line tool for network engineers who manage Juniper routers. It connects over SSH to a Juniper router, pulls out the router's internal routing database, either OSPF or IS-IS depending on which protocol you tell it to inspect, and feeds that data into Graphviz to produce a visual diagram of the network topology. The README is short and focused on installation and usage rather than explaining the internals, so this description stays close to what it states directly. You build the tool as a standalone package using Python's setuptools build tool, running pip install build followed by python3 -m build. Once built, you install the resulting package with pipx, which is a common way to install Python command line tools in an isolated environment. To run it, you give the tool a target, which can either be a local XML file you already have or the address of a router to query live over SSH. Command line options let you choose between OSPF and IS-IS as the protocol to inspect, prompt for an SSH password instead of typing it inline, supply an SSH username, turn on verbose output, and filter the resulting graph down to nodes matching a regular expression pattern. There is also a strict mode for that filter, which requires every node shown in the graph to match the pattern rather than just some of them, and an option to stop after generating the intermediate .dot file instead of rendering it all the way to a PNG image. The README does not describe the internal architecture, dependencies beyond Graphviz and pipx, or a license, so those details are not covered here. It credits a Gavin James edition in the tool's own help text.
A command line tool that connects to a Juniper router over SSH and turns its OSPF or IS-IS routing data into a Graphviz diagram.
Mainly Python. The stack also includes Python, Graphviz, SSH.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.