15 puan yazan GN⁺ 2026-01-25 | 1 yorum | WhatsApp'ta paylaş
  • Whosthere, Go diliyle yazılmış, sezgisel bir terminal kullanıcı arayüzü (TUI) sunan bir yerel ağ keşif aracıdır
    • LAN içindeki cihazları bulup gezebilir ve ağ yapısını anlayabilirsiniz
  • Linux, macOS, Windows desteği
  • mDNS ve SSDP tarayıcıları ile TCP/UDP bağlantı denemeleri kullanarak ARP önbelleğini doldurur ve cihazları tanımlar
    • Yönetici ayrıcalıkları olmadan da ARP önbelleğini kullanarak cihaz listesini toplayabilir
  • Bulunan cihazlarda OUI (Organizationally Unique Identifier) sorgulamasıyla üretici bilgisi gösterilir
  • Apache-2.0 License

Başlıca özellikler

  • Modern TUI: Keşfedilen cihazları sezgisel biçimde gezebileceğiniz bir arayüz sunar
  • Fast & Concurrent: Birden fazla keşif yöntemini aynı anda çalıştırarak hızlı sonuç verir
  • No Elevated Privileges Required: Yalnızca kullanıcı yetkileriyle çalıştırılabilir
  • Device Enrichment: OUI sorgulamasıyla üretici bilgisi gösterir
  • Integrated Port Scanner: Bulunan ana bilgisayarlar için port tarama özelliği içerir (yalnızca izinli cihazların taranması önerilir)
  • Daemon Mode with HTTP API: Arka planda çalıştırma ve harici araçlarla entegrasyon imkânı sunar
  • Theming & Configuration: YAML yapılandırma dosyasıyla tema ve çalışma biçimi özelleştirilebilir

Kullanım

  • TUI çalıştırma: whosthere
  • HTTP API daemon modunda çalıştırma: whosthere daemon --port 8080
    • GET /devices: Bulunan tüm cihazların listesini döndürür
    • GET /device/{ip}: Belirli bir cihazın ayrıntılarını döndürür
    • GET /health: Durum kontrolü

1 yorum

 
GN⁺ 2026-01-25
Hacker News yorumları
  • Go ile yazılmış bir LAN keşif TUI aracı yapılmış. Adı Whosthere ve yönetici yetkisi olmadan yerel ağdaki cihazları keşfetmek için tasarlanmış
    Cihazları bulmak için mDNS, SSDP, ARP önbelleği, OUI sorgulaması gibi yöntemleri birleştiriyor; tview tabanlı hızlı klavye odaklı bir arayüz, yerleşik port tarayıcı, HTTP API daemon modu ve YAML yapılandırma dosyası desteği sunuyor
    Hem Go’yu hem de ağ programlamayı aynı anda öğrenmek için yapılmış bir proje; lazygit, k9s, dive gibi TUI uygulamalarından ilham alınmış
    Homebrew veya go install ile kurulabiliyor ve Linux ile macOS’u destekliyor

    • Çok hoş bir araç :-) IP için reverse lookup özelliği olsa iyi olurdu. Benim LAN’ımda adı olmayan cihazlar çoğunlukla davetsiz misafir olma ihtimali taşır
    • Tam da böyle bir şey arıyordum! Diğer tarayıcılarla karşılaştırdım ve Advanced IP Scanner hâlâ hostname tespiti konusunda en iyisiydi.
      Ağımda sonuçlar şöyleydi:
      • Advanced IP Scanner: 309 cihazdan 80’inin adı bulundu
      • Angry IP Scanner: 315 cihazdan 75’inin adı bulundu
      • whosthere: 318 cihazdan 54’ünün adı bulundu
    • Raspbian’a kurdum ve çok iyi çalıştı. Dün aceleyle yazdığım koddan çok daha iyi. Yeni görünen cihazları loglama özelliği olsa basit bir IDS olarak da kullanılabilir gibi görünüyor
    • Harika! Birkaç gün önce ben de benzer bir fikir düşünmüştüm; bunun ortaya çıkmış olmasına sevindim. Benim ağımda da iyi çalışıyor
    • TUI ise neden X11 bağımlılığı var, merak ettim. ncurses tabanlıdır diye düşünmüştüm
  • “nmap’i hatırlamayanlar onu beceriksizce yeniden yapmaya mahkûmdur” diye meşhur bir söz vardır
    Root yetkisi olmadan /24 taramasını 10 saniyenin altında tamamlayan bir komut örneği paylaşılmış
    Ayrıntılar için nmap resmi belgelerine bakılabilir

    • Ben de nmap’i sık kullanıyorum ama bu araç nmap’ten farklı bir amaca ya da ek özelliklere sahip gibi görünüyor. Neden bunu nmap’i “hatırlayamamanın” bir örneği olarak gördüğünü merak ediyorum
    • LLDP ile CDP de sohbete katılmak ister gibi duruyor
  • 5 yıl önce ben de aynı fikirle benzer bir CLI aracı yapmıştım; adı da yine “whosthere”ın Lehçe karşılığı olan ktotu idi
    ktotu proje bağlantısı
    Bu sürüm çok daha derli toplu görünüyor ve Go seçimi de iyi bir kararmış. Fikri AI ile üretip üretmediğini merak ettim

  • Genel olarak iyi yapılmış bir araç. -i seçeneğiyle taranacak arayüzü belirtmek mümkün olsa iyi olurdu.
    Benim dizüstünde sadece ilk tarama düzgün çalıştı, sonrasında ARP istekleri görünmedi

    • Doğru. Ağ yükünü azaltmak için ilk taramada şu kısıtlar var:
      1. Yalnızca belirtilen arayüzün alt ağı taranıyor
      2. En fazla /16’ya izin veriliyor
      3. Yalnızca 5 dakikada bir çalışıyor (şu anda hardcode edilmiş durumda)
        Arayüz ayarı YAML dosyasında yapılabiliyor; ileride bunu komut satırı bayrağı olarak da ayarlanabilir hâle getirmeyi planlıyorum
  • Adı “whogoesthere” olsaydı daha eğlenceli olurmuş

    • Bana göre “whodat” daha çok yakışırdı
  • Go standart kütüphanesinde TUI ile ilgili özelliklerin özellikle güçlü olup olmadığını merak ediyorum. Son zamanlarda yeni TUI’lerin hepsi Go ile yazılıyor gibi geliyor

    • Go’da derleme ve çalıştırma hızlı, ayrıca Rust’taki gibi karmaşık build kısıtları yok
    • Standart kütüphanede TUI ile ilgili neredeyse hiçbir şey yok ama rivo/tview oldukça sağlam
    • Standartta yok ama popüler Go TUI’lerinin çoğu Bubble Tea tabanlı yapılıyor. Bu proje ise tview kullanıyor
  • Adı “Whose LAN is it anyway?” olsaydı daha esprili olabilirdi

  • Mühendislik açısından etkileyici. Artık gerçekten mühendislik yoluna girmiş gibisin
    Ağ trafiğini doğrudan göremese de, insanlar çoğu zaman böyle araçlar olmadan sorun teşhis etmeye çalışıyor
    Aslında nmap, wireshark, LLDP, CDP gibi araçlar vazgeçilmez; büyük ağlar için ise Netdisco önerilir

  • Günümüzdeki “modern TUI”lerin aslında sonunda Turbo Vision, Clipper, curses döneminin nostaljisini yeniden üretiyor olması ilginç

  • Bunu Tailscale üzerinde test edip etmediğini merak ediyorum. Çok faydalı olabilir ama Tailscale henüz mDNS desteklemiyor
    ilgili issue bağlantısı