-
-
Notifications
You must be signed in to change notification settings - Fork 7
Home
Network Doctor answers one question about a broken connection: is the problem on my network, along the path, or at the service?
It does that by running independent, unprivileged, time-bounded probes
(interface, DNS, TCP, TLS, HTTP, proxy, QUIC, encrypted DNS, path MTU) and
turning the results into a plain-English diagnosis instead of a wall of ping,
dig, and curl output.
This wiki is the explanatory half of the documentation. It teaches concepts, walks through workflows, and explains why things are built the way they are. It does not restate flags, defaults, exit codes, or inventories, since those live beside the code, where they change in the same commit as the behaviour. See Documentation Map for what lives where and why.
The project is network-doctor. It ships two binaries, and confusing them
is the most common early stumble.
netdoc |
netdoc-sim |
|
|---|---|---|
| What it is | The diagnostic tool | A network simulator that grades netdoc
|
| Who runs it | Anyone with a broken connection | Contributors, and anyone playing Challenge Mode |
| What it touches | Your real network, read-only probes | A throwaway virtual network; never your real one |
| Platforms | Linux, macOS, Windows | Linux only (natively), or any host via a Linux container |
| Needs root? | No | No |
If you are here because something is broken, you want netdoc and nothing else
on this page. Start at Getting Started.
netdoc-sim exists because a diagnostic tool needs to be tested against faults
whose truth is known by construction. Challenge Mode is that same machinery with
a person added as the second contestant.
- Getting Started: install, first run, what the screen is showing you.
- Understanding Your Diagnosis: you have a verdict; what does it mean and what do you do next.
- How Network Doctor Works: why the probes are arranged the way they are, and why one failure never hides another.
- Troubleshooting and FAQ: rows that behave surprisingly, and the questions that come up most.
- Challenge Mode: diagnose a hidden fault yourself, then let Network Doctor try the same one. One container command on any OS.
-
Simulator Overview: what
netdoc-simbuilds, how a run is structured, and what a scenario is. - Hunts and Triage: automated fault generation, what a "false negative" actually means here, and the nightly pipeline.
- Architecture: package boundaries, the probes → evidence → diagnosis flow, and the simulator pipeline.
- Development and Contributing: clone, build, the validation gate, and what a good pull request looks like.
- Documentation Map: where to put documentation so it does not drift.
These are the sources of truth. When this wiki and one of these disagree, the repository is right and the wiki has a bug worth reporting.
| Source | Authoritative for |
|---|---|
netdoc --help / netdoc.1
|
netdoc flags, syntax, defaults, target grammar |
netdoc-sim help / netdoc-sim.1
|
netdoc-sim commands, flags, exit codes |
| README | Install per platform, probe table, JSON schema, exit codes, validation gate |
docs/simulation.md |
The complete simulator guide: setup, scenarios, campaigns, hunts, triage, the challenge contract |
| CONTRIBUTING.md | Package layout rules, validation requirements, PR expectations |
netdoc-sim scenarios / starters / authored
|
The current inventories, never a hand-written list |
| SECURITY.md | Reporting a vulnerability |
- Repository · Latest release · Issues
- Code of Conduct
- Licensed under the Apache License 2.0
This wiki is the explanatory half of Network Doctor's documentation. Exact
flags, defaults, exit codes, and inventories are authoritative in the
repository and in each command's
own --help; see Documentation Map. Where the two
disagree, the repository is right.
Using netdoc
Using netdoc-sim
Contributing
Authoritative docs