netdiag

v0.6.0 · Windows & macOS · one binary

Know what is on your network in ten seconds.

Printers, web pages, IP conflicts, and the health of the gateway, DHCP, DNS and Wi-Fi, in one window.

netdiag sweeps the local subnet with ping, ARP, port probes, SNMP, mDNS and IPP, then shows what answered, what it is, and what is wrong with it. Built for whoever gets the call when the printer stops or the Wi-Fi “is down”.

Free · Offline · No install · No admin rights · Listens on 127.0.0.1 only

~10 sto sweep a /24
~5 sto flag a printer jam in live mode
1 filenothing to install
16 toolsfor Claude over MCP

What it finds

Everything that answered, and what is wrong with it.

Every status has a shape and a word, never colour alone. Nothing is changed on any device: every probe is read-only.

Every device

Parallel ping sweep plus the ARP table, so devices that block ping still show up. Vendor from the MAC, names from DNS and mDNS.

Printers, in detail

Model, serial, page count, toner and drum levels, trays, covers and alerts over SNMP and IPP. Jams and open doors in seconds in live mode.

Web pages and remote desktop

Ports 80, 443, 8080 and 8443 probed for status, title, server and certificate, with a link to open each one. Computers with Remote Desktop or screen sharing open in one click.

Network health

Router, getting an address (DHCP), name lookup (DNS), a web server you rely on, the internet and Wi-Fi signal, each with a plain-word status.

IP conflicts

Two devices fighting over one address, one MAC on many IPs, or duplicate names. Mesh nodes and extenders can be ignored in one click.

Live alerts

Leave it running: a Problems right now card, banners and a beep when a printer jams, a supply runs low or a device drops off, and a quiet Fixed when it is sorted. Each one says what to try. How it works

Device types

Printer, TV, NAS, phone, camera, network gear, smart home and more, from real signals. Unknown stays unknown: no guessing.

History & compare

Every scan is saved. Compare any two to see what was added, removed or changed, and export it as JSON or CSV.

Live monitoring

Hear about the paper jam before the queue does.

Turn on Live mode and netdiag keeps watching after the first scan: new devices, devices that drop off, IP conflicts, failing health checks, and above all printers. A jam, an open door or a paused printer shows up within seconds, and so does the fix.

  1. 12:30:26Live monitoring startsThe first scan finishes; the Zebra is up and green.
  2. cover openedFast status checkEvery 5 s, one small SNMP request reads device status, printer status and error flags.
  3. 12:53:31One urgent alertDoor or cover open: a red banner, a beep, a desktop notification. The printer also says it is offline or paused; netdiag counts that as part of the open cover.
  4. 12:54:06FixedCover closed: the same banner turns into Fixed and says what cleared, so you know it is safe to print. A connected team chat gets its card closed in the same second.

Real hardware, not a mock-up: these screenshots were captured from netdiag 0.6 watching a Zebra ZD621 label printer while someone opened and closed its cover, at the times above.

Checks every few seconds

Every 5 seconds by default (2 to 300, in Settings), each printer gets a tiny three-value SNMP read. A full read of supplies, trays and alerts runs when something changes, and every 60 seconds.

Error flags become words

Some printers, Zebra label printers among them, report trouble only as SNMP error flags. netdiag names them: out of paper or toner, door open, paper jam, offline or paused, service requested are urgent; low paper or toner is a warning.

Alerts that do not nag

Only changes alert, never every check. Each alert has a cooldown (300 s by default), urgent and warning tones differ, and you choose which kinds alert at all.

More than printers

New devices are highlighted, devices that miss two checks are marked offline, and conflicts and failing health checks raise their own alerts. Live mode saves a checkpoint every five minutes.

The drawer, mid-fault

Exactly what the printer is saying.

The Zebra reports trouble only through its SNMP error flags, and its own alert list stays empty. netdiag turns doorOpen into one named urgent alert, Door or cover open (the offline flag that comes with it is part of it), and shows the raw device status, printer status and error state underneath.

  • device status down
  • doorOpen, offline
  • via SNMP

And when it is fixed

Green again, with a note saying why.

As soon as the cover closes and the flags clear, the row turns green and the alert's banner turns into Fixed, naming what cleared and how long it lasted. It stays until you dismiss it, so nobody misses that something happened.

  • Fixed
  • Printer alert cleared

The record

Every step, timestamped.

The activity log keeps the whole story: the scan, devices elsewhere on the network dropping off and coming back, the alert, and the fix 35 seconds later, naming what cleared. Copy it into a ticket or a chat in one click.

  • 12:53:31 alert
  • 12:54:06 Fixed

New in 0.6

Chat alerts that close themselves.

Connect netdiag to your team chat (bubbles) and the whole team sees it when something on the local network breaks: once, in plain words, with what to try. When the problem is fixed, netdiag closes the same chat card itself: “Fixed at 10:42 (lasted 12 min)”.

