Retour aux mises à jour
New releaseJul 26, 2026

netwatch v0.27.0

Diagnostics réseau en temps réel dans votre terminal. Une commande, zéro configuration, visibilité instantanée.

Partager

NetWatch

Un moniteur réseau pour le terminal qui aide à identifier le processus derrière les connexions, déchiffre le TLS dont vous détenez les clés, et vous indique ce qui ne va pas et comment le corriger.

crates.io downloads Release Packaging status Platform License

Terminal Trove Tool of The Week

Vue dense de NetWatch : un graphique de débit en braille en miroir avec le téléchargement au-dessus de l'axe et l'envoi en dessous, des débits par interface avec sparklines, des budgets de latence à quatre sauts, et une table de connexions avec l'état TCP noyau du socket sélectionné

netwatch --view dense. Quatre boîtes, sans fioritures, chaque raccourci clavier sur une bordure. Le téléchargement croît vers le haut depuis l'axe, l'envoi croît vers le bas.

Un seul binaire, aucune configuration. sudo netwatch et vous disposez d'une capture en direct avec décodage L7, attribution des processus lorsque disponible, et un moteur de diagnostic qui ouvre un problème lorsqu'une ligne de base apprise se rompt et le ferme lorsque le correctif tient.

Installation

brew install netwatch                 # macOS / Linux
nix-shell -p netwatch                 # NixOS / Nix
paru -S netwatch-tui-bin              # Arch
scoop install netwatch                # Windows (nécessite Npcap)
cargo install netwatch-tui            # partout avec Rust et les en-têtes libpcap

Des binaires précompilés sont disponibles sur la page des releases. Les binaires Linux x86_64/aarch64 sont statiques avec libpcap intégré, ils n'ont donc besoin de rien d'installé. Il existe aussi une compilation armv5te pour les anciens NAS Marvell Kirkwood (par ex. Iomega ix2-dl) sous Debian — libpcap est intégré de la même manière, mais elle est liée à glibc et libatomic, elle nécessite donc Debian 12 (bookworm) ou plus récent avec libatomic1 installé. Windows nécessite Npcap installé au préalable ; compiler depuis les sources nécessite libpcap-dev (Debian), libpcap-devel (Fedora) ou libpcap (Arch). Détails dans la référence d'installation.

Exécution

netwatch              # interfaces, connexions, configuration. Aucun privilège.
sudo netwatch         # active la capture là où un accès élevé est requis
netwatch --lite       # un écran 80x24
netwatch --view dense # quatre boîtes, 130x44 ou plus

1 à 9 et 0 changent d'onglet, V fait défiler les trois vues, ? affiche toutes les touches. Pour exécuter sans sudo sous Linux, accordez les capacités une fois : sudo setcap 'cap_net_raw,cap_bpf,cap_perfmon+eip' "$(which netwatch)" (pourquoi et quand le répéter).

Ce qu'il fait

Diagnostiquer (onglet 9). Des lignes de base par métrique, limitées au réseau qui les a apprises ; la disponibilité nécessite 1 800 échantillons distincts, donc le temps d'apprentissage dépend de la cadence des sondes. 25 règles cataloguées, avec 18 détecteurs Diagnose implémentés et sept en attente d'intégration. La couverture à l'exécution indique quelles entrées sont disponibles, en apprentissage, obsolètes ou non mesurées. Un graphe de suppression regroupe une passerelle morte et ses conséquences sous un seul constat. Chaque cause est classée selon les vérifications qui l'ont distinguée des autres. Les changements automatiques du résolveur TUI restent indisponibles ; Diagnose fournit des étapes manuelles. Une commande de résolveur Linux explicite prend en charge des modifications temporaires de fichiers réguliers non gérés confirmés par l'administrateur ; les résolveurs gérés restent non pris en charge. La démo simule encore l'application et la récupération vérifiée. Les journaux existants sont inspectés au démarrage, et les enregistrements de récupération illisibles ou corrompus bloquent toute modification ultérieure de l'hôte. Un problème ne se ferme que lorsque la propre condition de succès de la règle a tenu. Aucun modèle impliqué. Comment ça marche, la conception.

Un résolveur lent à 33 fois sa ligne de base, trois causes classées, un correctif lié à une touche, et le problème se fermant de lui-même une fois que dns.rtt_p50 est resté sous 5ms pendant 60 secondes

Déchiffrer le TLS que vous contrôlez. Pointez le SSLKEYLOGFILE de n'importe quel client vers NetWatch et le texte en clair de ses sessions TLS 1.3 est décodé dans l'onglet Packets. Même mécanisme que Wireshark, donc cela ne fonctionne que pour le trafic dont vous détenez les clés. Déchiffrement TLS.

sudo netwatch                                              # ouvrir Packets (4)
SSLKEYLOGFILE=/tmp/keys curl https://example.com           # tout client qui exporte les clés
# filtrer l'onglet avec :  decrypted:true

Dérive de sortie. L'onglet Egress (0) apprend quels hôtes, systèmes autonomes et ports chaque processus atteint. Enter promeut cette ligne de base en règle ; la prochaine nouvelle destination arrive en tant que drift avec une alerte. Il observe et ne bloque jamais. Les verdicts sont sni, ip, asn, ech, drift, no rule et undeclared sous strict = true, car « correspondance par AS » admet tout ce qu'un hyperscaler exploite et la table devrait le dire. Langage de règles et schéma d'export.

Attribution des processus. Interrogation des sockets de la plateforme, PKTAP sur macOS, et un kprobe eBPF optionnel sur Linux (fonctionnalité ebpf). L'attribution peut être manquante ou obsolète, en particulier pour les flux de courte durée ; Windows utilise ses propres outils réseau/processus. Permissions.

Catégories