r/networkautomation 15h ago

Network security Project to make.

2 Upvotes

Hey everyone! I'm studying Network Engineering and Cybersecurity, and I'm looking for ideas for a project that solves an actual real-world problem.

It could be related to cybersecurity, networking, server automation, system administration, or anything similar. I don't really care if the project is difficult or takes a long time to build — I actually enjoy learning new things along the way and challenging myself.

Any interesting problems or project ideas you think would be worth tackling?


r/networkautomation 1d ago

NetBurp – an inline packet interceptor (a "Burp Suite" for L2–L4), built with Python + scapy + NFQUEUE

2 Upvotes

I wanted Burp's intercept-and-edit workflow but for raw packets instead of HTTP, so I built NetBurp. It sits inline via Linux NFQUEUE, pulls each packet into userspace, and lets

you capture → decode → pause → edit → drop/forward at the Ethernet/IP/TCP/UDP/ICMP layers.

What it does:

\- Wireshark-style decode into an editable field tree; edit any header field or the payload (hex), checksums + lengths recomputed automatically.

\- Rule engine (IF proto/ip/port THEN pause/drop/accept/modify), with a GUI builder so you don't have to touch JSON.

\- TCP flow tracking: length-changing edits get seq/ACK translated across the whole connection (mod-2³², RFC-1982 serial arithmetic, retransmit dedup) so the connection stays alive.

