NetWatch: real-time network diagnostics in the terminal (open source)
Posted by Potential-Access-595@reddit | linuxadmin | View on Reddit | 23 comments
I built NetWatch to make transient network incidents easier to catch from a terminal session.
It already handled interface stats, live connections, packet capture, health probes, traceroute, and process bandwidth. The new part is a rolling Flight Recorder:
- arm a 5-minute capture window
- let it rotate in the background
- freeze when the issue happens
- export a bundle with `packets.pcap`, connections, health snapshots, bandwidth context, DNS analytics, alerts, and a summary
The goal is to keep both the packet evidence and the surrounding operational state instead of only dumping a pcap after the fact.
Open source:
https://github.com/matthart1983/netwatch
Would love feedback from people who do real incident response or production debugging.
xoCruellaDeVil@reddit
I love how Claude loves calling things xxxWatch. I've seen FinanceWatch, ThreatWatch, and now NetWatch. Great stuff hahah. Atleast pick your own name.
IrritatingBashterd@reddit
crazy good app
Scoutron@reddit
Oh boy I love AI slop.
Background-Plant-226@reddit
I took a quick look at the code and I'd say it was definitely written with an LLM. For example, in main.rs, at the start, if a condition passes it writes the config, it uses
NetwatchConfig::save()which returns an error if a call to self::path() returns None.Then after that it prints out the config path it wrote to with a
match NetwatchConfig::path()statement that handles the None to say "Config written (could not determine path)" which is on itself a stupid message to print out, but the real issue is that it will never trigger, if path() returns None it will fail before that match statement is executed because the call to save() has a question mark after it.(If you dont know Rust, the question mark means to propagate the error up to the caller to handle)
Scoutron@reddit
It sucks because I’m quite interested in getting started with taking coding more seriously as an experienced admin, and every single post on this sub and some other ones that has a custom built tool has this exact same thing happen. Shame.
ollytheninja@reddit
If you’re wanting to learn to code and you put in the time to understand what you’re building and think critically about the architecture and logic of every line of code you’ll get a different response than if you ask an LLM to build something, don’t look at the code and yeet it onto a reddit sub for feedback
m15f1t@reddit
That looks very useful, going to give that a try!
apunker@reddit
iftop on steriods! I LOVE IT!
Electronic-Unit2808@reddit
👏👏👏👏👏👏👏 A very useful tool, the ones that are available usually don't have a nice interface, installing it to test it out...
Maelstrome26@reddit
The graphs are going far too quickly, if this is real time then they need slowing down at least 2x. Otherwise, great!
Potential-Access-595@reddit (OP)
yeh its speed up just to demonstrate the capability its slower in reality.
zero0n3@reddit
Would be cool if it had a “dilation factor” you can configure in the GUI to slow it down or speed it up relative to real time.
What does this look like when monitoring a device that can and does do 2GB/s steady state and spikes to 7/8
Maelstrome26@reddit
Ok fair enough, may want to edit the post body to make that clear.
Valvo-78@reddit
yap with vibe coding we gonna see lots of apps like these.... not saying they are bad but def UI looks all same.
PJBonoVox@reddit
And they'll never be maintained.
Invader-Faye@reddit
They don’t need to be fork it, document it using ai and make the updates/changes you need
snark42@reddit
Nice. You should consider adding counters for crc errors and dropped packets per interface.
TechCF@reddit
Good idea, would make it better than btop.
Potential-Access-595@reddit (OP)
thanks this is a great idea
osxman@reddit
Worth mentioning it is almost 100% rust and that's a good thing!
And probably fast/convenient because of the chosen programming language.
unixbhaskar@reddit
Mind taking a look at iptraf-ng??
Potential-Access-595@reddit (OP)
Cool is this your project?
Potential-Access-595@reddit (OP)
cool will take a look