Connect in a few clicks

Find the server, compare four groups, ask for approval.

netdiag finds your chat server on the local network. You compare the first four groups of its fingerprint with what your chat admin reads in bubbles, so nothing can pretend to be it, and your chat admin approves netdiag and picks the channel. A test alert checks it works. Usually no typing (only the server's address, when a firewall or a separate Wi-Fi network hides it), and no administrator rights on this computer.

  • It matches
  • admin approves
  • test alert sent

Alerts you can trust

Once, while it matters, then closed.

A health check must fail twice, and a device miss two checks, before it reaches chat, so one bad check never pings the team, and only warnings and urgent problems go by default. If this computer loses the network or goes to sleep, netdiag pauses its checks instead of flooding the channel. Alerts that wait for the chat server keep their real time, and one fixed in the meantime is never sent. Chat alerts go out while netdiag is open and watching.

  • warning
  • Fixed at 10:42
  • no storms

And when it is fixed

netdiag closes its own card.

From the same real run as the Zebra story above: when the cover closed, netdiag marked its card in #netdiag-alerts resolved and said in its thread when it was fixed and how long it lasted, so the team knows nobody needs to go and look. A new problem later opens a new card.

  • Resolved
  • Fixed at 12:54
  • same card

A tour

One window for the whole network.

These are real screens, captured from the app by the same test harness that checks its layout and accessibility.

Device details

Click any row to see everything netdiag knows.

The drawer shows the device's status, addresses with copy buttons, vendor and type with the reason for it, then the printer section: console display, supply bars, trays, covers and alerts. It stays open and updates while live mode runs.

  • toner 15% (low)
  • SNMP + IPP
  • state idle

Health

Is it the network, or the device?

One card per check with a status word and the response time. A card that is not fine says what it means in plain words and lists up to three things to try, with the raw detail under Technical details. The internet check is information only, because plenty of local networks have no internet at all, and one switch tells netdiag a network has none on purpose.

  • gateway 1.4 ms
  • DNS 18.2 ms
  • Wi-Fi 48%: what to try

Activity

A running log of what changed.

Scan stages, new and offline devices, conflicts, health changes and printer notices, each with the time, and a Fixed line when a problem goes away. Filter by kind with the chips and copy the visible lines to send to someone.

  • 500 lines kept
  • conflict
  • Fixed

History

What changed since the last scan?

The last 20 scans are kept. Pick a baseline and a current scan to see devices added, removed and changed (addresses, ports, printer state, supplies), with from-to text for each change.

  • 1 added
  • 1 removed
  • 2 changed

Claude over MCP

Ask Claude what is wrong with the network.

netdiag speaks MCP (Model Context Protocol), so Claude or another AI agent on this computer can read scan results and run diagnostics, and explain them in plain words.

Terminal · Claude Code
$ claude mcp add netdiag -- "C:\path\to\netdiag.exe" mcp
$ claude mcp list
netdiag: … mcp - ✔ Connected
> Use netdiag to scan the network and tell me why the Brother printer is offline.

On a Mac use /path/to/netdiag mcp. Claude Desktop, sharing the open window (netdiag mcp --attach or HTTP) and the full runbook list are covered in the README.

Built-in runbooks

  • explain_problems What is wrong right now?
  • internet_not_working Where does the connection break?
  • device_offline Why did this device stop answering?
  • check_chat_alerts Are the team chat alerts still right?
  • first_look What is on this network?
  • triage_network What needs attention first?
  • diagnose_printer Why is this printer not printing?
  • explain_conflict Who is fighting over this IP?
  • device_missing Why is this laptop not showing up?
  • what_changed What is different since the last scan?
  • Read and diagnose only: netdiag's tools for agents cannot change settings, delete history, quit, stop the watching you started or post to team chat. A chat token you give Claude yourself is a separate key (what it allows).
  • The SNMP community string is never shown to the agent.
  • This computer only (127.0.0.1). HTTP access is off until you switch it on.

Download

Unzip it, run it, click Scan.

No installer and no administrator rights. Your browser opens to netdiag on this computer. First time? Read HOW-TO-OPEN.txt in the zip for the SmartScreen (Windows) and Gatekeeper (Mac) steps.

Windows

Intel / AMD (x64) ARM (Snapdragon)

Double-click netdiag.exe.

macOS

Apple silicon (M1 and later) Intel

Run ./netdiag in Terminal.

  1. Connect to the network you want to check, by Wi-Fi or cable.
  2. Start netdiag. The interface and address range are filled in for you.
  3. Click Scan and read the tiles: alive, printers, web, mDNS, offline, conflicts.

All releases and notes: github.com/donaldsteele/netdiag/releases