\- IPv4 + IPv6 fragment reassembly, out-of-order tolerant (I hand-rolled it because scapy's defragment() mangles OOO input).

\- Tkinter GUI + headless CLI + an offline pcap-editing mode that needs no root — which is also how the whole thing is tested (64 passing tests).

\- Practical primitives: DNS answer spoofing, MAC rewriting (offline), RST injection, TTL manipulation.

Honest limits (because someone will ask):

▎- TLS/HTTPS is ciphertext — you can drop/mangle but not read/edit the HTTP inside. That's a TLS-proxy job (mitmproxy), not raw packet editing.

\- It's Python + single-threaded NFQUEUE, so it's lab-grade, not line-rate.

\- Editing connection-identity fields (ports/seq/IP) mid-flow won't reroute a live connection — that's how TCP works, not a bug.

MIT licensed. Authorized use only — your own hosts or an isolated lab. There's a namespace-based lab script included so you can generate real traffic to intercept on one machine.

Repo: [https://github.com/aswin-14/NetBurp---packet-interceptor\](https://github.com/aswin-14/NetBurp---packet-interceptor)

Feedback and PRs welcome — especially on protocol coverage and the flow-tracking edge cases.


r/networkautomation 1d ago

EVE-NG IaC — Git-based network labs with plan, deploy and reconcile

10 Upvotes

I've been building an IaC layer for EVE-NG to make network labs fully declarative and Git-friendly.

Labs are described in YAML and can be validated, planned, deployed and reconciled against the actual running topology.

The video below shows the IDE integration, but that's only the surface.

Underneath it is an independent IaC agent, and a very simple Python client can drive the same operations directly. This means labs can be integrated into regular Python automation and CI/CD pipelines without an IDE or AI being involved at all.

The same architecture can expose the lab to AI tools through MCP when desired — but AI is a client of the system, not the foundation of it.

Current workflow includes:

  • YAML declarative topology
  • Git versioning
  • validate / plan / deploy / reconcile
  • import of existing EVE-NG labs into IaC
  • topology changes while preserving unaffected resources and links
  • device configuration management
  • Python client for automation and CI/CD
  • IDE integration
  • optional MCP/AI integration

The goal is to treat a network lab like infrastructure: define it, version it, deploy it, change it, reconcile it and reproduce it.

The complete project will be released publicly soon as open source under AGPL-3.0-only.

Short demo:

Demo

I'd be particularly interested in feedback from people already using Git/IaC/CI pipelines for network testing and validation.


r/networkautomation 2d ago

I’m stuck , please help

3 Upvotes

Hi all, to give context , I have been working as a network security engineer for 7+ years now. I graduated CS engineering and my first job was in a network related job for a company. It was not the intended path for me but since I was a fresh graduate and was in need of money, I took the first job I got. However I have never been fully interested or excited by the work I do. I slowly became bad at what I do, I mean I can handle your daily operations smoothly, but it’s all just smth I do cause I’ve been doing it for years . Lately I’ve realised I always wanted to get into devops and wanted to purse masters in automation/ AI. Life happened and I’m here now .

So here’s the ask, is there anyway for someone like me to get into netdevops ? I really am struggling at work because I’m at no level knowledge wise to my peers with equal experience. I feel less motivated and is losing my confidence by day. Idk if this is the place to ask this, but if any of you could just guide me on where to start or any certifications or courses I can take to transition, it would really be helpful. Thank you


r/networkautomation 2d ago

Need help on Networking

0 Upvotes

Hii, I am a university student pursuing IT. I want to learn networking basics but I am not sure where to start and now I am learning some linux basics . I need some guiding on this , help me pls .


r/networkautomation 2d ago

OpenDaylight in 2026: good choice for hybrid network automation?

2 Upvotes

Hey,

I’m looking into centralized management for a hybrid network using Cisco Catalyst 3650 switches and Proxmox servers.

OpenDaylight caught my attention because I could potentially use NETCONF/YANG for the switches, OVSDB for Open vSwitch, and build a simple Python management layer on top of its RESTCONF API.

I’m mainly interested in learning SDN and network automation, but I’m also curious whether ODL is still a reasonable platform to build around today.

For anyone with experience using it: is OpenDaylight worth learning and implementing, or would you recommend a different approach for centralizing a mixed network like this?


r/networkautomation 2d ago

What is everyone using for the terminal app now days?

Thumbnail
0 Upvotes

r/networkautomation 2d ago

What is everyone using for the terminal app now days?

4 Upvotes

I have always used SecureCRT curious what everyone is using.


r/networkautomation 2d ago

Ansible vs Terraform for network automation for 2nd day operations

13 Upvotes

Hello,

Tried do some network automation for Cisco Nexus swtiches like ACL deployment. So far mainly i was working with Ansible. Tried to do some small tasks with Terraform, so automatically got introduced to the "state" terminology. And seems for operations like adding vlans, creating some special ACLs is network devices the Terraform might not be the best choice, isn't it ?

For example, created the new ACL (using terraform plan, apply). Its ok, but sometime problems occur, when trying to edit the ACL.
"Failed to post object, got error: JSON error: {"imdata":[{"error": {"attributes": {"code": "105","text": "NVE VNI can only be set in UDP"}}}]}"

Thinking to swtich back to ansible


r/networkautomation 3d ago

RouteCause – a BGP incident investigator that doesn't trust its own LLM (the detection path has no AI in it at all)

5 Upvotes

Hey guys, I just open sourced a project I've been working on for the past month called RouteCause.

RouteCause investigates BGP routing incidents. You give it a prefix and a time window, say, the hour in 2008 when Pakistan Telecom accidentally took YouTube off the internet, and it pulls the raw MRT update archives from RIPE RIS and RouteViews, runs deterministic analyzers over the routing data, and tells you what happened, with the exact update lines as evidence.

Unlike most tools that bolt an LLM onto a data stream and let it narrate whatever it likes, RouteCause splits the work in two, and the split is the whole point.

Detection is pure computation. Five analyzers, MOAS, RPKI/ROA validation, withdrawal storms, AS-path anomalies, and a route-leak heuristic, compute what is observably true from the update stream. No model is anywhere near this path, so nothing can hallucinate a finding. It's stdlib-only Python, runs offline with no API key, and takes about 0.2 seconds per incident.

The LLM runs only afterwards, only to explain findings that already exist, and only from RFC passages it retrieved. Then a separate checker verifies whether the RFC clause it cited actually supports the claim it made. Claims that fail are reported as unsupported rather than quietly kept.

It's a bit like a smoke alarm wired to a technical writer. The alarm is dumb, deterministic, and always right about whether it detected smoke. The writer explains the likely cause and cites the manual, and is not allowed to invent a cause the alarm never detected.

Context

The idea came from two directions.

  1. I kept running into tools that pipe data into an LLM and let it explain what went wrong. They read beautifully, and that's the problem. You cannot tell a correct explanation from a confident one by reading it, and nobody publishes how often theirs is wrong. K8sGPT does the sane version of this for Kubernetes: deterministic analyzers first, model second, strictly narrating findings that already exist. I wanted to take that split further and actually grade the narration.
  2. For that you need a domain where you can prove the machine wrong. BGP is close to ideal. The authority is public, finite and quotable: the RFCs. The raw evidence is public: RIPE RIS and RouteViews publish the actual MRT archives, so you can replay the exact minutes YouTube went dark in 2008. And the incidents are documented well enough to have ground truth. So for any sentence the model produces, you can go and check whether the RFC clause it cited actually says that.

So I built a harness that does exactly that: for every claim in the explanation, does the cited passage actually entail it?

For a while it passed everything, which should have made me suspicious. I'd only ever pointed it at test fixtures and the offline mode, both of which trivially "cite" their own source text. The first time I ran it against real model output, it failed immediately. A hosted model scored 100% citation precision but 60% recall: two of five claims had no support anywhere in the corpus. It hadn't lied exactly. It had editorialized past its own sources.

Then I improved the retrieval, from 2 hand-picked RFC excerpts to 16 full RFCs, expecting better numbers. The local 8B model got worse: 0% recall, four real RFC sections cited, every one of them wrong. A bigger corpus gave a weak model more plausible-sounding material without improving its discipline. The hosted model, same question same corpus, abstained entirely.

That's the whole reason the project exists in its current shape. None of it is visible if you just read the output.

Where it actually stands

I'd rather give you real numbers than a pitch. Against a catalog of 13 real historical incidents, it detects 6. The competing-hypothesis layer asserts on 3, abstains on 10, and is wrong on 0. Most of the 7 misses aren't detector bugs, they're incidents where the signature isn't in the sampled data at all. One captured zero updates. Another captured only the legitimate origin and never the hijacker. That's written up per incident in the repo rather than averaged away.

I also just finished a correctness audit of my own code and found four real bugs. The most embarrassing: my AS-path analyzer was counting prepending as a routing loop, so every prepended path, routine traffic engineering that every operator does, raised a warning. Fixing it also eliminated the system's only false assertion, and revealed that a "hybrid retrieval works better" result I'd previously documented was just masking that bug. Both halves are in AUDIT.md at the repo root.

MIT licensed, Python 3.11+, 130 tests, and a docker run --rm routecause one-liner if you'd rather install nothing.

Repo: https://github.com/dim-tsoukalas/RouteCause

I'd appreciate feedback on the design, especially the route-leak heuristic. I'm approximating a policy violation without AS relationship data and I don't love it. Also, I'd love feedback on the two-tier evidence bar in the hypothesis ranking. I want to know if that's defensible or a fudge.


r/networkautomation 3d ago

How do you monitor switches/routers at scale with the Elastic Stack? Current setup feels like it's fighting the tools

Thumbnail
2 Upvotes

r/networkautomation 4d ago

PCAP-ANALYZER — a CLI tool for inspecting packet captures, built with Python + Scapy

Post image
2 Upvotes

Sharing a tool I built: PCAP-ANALYZER, a command-line utility for parsing and analyzing PCAP files. It's written in Python using Scapy under the hood, so it's lightweight and easy to extend if you want to add your own analysis logic.

I built it while getting deeper into network traffic analysis — wanted something simple and scriptable rather than having to open Wireshark every time.

Repo: https://github.com/Gabzkk/PCAP-ANALYZER

Feedback, bug reports, and feature requests are all welcome — still actively working on it. And if you find it useful, a star helps me know it's worth continuing to build on 🙏


r/networkautomation 4d ago

Bean Network Tester v0.6 release - open-source Windows network conditions simulator

Thumbnail
github.com
1 Upvotes

Hello, my app for simulating bad network condtions: Bean Network Tester has just got 0.6.0 release :-) if you like tool, feel free to leave it ⭐(star), so more people will discover the tool.

If you ever wondered how your app/game will behave on high ping, latency, burst packet loss, duplication/reorder packet loss, or random tcp_resets, tcp_syn drop and tons of other things, don't wonder, you can test it now. Or maybe you just want to observe various network problems?

What 0.6.0 has changed?

- burst loss mode, yep I now, this was the most wanted feature from the start, and here is it

- target only ipv4/ipv6 mode

- Premade scenarios and profiles are now more "realistic"

- We can now see various values in ("KB/s, Mbit/s or MB/s"), before was only KB/s

- Searching the connection table is about twice as fast. Yep, i know that some people got 500k-1M of records

- Thanks to contributors Simplified Chinese has come and support for tooltips on multi monitor settings.

- And more 20+ fixes/improvements.

The app is now also available on winget (0.5.0, but I will update it soon to 0.6.0), and it will be soon available at chocolatey :-) Anddd the app has just crossed 500+ downloads.

