7 Punkte von GN⁺ 2025-12-25 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Snitch ist ein besser lesbares Werkzeug zur Inspektion von Netzwerkverbindungen als ss oder netstat und unterstützt eine Terminal-UI (TUI) sowie formatierte Tabellen
  • Es zeigt Verbindungszustände entweder in einer interaktiven Echtzeitansicht oder als einmalig ausgegebene Tabelle an und bietet verschiedene Filter wie TCP/UDP, Listening und Established
  • Enthalten sind JSON- und CSV-Ausgabe, Auflösung von DNS- und Dienstnamen, Prozessüberwachung und -beendigung sowie automatische Updates
  • Unterstützt werden mehrere Installationsmethoden wie Homebrew, Go, Nix, Arch Linux, Shell-Script und Binarys, einschließlich der automatischen Entfernung von Gatekeeper-Warnungen unter macOS
  • Ein nützliches Tool für Entwickler und Systemadministratoren, um Netzwerkverbindungen intuitiv zu überwachen und in Skript-Automatisierung einzubinden

Überblick

  • Snitch ist ein Tool zum visuellen Erkunden von Netzwerkverbindungen, entwickelt als Alternative zu ss oder netstat
  • Es zeigt den Verbindungsstatus über eine TUI-Oberfläche oder eine formatierte Tabellenausgabe an
  • Es läuft unter Linux und macOS; dabei können Root-Rechte oder die Berechtigung CAP_NET_ADMIN erforderlich sein

Installation

  • Homebrew: Installation mit dem Befehl brew install snitch
  • Go: go install github.com/karol-broda/snitch@latest
  • Nix/NixOS: nix-env -iA nixpkgs.snitch oder über einen Flake-Input hinzufügen
  • Arch Linux (AUR): yay -S snitch-bin oder paru -S snitch-bin
  • Shell-Script: Installation mit curl -sSL ... | sh, Standardpfad ist ~/.local/bin oder /usr/local/bin
    • Unter macOS entfernt das Installationsskript automatisch das Quarantine-Attribut
  • Binary-Download: Auf GitHub Releases sind Versionen für Linux (.tar.gz, .deb, .rpm, .apk) und macOS (.tar.gz) verfügbar

Schnellstart

  • Beim Ausführen von snitch startet die interaktive TUI
  • snitch -l zeigt nur Listening-Sockets, snitch ls gibt eine Tabelle aus und beendet sich dann
  • snitch ls -t -e zeigt nur aufgebaute TCP-Sitzungen, snitch ls -p erzeugt eine einfach parsebare Ausgabe

Wichtige Befehle

  • snitch / snitch top: Zeigt eine in Echtzeit aktualisierte Verbindungsliste
    • Optionen: -l (Listening), -t (TCP), -e (Established), -i (Aktualisierungsintervall)
    • Tastenkürzel: j/k bewegen, t/u TCP·UDP umschalten, K Prozess beenden, / suchen, q beenden usw.
  • snitch ls: Gibt eine Tabelle auf einmal aus; bei Überschreitung der Terminalhöhe wird automatisch ein Pager verwendet
    • Ausgabeformate: Standardtabelle, -o json, -o csv, -p (einfach), --no-headers (ohne Header)
  • snitch json: Gibt JSON aus und eignet sich für Skripte
  • snitch watch: Streamt JSON-Frames in festgelegten Intervallen
  • snitch upgrade: Prüft die Version und führt ein automatisches Update durch

Filter- und Auflösungsoptionen

  • Gemeinsame Flags: -t (TCP), -u (UDP), -l (Listening), -e (Established), -4 (IPv4), -6 (IPv6)
  • DNS- und Dienstnamenauflösung:
    • Unterstützt die Optionen --resolve-addrs, --resolve-ports, --no-cache
    • Führt parallele DNS-Abfragen mit Caching aus; mit --no-cache lässt sich der Cache deaktivieren
  • Detaillierte Filterung: Prozessname, Port, Status usw. können im Format key=value angegeben werden
    • Beispiele: snitch ls proto=tcp state=listen, snitch ls proc=nginx

Ausgabeformate

  • Standard-Tabellenausgabe: Zeigt Prozessname, PID, Protokoll, Status sowie lokale Adresse und Port
  • Einfache Ausgabe (-p): Parsebares Textformat
  • JSON/CSV-Ausgabe: Für Skript-Automatisierung und Log-Analyse geeignet

Konfiguration und Umgebungsvariablen

  • Konfigurationsdatei: ~/.config/snitch/snitch.toml
    • Einstellbar sind numeric, dns_cache, theme (auto/dark/light/mono)
  • Umgebungsvariablen:
    • Unterstützt werden unter anderem SNITCH_THEME, SNITCH_RESOLVE, SNITCH_DNS_CACHE, SNITCH_NO_COLOR, SNITCH_CONFIG

Systemanforderungen

  • Erfordert Linux oder macOS
  • Linux: Liest Daten aus /proc/net/*; für vollständige Prozessinformationen sind Root-Rechte oder CAP_NET_ADMIN erforderlich
  • macOS: Verwendet System-APIs; für vollständige Prozessinformationen ist sudo erforderlich

Noch keine Kommentare.

Noch keine Kommentare.