At the end of a pentest or red team engagement, you usually end up with a pile of scattered notes: which host you pivoted from, where the domain controller sat, which trust relationship you abused to get there. Turning that into a clean diagram for the report is the annoying part — general-purpose tools like draw.io are overkill for this: creating an account, hunting for templates, needing an internet connection just to draw a few boxes and arrows.

So I built DotnetGuard Topology: a lightweight, fully offline network / attack-path diagram editor written in C# / .NET 6 and WPF. No third-party diagramming library — the canvas, drag-and-drop, connector drawing, arrowheads, and undo system are all built from scratch.


Features:

  1. Ready-made shape palette: Server, Workstation, Router, Firewall, Domain Controller, User, Cloud, Laptop, Database, Generic, Text
  2. Click a shape, click the canvas, it's placed — drag to reposition
  3. Right-drag from one shape onto another to connect them; the arrow automatically clips to the shape's edge
  4. Standalone freeform Arrow tool — grab either end and stretch it in any direction, any length
  5. Double-click a shape to rename it inline
  6. Select + Delete (or the Delete key) removes a shape along with every connector attached to it
  7. Ctrl+Z to undo
  8. Save/open diagrams as JSON (.topology.json)
  9. Export the canvas to PNG
  10. UI matches dotnetguard.blog's dark/neon-green theme

Runs entirely offline — nothing leaves your machine, which matters when you're jotting down sensitive findings.

Source code and download:

GitHub: github.com/dotnetguard/DotnetGuard-Topology

Anyone with the .NET 6 SDK can build it from source; a self-contained single-file Windows exe is also available — no installation required.