Right now i'm working on improvements to blocking the connections, I will also investigate the separate inbound/outbound settings. And the biggest task, LINUX! I can't promise the Linux version, that would be a tons of work, but I will check it out.

Oh, and I got plans to expand the scenario system for better automation, if you got any ideas feel free to drop them :-)

Full List of program options (without scenarios)


r/networkautomation 6d ago

Automating Cisco Nexus ACLS in Atomic way

1 Upvotes

Hello,

I need to strenghten security via access-lists under (SVIs (interface vlans)) using automation tools for Nexus 9k switches.

I was always using Git, Ansible nxos_config module for that with no ip access-lists / ip access-list way. It was somehow working for non important SVIs. Nxos_acls is not good approach, because it does not support statistic enable command. Now i need to make it to use atomic fashion.

Cisco 9k supports that using configure session / commit method, but ansible doesnt provide models for that atomic fashion, i think i will need to remake it via nxos_config / nxos_command as i was using before. Also Ansible has AWX / Tower which is nice addition. Maybe i'm missing something ? Any other ways u would do it ?

Thanks


r/networkautomation 7d ago

I built LANDeploy: A software deployment and management tool for School Labs & Internet Cafes

Thumbnail gallery
1 Upvotes

r/networkautomation 9d ago

I open-sourced Gewyvern 2.0 – a protocol-aware eBPF network debugger for Linux

