← Kód máme venku

NetWatch

Diagnostika latence sítě a VPN na Windows: ukáže, jestli zpoždění vzniká na Wi-Fi, routeru, v internetu, nebo v tunelu. Bez instalace a bez práv správce.

Náhled NetWatch

Stížnost „VPN je pomalá“ zná každá firemní podpora. Příčina přitom může být na čtyřech místech: ve slabé Wi-Fi u zaměstnance doma, v přetíženém routeru, u poskytovatele internetu, nebo až v tunelu VPN a za ním. NetWatch měří všechny čtyři vrstvy najednou, průběžně a s časovými značkami, a ukáže, která z nich zpoždění nebo ztrátu paketů přidává. Je to konzolový program pro Windows, který se zkopíruje na postižený počítač a spustí pod běžným uživatelem.

Proč nestačí ping a speedtest v prohlížeči

Obvyklý postup podpory je poslat uživateli návod: spusť ping -t, pak tracert a nakonec změř rychlost na webu. Výsledkem jsou tři snímky obrazovky z různých chvil, ping bez časových značek a rychlostní test, který linku zahltí, takže ping v tu chvíli ukazuje ztráty, které by jinak nebyly. Problém, který přichází a odchází, se tak nezachytí vůbec.

NetWatch pouští všechna měření souběžně a zapisuje je do souborů po celou dobu běhu. Na rychlostní test myslí zvlášť: během něj pozastaví ping i traceroute (s krátkou rezervou na doznění) a zahlcení linky testem se tak nezapíše jako ztráta paketů ani jako vyšší odezva.

Co z toho má podpora i uživatel

Bez instalace a bez práv správce

Celý program je jeden soubor netwatch.exe o velikosti 233 KiB a krátký netwatch.exe.config. Běží na .NET Framework 4.8, který je součástí Windows 10 i 11, a nepoužívá žádné balíčky NuGet. Ping jde přes systémovou službu ICMP (System.Net.NetworkInformation.Ping), ne přes surové sockety, a proto ho smí spustit i uživatel na zamčeném firemním notebooku.

Všechny vrstvy sítě v jednom okně

  • aktivní adaptér, rychlost linky, přenos a chybové čítače, u Wi-Fi navíc název sítě, síla signálu v procentech i přibližně v dBm, vyjednaná rychlost, standard 802.11 a kanál,
  • ping na výchozí bránu, tedy router,
  • ping na veřejné adresy (výchozí jsou 1.1.1.1, 8.8.8.8 a google.com) a na první server DNS aktivního adaptéru,
  • ping na bránu tunelu VPN, na veřejný koncový bod VPN a na vnitřní servery za tunelem,
  • traceroute s překladem jmen každých pět minut, který ohlásí změnu cesty,
  • rychlost stahování a odesílání, odezva bez zátěže a kolísání.

U každého cíle program počítá poslední, průměrnou a nejvyšší odezvu, kolísání (jitter), 95. percentil, ztrátovost a počet výpadků. Odezvu bere z hodnoty, kterou hlásí systém, ne z měření času v programu.

VPN najde sám

Adaptér VPN rozpozná bez nastavování a bez ohledu na výrobce: WireGuard, OpenVPN, FortiClient, Cisco AnyConnect, GlobalProtect, Zscaler, Pulse Secure, SonicWall, Check Point, Sophos, NordLynx, Proton VPN, Mullvad, Tailscale, ZeroTier a adaptéry WAN Miniport nebo TAP. Když adaptér bránu tunelu neprozradí, například u WireGuardu s maskou /32, dohledá ji ve směrovací tabulce. VPN připojenou až po spuštění začne sledovat sama.

Rychlostní test, který přizná, odkud číslo je

Rychlost měří proti veřejným bodům Cloudflare přes HTTPS na portu 443 a respektuje systémovou i firemní proxy. Když měření selže, uvede konkrétní důvod (třeba HTTP 429 nebo vypršený čas), zkusí to znovu jedním spojením a potom přes nejbližší server Ookla Speedtest. U každého čísla píše, ze kterého zdroje pochází. Ve výchozím nastavení se test pouští při startu a pak každých 30 minut.

