Run all network checks at once and get a unified health score with per-module breakdown.
What it does¶
netglance report is the "run everything" command. It executes all available checks (device discovery, connectivity, DNS, ARP, TLS certificates, HTTP proxy detection, WiFi status, and any test data from the database like speed tests and uptime) and aggregates the results into a single report with an overall health score and per-module status.
This is the best starting point for understanding your network's health at a glance. Instead of running individual commands, you get a complete picture: what's working, what needs attention, and what failed to run.
Quick start¶
Basic report to the terminal:
netglance report
Save as markdown file:
netglance report --output report.md
Generate an HTML report for sharing or archiving:
netglance report --html --html-output report.html
Check only specific modules:
netglance report --modules discover,dns,ping
JSON output for scripting or parsing:
netglance report --json
Commands¶
netglance report¶
Run all health checks and display results.
Options¶
| Option | Short | Type | Default | Description |
|---|---|---|---|---|
--modules |
-m |
string | None | Comma-separated list of modules to check (e.g., discover,dns,tls). If omitted, all modules run. |
--output |
-o |
path | None | Save report as markdown to this file path. |
--json |
— | flag | false | Output report as JSON instead of formatted text. |
--subnet |
-s |
string | 192.168.1.0/24 | Network subnet for device discovery. |
--html |
— | flag | false | Generate HTML report. |
--html-output |
— | path | None | Save HTML report to this file path. If omitted with --html, prints HTML to stdout. |
--include-trending |
— | flag | false | Include metric sparkline charts (24-hour trends) in HTML report. Requires database access. |
--include-alerts |
— | flag | false | Include recent alert history table in HTML report. Requires database access. |
Available modules¶
The following modules can be checked:
discover— Find devices on your network (ARP, mDNS, uPnP).ping— Test gateway and internet connectivity.dns— Check DNS consistency and detect hijacking.arp— Monitor ARP table for anomalies.tls— Verify TLS certificates on default sites.http— Detect HTTP proxies.wifi— Report current WiFi connection info.speed— Last speed test result (from database).uptime— Uptime monitoring status (from database).vpn— VPN leak detection results (from database).dhcp— DHCP rogue server detection (from database).ipv6— IPv6 privacy and leak analysis (from database).
Understanding the output¶
Terminal output¶
The report displays an overall health status banner followed by a colored panel for each module:
Network Health Report
Overall: PASS
✔ discover - PASS
Found 12 device(s) on 192.168.1.0/24
192.168.1.100 (aa:bb:cc:dd:ee:ff) - router
192.168.1.101 (11:22:33:44:55:66) - laptop
✔ ping - PASS
Gateway and internet connectivity OK
Gateway 192.168.1.1: UP (5.2 ms)
Internet 8.8.8.8: UP (23.4 ms)
⚠ dns - WARN
DNS resolvers returned inconsistent results
...
Overall status meanings¶
The overall status is the worst status from any module:
- PASS (green) — All checks passed, no issues detected.
- WARN (yellow) — Minor concerns detected (e.g., slow DNS, partial connectivity). Network is functional but may need investigation.
- FAIL (red) — Problems detected (e.g., all DNS resolvers hijacked, TLS interception). Network has real issues.
- ERROR (red bold) — One or more checks failed to run entirely (e.g., permission denied, network unreachable).
Per-module status¶
Each module gets a status label:
| Status | Meaning |
|---|---|
| PASS | No issues detected; everything works as expected. |
| WARN | Minor concerns or degradation; functionality is maintained but should be monitored. |
| FAIL | Problems detected; functionality is impaired or blocked. |
| ERROR | Check could not run (permission denied, missing tools, network errors). |
| SKIP | Module disabled, not applicable on this platform, or no data available. |
Module-specific indicators¶
- discover — Pass if devices found; error if no network interface detected.
- ping — Pass if both gateway and internet up; warn if one is down; fail if all down.
- dns — Pass if resolvers agree; warn if inconsistent; fail if potential hijack detected.
- arp — Pass if table readable (informational); error if requires root.
- tls — Pass if all certs trusted; warn if some untrusted; fail if interception detected.
- http — Pass if no proxy detected; warn if proxy headers found.
- wifi — Pass if connected; warn if not connected or on this platform.
- speed — Pass if download ≥ 25 Mbps; warn if 10–24 Mbps; fail if < 10 Mbps; skip if no test run yet.
- uptime — Pass if ≥ 99%; warn if 95–99%; fail if < 95%; skip if not monitored.
- vpn — Pass if no leaks; fail if DNS or IPv6 leaks detected; skip if never checked.
- dhcp — Pass if no rogue servers; warn if rogue servers detected; skip if never monitored.
- ipv6 — Pass if privacy extensions enabled; warn if EUI-64 exposed; skip if no IPv6 data.
HTML reports¶
The --html flag generates a standalone HTML report with inline CSS and no external dependencies. This is useful for sharing, archiving, or viewing in a browser.
netglance report --html --html-output ~/Downloads/report.html
The HTML report includes:
- Overall health status banner with color coding.
- Module summary table with status icons, labels, and details.
- Optional metric sparklines (24-hour trends) with
--include-trending. - Optional alert history table with
--include-alerts.
To view in your default browser:
netglance report --html --html-output report.html && open report.html
Trending and history¶
Reports can be compared over time to spot network degradation or improvement. The database stores results from previous checks, and the --include-trending flag pulls the last 24 hours of metric data to render as sparkline charts in the HTML report.
Example with trending and alerts:
netglance report --html --html-output report.html --include-trending --include-alerts
This adds two sections to the HTML: 1. Metric Trends — Charts showing how metrics (download speed, latency, uptime %) changed over 24 hours. 2. Recent Alerts — A table of the last 20 alerts, with timestamps, thresholds, and acknowledgment status.
Targeting specific modules¶
If a full report is slow or you only care about certain modules, use --modules:
# Only connectivity and DNS
netglance report --modules ping,dns
# Only security checks
netglance report --modules tls,http,vpn
This runs faster and produces a shorter report.
Output formats¶
Terminal (default)¶
Colored, richly formatted output with panels and icons:
netglance report
Markdown¶
Plain markdown, suitable for email, docs, or version control:
netglance report --output report.md
JSON¶
Machine-readable format for scripting or integration:
netglance report --json | jq '.checks[] | select(.status == "fail")'
HTML¶
Standalone HTML with inline styles for sharing:
netglance report --html --html-output report.html
Troubleshooting¶
Some modules show ERROR or SKIP¶
Why: Some checks require elevated privileges (root or sudo) or are not applicable on your platform.
- arp — Requires
sudoto read the ARP table. Run withsudo netglance reportif needed. - wifi — Skipped on non-macOS platforms; only macOS is supported.
- speed, uptime, vpn, dhcp, ipv6 — Skipped if no data exists in the database (e.g., no speed tests run yet).
Fix: Run the individual module to collect data first, then run the report again.
Report is slow¶
Why: Some checks are inherently slow:
- discover — Scans the network for devices (typically 1–2 seconds per /24 subnet).
- tls — Connects to multiple hosts and checks certificates (2–5 seconds).
- http — Makes HTTP requests to check for proxy headers.
Fix: Skip slow modules with --modules:
netglance report --modules ping,dns
Empty or partial report¶
Why: Network interface not detected, no WiFi connection, or no database initialized.
Fix:
1. Check network connectivity: netglance ping
2. Verify database: netglance speed --help (initialize the DB if needed).
3. Use --subnet to specify the correct subnet for discovery.
Related concepts¶
- Reading Reports — Deeper guidance on interpreting results and deciding what to fix.