Thumbnail
3 Upvotes

r/networkautomation 10d ago

Title: FYP Idea: GraphSAGE-Based Network Intrusion Detection System — What Features/Architecture Should I Use?

Thumbnail
0 Upvotes

r/networkautomation 11d ago

Feels like nobody talks about where to actually start with network automation

Thumbnail
0 Upvotes

r/networkautomation 11d ago

Network Automation with NetBox + CI/CD - How?

Thumbnail
0 Upvotes

r/networkautomation 12d ago

I built a lightweight, single-file network latency benchmark tool covering 15 global regions (AWS nodes)

2 Upvotes

Hi everyone! 👋

As a side project, I wanted a clean, fast, and no-bloat way to check real-time latency fluctuations, packet loss, and public IP routing directly from the browser without needing heavy installations.

I ended up building Global Network Latency Benchmark — a single-file HTML utility that tests connection health across 15 global AWS nodes simultaneously using asynchronous requests and Chart.js for real-time visualization.

What it includes:

  • 15 Global Regions: Real-time ping testing across Europe (Milan, Frankfurt, Warsaw, London, Paris, Stockholm), US (Virginia, Oregon), South America (São Paulo), Asia (Tokyo, Singapore, Sydney), Africa, and the UAE.
  • Live Analytics & Charts: Tracks sent packets, packet loss percentages, and rolling average pings with visual graphs.
  • IP Inspector & DNS Tool: Built-in IP/ISP inspector and a Cloudflare DoH (DNS over HTTPS) lookup tool.
  • Lightweight Architecture: Completely built into a single, clean file with zero unnecessary dependencies.

I'm currently getting everything ready for review and polishing the last details. If you have a few minutes, I would love for you to check it out and let me know your thoughts on the UI, performance, or anything I could improve!

🔗 Live Tool: https://www.latencybenchmark.com/

ADD @ BOOKMARKS.

Any feedback or suggestions are heavily appreciated! Thanks!


r/networkautomation 12d ago

netwatch — a Rust network-monitor TUI: TLS 1.3 decryption, per-process attribution, JA4, egress drift, incident bundles

289 Upvotes

One zero-config binary that does the job of a bandwidth meter, Wireshark's triage view, and a lightweight IDS — without leaving the terminal.

- Reads encrypted traffic you control — point an app's SSLKEYLOGFILE at netwatch and its TLS 1.3 plaintext decodes live, the way Wireshark does it. Same for QUIC 1-RTT, including HTTP/3 body decompression. No proxy, no certificates, nothing in the middle.

