15 poin oleh GN⁺ 2026-01-25 | 1 komentar | Bagikan ke WhatsApp
  • Whosthere adalah alat eksplorasi jaringan lokal yang ditulis dengan bahasa Go, menyediakan terminal user interface (TUI) yang intuitif
    • Dapat menemukan dan menjelajahi perangkat di dalam LAN, serta membantu memahami struktur jaringan
  • Mendukung Linux, macOS, dan Windows
  • Mengidentifikasi perangkat dengan mengisi ARP cache melalui pemindai mDNS dan SSDP, serta percobaan koneksi TCP/UDP
    • Bahkan tanpa hak akses administrator, daftar perangkat tetap dapat dikumpulkan dengan memanfaatkan ARP cache
  • Untuk perangkat yang ditemukan, informasi vendor ditampilkan melalui lookup OUI (Organizationally Unique Identifier)
  • Lisensi Apache-2.0

Fitur utama

  • Modern TUI: Menyediakan antarmuka untuk menjelajahi perangkat yang ditemukan secara intuitif
  • Fast & Concurrent: Memberikan hasil cepat dengan menjalankan beberapa metode eksplorasi secara bersamaan
  • No Elevated Privileges Required: Dapat dijalankan hanya dengan hak akses pengguna biasa
  • Device Enrichment: Menampilkan informasi vendor melalui lookup OUI
  • Integrated Port Scanner: Termasuk fitur pemindaian port untuk host yang ditemukan (disarankan hanya memindai perangkat yang diizinkan)
  • Daemon Mode with HTTP API: Dapat berjalan di latar belakang dan terintegrasi dengan alat eksternal
  • Theming & Configuration: Kustomisasi tema dan perilaku melalui file konfigurasi YAML

Cara penggunaan

  • Menjalankan TUI: whosthere
  • Menjalankan mode daemon HTTP API: whosthere daemon --port 8080
    • GET /devices: Mengembalikan daftar semua perangkat yang ditemukan
    • GET /device/{ip}: Mengembalikan detail perangkat tertentu
    • GET /health: Pemeriksaan status

1 komentar

 
GN⁺ 2026-01-25
Komentar Hacker News
  • Saya membuat alat TUI discovery LAN yang ditulis dengan Go. Namanya Whosthere, dan dirancang agar bisa menelusuri perangkat di jaringan lokal tanpa hak akses administrator
    Alat ini menemukan perangkat dengan menggabungkan mDNS, SSDP, cache ARP, pencarian OUI, dan lainnya, serta mendukung UI cepat berbasis tview yang berfokus pada keyboard, pemindai port bawaan, mode daemon HTTP API, dan file konfigurasi YAML
    Ini adalah proyek yang saya buat sambil belajar Go dan networking secara bersamaan, terinspirasi dari aplikasi TUI seperti lazygit, k9s, dan dive
    Bisa diinstal lewat Homebrew atau go install, serta mendukung Linux dan macOS

    • Alat yang sangat keren :-) Akan bagus jika ada fitur reverse lookup untuk IP. Di LAN saya, perangkat tanpa nama biasanya kemungkinan besar adalah penyusup
    • Saya memang mencari yang seperti ini! Saya membandingkannya dengan pemindai lain, dan Advanced IP Scanner masih yang terbaik untuk deteksi hostname.
      Hasil di jaringan saya sebagai berikut:
      • Advanced IP Scanner: 80 nama terdeteksi dari 309
      • Angry IP Scanner: 75 nama terdeteksi dari 315
      • whosthere: 54 nama terdeteksi dari 318
    • Saya memasangnya di Raspbian dan bekerja dengan sangat baik. Jauh lebih bagus daripada kode darurat yang saya buat kemarin. Jika ada fitur untuk mencatat ke log perangkat yang baru muncul, sepertinya ini juga bisa dipakai sebagai IDS sederhana
    • Keren! Beberapa hari lalu saya juga memikirkan ide serupa, jadi senang melihatnya terwujud seperti ini. Di jaringan saya juga berjalan dengan baik
    • Ini TUI, jadi saya penasaran kenapa ada dependensi X11. Saya kira akan berbasis ncurses
  • Ada kutipan terkenal: “Siapa pun yang tidak mengingat nmap akan ditakdirkan untuk membuat ulang versi buruknya”
    Dibagikan contoh perintah yang bisa menyelesaikan pemindaian /24 dalam waktu kurang dari 10 detik tanpa hak akses root
    Lihat dokumentasi resmi nmap

    • Saya juga sering memakai nmap, tetapi alat ini tampaknya punya tujuan berbeda atau fitur tambahan dibanding nmap. Saya penasaran kenapa ini dianggap contoh dari ‘tidak mengingat’ nmap
    • LLDP dan CDP sepertinya juga ingin ikut masuk dalam pembicaraan ini
  • Lima tahun lalu saya juga membuat alat CLI serupa dengan ide yang sama, dan namanya bahkan sama, yaitu versi bahasa Polandia dari “whosthere”, ktotu
    Tautan proyek ktotu
    Versi ini jauh lebih matang, dan memilih Go juga keputusan yang bagus. Saya penasaran apakah idenya dibuat dengan AI

  • Secara keseluruhan alat ini dibuat dengan baik. Akan bagus jika ada opsi -i untuk menentukan interface yang akan dipindai.
    Di laptop saya, hanya pemindaian pertama yang berjalan benar, setelah itu tidak terlihat lagi permintaan ARP

    • Betul. Untuk mengurangi beban jaringan, pemindaian awal memiliki batasan berikut:
      1. hanya memindai subnet dari interface yang ditentukan
      2. hanya mengizinkan hingga maksimum /16
      3. hanya berjalan sekali setiap 5 menit (saat ini di-hardcode)
        Pengaturan interface bisa dilakukan di file YAML, dan ke depannya akan dibuat bisa diatur juga lewat flag command line
  • Akan lebih lucu kalau namanya “whogoesthere

    • Menurut saya “whodat” lebih pas
  • Saya penasaran apakah pustaka standar Go memang sangat bagus untuk fitur terkait TUI. Rasanya semua TUI baru belakangan ini ditulis dengan Go

    • Go punya kompilasi dan eksekusi yang cepat, dan tidak punya kendala build yang rumit seperti Rust
    • Di pustaka standar hampir tidak ada fitur TUI, tetapi rivo/tview sangat solid
    • Memang tidak ada di standar, tetapi banyak TUI Go populer dibuat di atas Bubble Tea. Proyek ini memakai tview
  • Akan lebih jenaka kalau namanya “Whose LAN is it anyway?

  • Kemampuan teknis yang luar biasa. Sekarang sepertinya Anda benar-benar mulai menapaki jalan seorang engineer
    Memang Anda tidak bisa melihat traffic jaringan secara langsung, tetapi saya sering melihat orang mencoba mendiagnosis masalah tanpa alat seperti ini
    Pada praktiknya, alat seperti nmap, wireshark, LLDP, CDP itu esensial, dan untuk jaringan skala besar saya merekomendasikan Netdisco

  • Menarik melihat bagaimana “TUI modern” sekarang pada akhirnya seperti menghidupkan kembali nuansa retro era Turbo Vision, Clipper, dan curses

  • Saya penasaran apakah ini sudah diuji di Tailscale. Ini bisa sangat berguna, tetapi Tailscale masih belum mendukung mDNS
    Tautan isu terkait