Projects

Open-source tools built to solve specific network engineering problems. Each one has a companion deep-dive post explaining the design decisions.

ciscocmd1

PythonNetmiko

A small, deliberately simple network automation tool: take a list of commands from a text file and a list of devices from JSON, run them over Netmiko, and dump per-device output. The starting point referenced throughout the Python for Network Engineers and Ansible Deep Dive series — the "before" picture for what comes next as a script grows up.

View on GitHub →

Netmiko in Practice: From a Show-Command Script to a Repeatable Audit Tool →

web-traffic-generator

Python

A polite round-robin GET request generator against ten public sites, used to produce a constant, predictable stream of background web traffic — handy for testing SDWAN application-aware routing, QoS shaping, and SLA measurement without waiting for real users to show up.

View on GitHub →

Generating a Constant Stream of Web Traffic with Python →

fgt-config-diff

PythonFlask

A CLI and Flask web UI that parses FortiGate's config/edit/set/next/end syntax into a tree and produces a clean added/removed/modified diff between two configs — in text, JSON, or HTML — the way an admin actually reads a config, not the way a generic text-diff tool sees it.

View on GitHub →

Diffing FortiGate Configs the Way an Admin Reads Them: fgt-config-diff →

pmtud-sweeper

PythonScapy

A per-hop Path MTU Discovery sweeper. Binary-searches the largest DF-set IP packet each hop along a path will pass, and names the constraining router from its RFC 1191 Fragmentation-Needed replies. Four probe modes — ICMP echo, UDP, TCP-SYN, and full end-to-end TCP MSS handshake — with Rich-table or JSON output and CI-gate-friendly exit codes.

View on GitHub →

Finding the Hop That's Eating Your Packets: pmtud-sweeper →

rst-forensics

PythonScapy

A TCP RST origin classifier — server, mid-path firewall, or client — built on six independent scorers (TTL, IP-ID, window, options, sequence, timing) that vote with weights to produce a verdict with confidence and evidence. Pure Python core with optional scapy-backed pcap, passive, and active capture adapters.

View on GitHub →

Who Sent That RST? Forensic Classification of TCP Resets with rst-forensics →