Data, která jde přiložit k požadavku

Do složky logs vedle programu se zapisuje čitelný protokol s pravidelnými souhrny a čtyři denní soubory CSV: ping, rychlost, traceroute a stav rozhraní. Každý záznam se ukládá hned, takže data přežijí i násilné ukončení. Přepínač -report z nich vytvoří stránku HTML s grafy za posledních 5 minut, hodinu nebo 24 hodin; jde ji přiblížit, stáhnout jako PNG nebo CSV a během měření se sama obnovuje každou minutu.

Jak se používá

Bez parametrů se otevře živý panel z karet: spojení a stav VPN, tabulka cílů s miniaturním grafem odezvy, rychlostní test s odpočtem do dalšího a poslední traceroute s událostmi. Řádky se barví podle stavu a panel se po změně velikosti okna překreslí. Kreslí se přes Console API, takže nezávisí na podpoře ANSI ani na jazyku systému. Ctrl+C měření ukončí a zapíše závěrečný souhrn.

  • -once udělá jedno kolo (rozhraní, čtyři pingy na cíl, jeden traceroute, jeden rychlostní test) a vypíše textovou zprávu,
  • -no-ui měří bez panelu, třeba při přesměrování výstupu,
  • -frame vypíše jeden snímek panelu a skončí,
  • -config a -logdir určí jiný konfigurační soubor nebo složku pro záznamy.

Cíle se nastavují v souboru netwatch.conf, který program s komentáři vytvoří při prvním spuštění. Pro firemní VPN se do něj doplní veřejná adresa koncového bodu (vpn_server) a vnitřní servery, ke kterým uživatel potřebuje (vpn_targets). Meze pro upozornění jsou ve výchozím stavu 40 % signálu Wi-Fi, 150 ms odezvy a 5 % ztrát; překročení se zapíše jako událost.

Typická nasazení

  • Zaměstnanec na home office si stěžuje na pomalou VPN. Podpora mu pošle netwatch.exe s vyplněným vpn_server, nechá ho běžet přes den a ze záznamů pozná, jestli ztráty začínají už na Wi-Fi, nebo až v tunelu.
  • Výpadky, které přicházejí jednou za hodinu: denní CSV ukážou přesný čas a vrstvu, takže jde doložit poskytovateli, že problém je na jeho straně.
  • Rychlá kontrola před eskalací: -once dá za minutu textovou zprávu, kterou jde vložit do požadavku.

Co program posílá ven

NetWatch nemá telemetrii ani účet. Ven posílá jen pingy a traceroute na nastavené cíle a rychlostní test na speed.cloudflare.com, při selhání na server Ookla vybraný přes speedtest.net. Rychlostní test jde v konfiguraci vypnout (speedtest_enabled). Záznamy zůstávají ve složce vedle programu a obsahují adresy, jména sítí Wi-Fi a cesty traceroute, proto stojí za to je před odesláním mimo firmu projít.

Stav projektu

NetWatch je hotový nástroj ve verzi 1.0.0. Od vydání se v repozitáři měnila jen dokumentace. README u požadavků zatím uvádí soubor kolem 100 kB, vydaný netwatch.exe má 233 KiB. Program je jen pro Windows 10 a 11. Rychlostní test potřebuje přístup ke Cloudflare nebo k serverům Ookla; kde je firewall zakáže, měří NetWatch dál jen odezvu a ztráty.

Ke stažení

Vydání 1.0.0 ze 7. června 2026 obsahuje netwatch.exe a netwatch.exe.config; oba soubory se zkopírují vedle sebe na postižený počítač. V Microsoft Storu program není. Ze zdrojů se sestaví příkazem dotnet build -c Release nebo skriptem build.ps1, který hotový soubor připraví do složky dist; potřeba je jen balíček pro cílení na .NET Framework 4.8.

Zdrojový kód

Kód je na GitHubu v repozitáři nks-hub/netwatch pod licencí MIT. Chyby se hlásí v GitHub Issues.

← Zpět na přehled