• Snitch मौजूदा ss या netstat की तुलना में इंसानों के लिए अधिक पढ़ने योग्य नेटवर्क कनेक्शन निरीक्षण टूल है, जो टर्मिनल UI (TUI) और स्टाइल की गई टेबल फ़ॉर्मैट को सपोर्ट करता है
  • यह कनेक्शन स्थिति को रियल-टाइम इंटरैक्टिव स्क्रीन या एकबारगी आउटपुट होने वाले टेबल फ़ॉर्मैट में दिखाता है, और TCP/UDP, listening, connected state जैसी कई फ़िल्टरिंग देता है
  • इसमें JSON·CSV आउटपुट, DNS/सेवा-नाम resolution, process monitoring और termination, तथा auto update जैसी सुविधाएँ शामिल हैं
  • यह Homebrew, Go, Nix, Arch Linux, Shell Script, Binary सहित कई installation methods को सपोर्ट करता है, और macOS में Gatekeeper warning को अपने-आप हटाने की सुविधा भी शामिल है
  • यह developers और system administrators के लिए नेटवर्क कनेक्शनों को सहज रूप से मॉनिटर करने और script automation में उपयोग करने के लिए एक उपयोगी टूल है

अवलोकन

  • Snitch एक ऐसा टूल है जो नेटवर्क कनेक्शनों को विज़ुअली एक्सप्लोर करने देता है, और इसे ss या netstat के विकल्प के रूप में डिज़ाइन किया गया है
  • यह TUI इंटरफ़ेस या स्टाइल की गई टेबल आउटपुट के माध्यम से कनेक्शन स्थिति दिखाता है
  • यह Linux और macOS पर चलता है, और root privileges या CAP_NET_ADMIN permission की आवश्यकता हो सकती है

इंस्टॉलेशन के तरीके

  • Homebrew: brew install snitch कमांड से इंस्टॉल किया जा सकता है
  • Go: go install github.com/karol-broda/snitch@latest
  • Nix/NixOS: nix-env -iA nixpkgs.snitch या flake input के रूप में जोड़ा जा सकता है
  • Arch Linux (AUR) : yay -S snitch-bin या paru -S snitch-bin
  • Shell Script: curl -sSL ... | sh कमांड से इंस्टॉल करें, डिफ़ॉल्ट path ~/.local/bin या /usr/local/bin है
    • macOS में install script अपने-आप quarantine attribute हटाती है
  • Binary डाउनलोड: GitHub Releases पर Linux (.tar.gz, .deb, .rpm, .apk) और macOS (.tar.gz) versions उपलब्ध हैं

त्वरित शुरुआत

  • snitch चलाने पर इंटरैक्टिव TUI शुरू होता है
  • snitch -l सिर्फ listening sockets दिखाता है, और snitch ls टेबल फ़ॉर्मैट में आउटपुट देकर बंद हो जाता है
  • snitch ls -t -e सिर्फ connected TCP sessions दिखाता है, और snitch ls -p parseable simple output देता है

मुख्य कमांड

  • snitch / snitch top : रियल-टाइम में अपडेट होने वाली कनेक्शन सूची दिखाता है
    • विकल्प: -l(listening), -t(TCP), -e(connected), -i(refresh interval)
    • key bindings: j/k move, t/u TCP·UDP switch, K process terminate, / search, q quit आदि
  • snitch ls : एकबारगी टेबल आउटपुट, और अगर आउटपुट terminal height से बड़ा हो तो अपने-आप pager का उपयोग करता है
    • आउटपुट फ़ॉर्मैट: डिफ़ॉल्ट table, -o json, -o csv, -p(simple), --no-headers(headers हटाएँ)
  • snitch json : JSON फ़ॉर्मैट आउटपुट, जिससे scripts में उपयोग किया जा सकता है
  • snitch watch : निश्चित अंतराल पर JSON frames stream करता है
  • snitch upgrade : version check और auto update

फ़िल्टर और resolution विकल्प

  • सामान्य flags: -t(TCP), -u(UDP), -l(listening), -e(connected), -4(IPv4), -6(IPv6)
  • DNS और service-name resolution:
    • --resolve-addrs, --resolve-ports, --no-cache विकल्प उपलब्ध हैं
    • parallel DNS lookups और caching की जाती है, और --no-cache से cache को disable किया जा सकता है
  • विस्तृत फ़िल्टरिंग: process name, port, state आदि को key=value फ़ॉर्मैट में निर्दिष्ट किया जा सकता है
    • उदाहरण: snitch ls proto=tcp state=listen, snitch ls proc=nginx

आउटपुट फ़ॉर्मैट

  • डिफ़ॉल्ट टेबल आउटपुट: process name, PID, protocol, state, local address·port दिखाता है
  • simple output (-p) : parseable text फ़ॉर्म
  • JSON/CSV आउटपुट: script automation और log analysis में उपयोगी

कॉन्फ़िगरेशन और environment variables

  • कॉन्फ़िगरेशन फ़ाइल: ~/.config/snitch/snitch.toml
    • numeric, dns_cache, theme(auto/dark/light/mono) सेट किए जा सकते हैं
  • environment variables:
    • SNITCH_THEME, SNITCH_RESOLVE, SNITCH_DNS_CACHE, SNITCH_NO_COLOR, SNITCH_CONFIG आदि समर्थित हैं

सिस्टम आवश्यकताएँ

  • Linux या macOS environment आवश्यक है
  • Linux: /proc/net/* से डेटा पढ़ता है, और पूरी process information के लिए root या CAP_NET_ADMIN permission चाहिए
  • macOS: system API का उपयोग करता है, और पूरी process information के लिए sudo चाहिए

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.