- 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
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 installile kurulabiliyor ve Linux ile macOS’u destekliyorAğımda sonuçlar şöyleydi:
“nmap’i hatırlamayanlar onu beceriksizce yeniden yapmaya mahkûmdur” diye meşhur bir söz vardır
Root yetkisi olmadan
/24taramasını 10 saniyenin altında tamamlayan bir komut örneği paylaşılmışAyrıntılar için nmap resmi belgelerine bakılabilir
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ç.
-iseç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
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ş
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
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ı