- Snitch adalah alat pemeriksa koneksi jaringan yang lebih mudah dibaca manusia dibanding
ss atau netstat, dengan dukungan UI terminal (TUI) dan format tabel bergaya
- Menampilkan status koneksi dalam layar interaktif real-time atau format tabel sekali tampil, serta menyediakan berbagai filter seperti TCP/UDP, listening, connected
- Mencakup fitur output JSON·CSV, resolusi DNS/nama layanan, pemantauan dan penghentian proses, serta pembaruan otomatis
- Mendukung berbagai metode instalasi seperti Homebrew, Go, Nix, Arch Linux, Shell Script, Binary, termasuk fitur penghapusan otomatis peringatan Gatekeeper di macOS
- Alat yang berguna bagi developer dan administrator sistem untuk memantau koneksi jaringan secara intuitif dan memanfaatkannya dalam otomasi skrip
Ikhtisar
- Snitch adalah alat untuk menjelajahi koneksi jaringan secara visual, dirancang sebagai pengganti
ss atau netstat
- Menampilkan status koneksi melalui antarmuka TUI atau output tabel bergaya
- Berjalan di Linux dan macOS, dan mungkin memerlukan hak root atau izin CAP_NET_ADMIN
Cara instalasi
- Homebrew: dapat diinstal dengan perintah
brew install snitch
- Go:
go install github.com/karol-broda/snitch@latest
- Nix/NixOS:
nix-env -iA nixpkgs.snitch atau bisa ditambahkan sebagai input flake
- Arch Linux (AUR) :
yay -S snitch-bin atau paru -S snitch-bin
- Shell Script: instalasi dengan perintah
curl -sSL ... | sh, dengan jalur default ~/.local/bin atau /usr/local/bin
- Di macOS, skrip instalasi secara otomatis menghapus atribut quarantine
- Unduh Binary: tersedia di GitHub Releases untuk Linux(.tar.gz, .deb, .rpm, .apk) dan macOS(.tar.gz)
Mulai cepat
- Menjalankan
snitch akan membuka TUI interaktif
snitch -l menampilkan hanya socket listening, snitch ls menampilkan format tabel lalu keluar
snitch ls -t -e menampilkan hanya sesi TCP yang connected, snitch ls -p menampilkan output sederhana yang mudah diparse
Perintah utama
snitch / snitch top : menampilkan daftar koneksi yang diperbarui secara real-time
- Opsi:
-l(listening), -t(TCP), -e(connected), -i(interval pembaruan)
- Key binding: pindah
j/k, beralih TCP·UDP t/u, hentikan proses K, cari /, keluar q, dll.
snitch ls : menampilkan tabel sekali saja, dan otomatis memakai pager jika melebihi tinggi terminal
- Format output: tabel default,
-o json, -o csv, -p(sederhana), --no-headers(tanpa header)
snitch json : output format JSON untuk digunakan dalam skrip
snitch watch : streaming frame JSON pada interval tertentu
snitch upgrade : cek versi dan pembaruan otomatis
Opsi filter dan resolusi
- Flag umum:
-t(TCP), -u(UDP), -l(listening), -e(connected), -4(IPv4), -6(IPv6)
- Resolusi DNS dan nama layanan:
- Mendukung opsi
--resolve-addrs, --resolve-ports, --no-cache
- Melakukan lookup DNS paralel dan caching, dan cache bisa dinonaktifkan dengan
--no-cache
- Pemfilteran detail: tentukan nama proses, port, status, dll. dalam format
key=value
- Contoh:
snitch ls proto=tcp state=listen, snitch ls proc=nginx
Format output
- Output tabel default: menampilkan nama proses, PID, protokol, status, alamat lokal·port
- Output sederhana (-p) : bentuk teks yang mudah diparse
- Output JSON/CSV: dapat digunakan untuk otomasi skrip dan analisis log
Konfigurasi dan variabel lingkungan
- File konfigurasi:
~/.config/snitch/snitch.toml
- Mendukung pengaturan
numeric, dns_cache, theme(auto/dark/light/mono)
- Variabel lingkungan:
- Mendukung
SNITCH_THEME, SNITCH_RESOLVE, SNITCH_DNS_CACHE, SNITCH_NO_COLOR, SNITCH_CONFIG, dll.
Kebutuhan sistem
- Memerlukan lingkungan Linux atau macOS
- Linux: membaca data dari
/proc/net/*, dan untuk informasi proses lengkap memerlukan root atau izin CAP_NET_ADMIN
- macOS: menggunakan API sistem, dan memerlukan
sudo untuk informasi proses lengkap
Belum ada komentar.