- Snitch est un outil d’inspection des connexions réseau plus lisible pour les humains que
ss ou netstat, avec prise en charge d’une interface terminale (TUI) et de tableaux stylisés
- Il affiche l’état des connexions dans un écran interactif en temps réel ou sous forme de tableau affiché en une seule fois, avec divers filtres comme TCP/UDP, écoute, connecté
- Il inclut des fonctions de sortie JSON·CSV, résolution DNS/noms de services, surveillance et arrêt de processus, ainsi que mise à jour automatique
- Il prend en charge plusieurs méthodes d’installation, notamment Homebrew, Go, Nix, Arch Linux, script shell et binaire, avec suppression automatique de l’avertissement Gatekeeper sur macOS
- C’est un outil utile pour les développeurs et les administrateurs système afin de surveiller intuitivement les connexions réseau et de l’utiliser dans l’automatisation par script
Vue d’ensemble
- Snitch est un outil conçu pour explorer visuellement les connexions réseau, pensé comme une alternative à
ss ou netstat
- Il affiche l’état des connexions via une interface TUI ou une sortie tabulaire stylisée
- Il fonctionne sous Linux et macOS, et peut nécessiter des droits root ou la capacité CAP_NET_ADMIN
Installation
- Homebrew : installation possible avec la commande
brew install snitch
- Go :
go install github.com/karol-broda/snitch@latest
- Nix/NixOS :
nix-env -iA nixpkgs.snitch ou ajout possible comme entrée flake
- Arch Linux (AUR) :
yay -S snitch-bin ou paru -S snitch-bin
- Script shell : installation avec la commande
curl -sSL ... | sh, chemin par défaut ~/.local/bin ou /usr/local/bin
- Sur macOS, le script d’installation supprime automatiquement l’attribut de quarantaine
- Téléchargement du binaire : versions Linux (.tar.gz, .deb, .rpm, .apk) et macOS (.tar.gz) disponibles via GitHub Releases
Démarrage rapide
- L’exécution de
snitch lance le TUI interactif
snitch -l affiche uniquement les sockets en écoute, et snitch ls affiche un tableau puis quitte
snitch ls -t -e affiche uniquement les sessions TCP connectées, et snitch ls -p produit une sortie simple et analysable
Commandes principales
snitch / snitch top : affiche une liste de connexions mise à jour en temps réel
- Options :
-l (écoute), -t (TCP), -e (connecté), -i (intervalle de rafraîchissement)
- Raccourcis clavier : déplacement
j/k, bascule TCP·UDP avec t/u, arrêt d’un processus avec K, recherche avec /, quitter avec q, etc.
snitch ls : affiche un tableau en une seule fois, avec utilisation automatique d’un pager si la sortie dépasse la hauteur du terminal
- Formats de sortie : tableau par défaut,
-o json, -o csv, -p (simple), --no-headers (sans en-têtes)
snitch json : sortie au format JSON exploitable dans des scripts
snitch watch : diffuse des frames JSON à intervalles réguliers
snitch upgrade : vérifie la version et effectue une mise à jour automatique
Options de filtre et de résolution
- Drapeaux communs :
-t (TCP), -u (UDP), -l (écoute), -e (connecté), -4 (IPv4), -6 (IPv6)
- Résolution DNS et noms de services :
- Prise en charge des options
--resolve-addrs, --resolve-ports, --no-cache
- Effectue des requêtes DNS en parallèle avec mise en cache, désactivable via
--no-cache
- Filtrage détaillé : spécification du nom de processus, port, état, etc. au format
key=value
- Exemple :
snitch ls proto=tcp state=listen, snitch ls proc=nginx
Formats de sortie
- Sortie tabulaire par défaut : nom du processus, PID, protocole, état, adresse locale et port
- Sortie simple (-p) : texte facile à parser
- Sortie JSON/CSV : utile pour l’automatisation par script et l’analyse de journaux
Configuration et variables d’environnement
- Fichier de configuration :
~/.config/snitch/snitch.toml
- Réglages possibles :
numeric, dns_cache, theme (auto/dark/light/mono)
- Variables d’environnement :
- Prise en charge de
SNITCH_THEME, SNITCH_RESOLVE, SNITCH_DNS_CACHE, SNITCH_NO_COLOR, SNITCH_CONFIG, etc.
Exigences système
- Nécessite un environnement Linux ou macOS
- Linux : lecture des données depuis
/proc/net/*, avec droits root ou CAP_NET_ADMIN requis pour les informations complètes sur les processus
- macOS : utilisation des API système, avec
sudo requis pour les informations complètes sur les processus
Aucun commentaire pour le moment.