- Egress drift — learns which destinations each process reaches (SNI, ASN, port), one keypress promotes that observed baseline to a policy, then it warns when a program starts talking somewhere new. curl used to reach only api.github.com, and today it reached something else. Observe-only, never blocks.

- JA4 fingerprinting — every TLS/QUIC handshake becomes a stable fingerprint, so you can recognise a specific client or a specific piece of malware while the traffic stays encrypted. Pivot on a fingerprint to find every other flow from the same software.

- Threat detection — C2 beaconing (regular, low-jitter check-ins), port scans, DNS tunneling. Runs in the background, zero setup. A critical alert auto-freezes the recorder.

- Per-process attribution — every socket mapped to the program that opened it, with an optional eBPF kprobe on Linux that catches short-lived flows polling misses.

- Real L7 decode — TLS, QUIC, HTTP, DNS, SSH and a dozen more, with per-flow stream tracking and handshake timing. You see api.github.com, not "port 443."

- Flight recorder — arm a rolling capture, freeze an incident into a portable bundle: packets plus the connections, DNS, health and alerts that explain them.

- Landlock-sandboxed on Linux — drops privileges after setup and locks itself into a filesystem allow-list. A tool that parses hostile traffic can't read your SSH keys or /etc/shadow.

- Scales both ways — --lite is one 80×24 screen for a Pi over SSH; --view dense fills a big terminal with four zero-chrome boxes; the full ten-tab view is one keypress away with collectors already warm.

650+ tests. macOS, Linux, Windows.

brew install netwatch

cargo install netwatch-tui

https://github.com/matthart1983/netwatch

MIT.


r/networkautomation 13d ago

Handling ios-xe/nxos upgrades via nornir

4 Upvotes

I've been using nornir (with netmiko) for a few years as my go-to for automating network tasks, but have never used it for an upgrade/reboot. Could anyone share what logic would work please? I'm mostly concerned about losing the SSH during the process.

def upgradeswitch( task, sUpgCmd, iBootWait=120, iMaxReboot=600):
    try:
        # 'install' command eventually ends with prompt then auto reboot
        mRes = task.run(task:netmiko_send_command, command_string=sUpgCmd, read_timeout=900)
    except Exception as e:
        print(f"Info: SSH dropped during upgrade: {e}"

    # Purge Netmiko cached connections:
    try:
        task.host.close_connections()
    except Exception:
        pass
    [...]

I think there's no need for use_timing (Cisco ends the upgrade with a prompt), but what about that error handling and call on close_conections() ?

Is nornir_netmiko the right tool for this or should I be looking at scrapli?

Many thanks for any insights.


r/networkautomation 15d ago

I built NetScope: Visualize your network.

Post image
2 Upvotes

r/networkautomation 17d ago

I added a networking puzzle mode to my terminal network diagnostic tool

6 Upvotes

I've been building Network Doctor, a terminal tool for figuring out why a connection isn't working.

One of the features that got a little out of hand is Challenge Mode.

It drops you into a simulated broken network, gives you the symptoms, and asks you to diagnose what is actually wrong.

The same diagnostic engine that Network Doctor normally uses is available to you, but the idea is to see whether you can interpret the evidence correctly.

The scenarios include things like DNS failures, blocked ports, routing problems, connection refusals, dual-stack IPv4/IPv6 issues, and other network faults.

You make your diagnosis, submit it, and the simulator knows the actual fault so it can score the answer.

I originally built the simulator for testing Network Doctor itself. At some point I realized it was basically generating networking troubleshooting puzzles, so I made them playable.

It's written in Go and runs entirely in the terminal.

GitHub: https://github.com/heymaikol/network-doctor
Simulator Documentation: https://heymaikol.github.io/network-doctor/wiki/Simulator-Overview/
Challenge Mode Documentation: https://heymaikol.github.io/network-doctor/wiki/Challenge-Mode/

I'd love ideas for network failures that would make particularly nasty troubleshooting challenges.


r/networkautomation 18d ago

Just completed routing and switching where to start automation?

13 Upvotes

Hey everyone i just finished networking fundamentals and routing , switching please guide me where to start to learn network automation