15 पॉइंट द्वारा GN⁺ 2026-01-25 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Whosthere Go भाषा में लिखा गया एक लोकल नेटवर्क एक्सप्लोरेशन टूल है, जो एक सहज टर्मिनल यूज़र इंटरफ़ेस (TUI) प्रदान करता है
    • LAN के भीतर डिवाइस खोजे और एक्सप्लोर किए जा सकते हैं, और नेटवर्क संरचना को समझा जा सकता है
  • Linux, macOS, Windows सपोर्ट
  • mDNS और SSDP स्कैनर, तथा TCP/UDP कनेक्शन प्रयासों के जरिए ARP cache भरकर डिवाइस की पहचान करता है
    • एडमिन अधिकारों के बिना भी ARP cache का उपयोग करके डिवाइस सूची एकत्र की जा सकती है
  • खोजे गए डिवाइसों के लिए OUI (Organizationally Unique Identifier) lookup के माध्यम से निर्माता जानकारी दिखाई जाती है
  • Apache-2.0 License

मुख्य फीचर्स

  • Modern TUI: खोजे गए डिवाइसों को सहज रूप से एक्सप्लोर करने के लिए इंटरफ़ेस प्रदान करता है
  • Fast & Concurrent: कई एक्सप्लोरेशन तरीकों को एक साथ चलाकर तेज़ परिणाम देता है
  • No Elevated Privileges Required: केवल यूज़र परमिशन के साथ चलाया जा सकता है
  • Device Enrichment: OUI lookup के जरिए निर्माता जानकारी दिखाता है
  • Integrated Port Scanner: खोजे गए hosts के लिए पोर्ट स्कैनिंग फीचर शामिल है (केवल अनुमति प्राप्त डिवाइसों को स्कैन करने की सिफारिश)
  • Daemon Mode with HTTP API: बैकग्राउंड में चलाने और बाहरी टूल्स के साथ इंटीग्रेशन की सुविधा
  • Theming & Configuration: YAML config फ़ाइल के माध्यम से थीम और व्यवहार को कस्टमाइज़ किया जा सकता है

उपयोग

  • TUI चलाएँ: whosthere
  • HTTP API daemon mode चलाएँ: whosthere daemon --port 8080
    • GET /devices: खोजे गए सभी डिवाइसों की सूची लौटाता है
    • GET /device/{ip}: किसी विशेष डिवाइस का विस्तृत विवरण लौटाता है
    • GET /health: स्टेटस जाँच

1 टिप्पणियां

 
GN⁺ 2026-01-25
Hacker News टिप्पणियाँ
  • मैंने Go में लिखा हुआ एक LAN discovery TUI tool बनाया है। इसका नाम Whosthere है, और इसे इस तरह डिज़ाइन किया गया है कि admin privileges के बिना local network के devices खोजे जा सकें
    यह mDNS, SSDP, ARP cache, OUI lookup आदि को मिलाकर devices ढूंढ़ता है, और tview-आधारित तेज keyboard-केंद्रित UI, built-in port scanner, HTTP API daemon mode, और YAML config file को support करता है
    यह Go और networking को एक साथ सीखने के लिए बनाया गया project है, और lazygit, k9s, dive जैसे TUI apps से प्रेरित है
    इसे Homebrew या go install से install किया जा सकता है, और यह Linux और macOS को support करता है

    • बहुत बढ़िया tool है :-) अगर इसमें IP का reverse lookup feature हो तो अच्छा होगा। मेरे LAN में जिन devices का नाम नहीं होता, वे ज़्यादातर intruders होने की संभावना रखते हैं
    • मैं इसी तरह की चीज़ ढूंढ़ रहा था! मैंने इसे दूसरे scanners से compare किया, और Advanced IP Scanner अभी भी hostname detection में सबसे बेहतर था।
      मेरे network के results ये रहे:
      • Advanced IP Scanner: 309 में से 80 नाम मिले
      • Angry IP Scanner: 315 में से 75 नाम मिले
      • whosthere: 318 में से 54 नाम मिले
    • मैंने इसे Raspbian पर install किया और यह बहुत अच्छी तरह काम कर रहा है। यह उस code से कहीं बेहतर है जो मैंने कल जल्दी में बनाया था। अगर नए दिखने वाले devices को log में record करने का feature हो, तो इसे एक simple IDS की तरह भी इस्तेमाल किया जा सकता है
    • बढ़िया! कुछ दिन पहले मेरे दिमाग में भी ऐसा ही idea आया था, इसलिए इसे इस रूप में देखकर अच्छा लगा। मेरे network पर भी यह अच्छी तरह काम करता है
    • यह TUI है, फिर इसमें X11 dependency क्यों है, यह जानने की उत्सुकता है। मुझे लगा था यह ncurses-based होगा
  • एक मशहूर कहावत है: “जो nmap को याद नहीं रखते, वे उसे खराब तरीके से फिर से बनाने के लिए अभिशप्त होते हैं”
    root privileges के बिना /24 scan को 10 सेकंड के अंदर पूरा करने वाली command का example साझा किया गया
    nmap आधिकारिक दस्तावेज़ देखें

    • मैं भी nmap अक्सर इस्तेमाल करता हूँ, लेकिन यह tool nmap से अलग उद्देश्य या कुछ अतिरिक्त features वाला लगता है। यह ‘nmap को याद न रखने’ का example क्यों है, यह जानने की उत्सुकता है
    • लगता है LLDP और CDP भी इस बातचीत में शामिल होना चाहेंगे
  • 5 साल पहले मैंने भी इसी idea से मिलता-जुलता CLI tool बनाया था, और उसका नाम भी लगभग वही था: “whosthere” का Polish version ktotu
    ktotu project link
    यह version उससे कहीं ज़्यादा polished है, और Go चुनना भी अच्छा फैसला था। जानना चाहूँगा कि क्या idea AI से generate किया गया था

  • कुल मिलाकर यह अच्छी तरह बना हुआ tool है। अगर -i option से scan करने के लिए interface specify किया जा सके तो अच्छा होगा।
    मेरे laptop पर सिर्फ पहला scan ठीक से हुआ, उसके बाद ARP requests दिखाई नहीं दीं

    • सही है। network load कम करने के लिए initial scan पर ये सीमाएँ हैं:
      1. सिर्फ specified interface के subnet को scan किया जाता है
      2. अधिकतम /16 तक ही अनुमति है
      3. हर 5 मिनट में सिर्फ एक बार run होता है (अभी hardcoded है)
        interface setting YAML file में की जा सकती है, और आगे चलकर इसे command-line flag से भी adjust करने की योजना है
  • अगर इसका नाम “whogoesthere” रखा जाता, तो शायद और मज़ेदार होता

    • मुझे लगता है “whodat” और भी बेहतर बैठता
  • यह जानने की उत्सुकता है कि क्या Go standard library में TUI से जुड़े features खास तौर पर अच्छे हैं। आजकल लगता है कि सारे नए TUI Go में ही लिखे जा रहे हैं

    • Go में compile और run तेज़ होते हैं, और Rust की तरह जटिल build constraints नहीं हैं
    • standard library में TUI से जुड़ी चीज़ें लगभग नहीं हैं, लेकिन rivo/tview बहुत solid है
    • standard library में नहीं है, लेकिन कई लोकप्रिय Go TUI Bubble Tea पर बने हैं। यह project tview का इस्तेमाल करता है
  • अगर इसका नाम “Whose LAN is it anyway? ” रखा जाता, तो शायद और witty लगता

  • शानदार technical skill है। लगता है अब आप सचमुच engineer के रास्ते पर आ गए हैं
    आप network traffic को सीधे नहीं देख सकते, लेकिन अक्सर ऐसे लोगों को देखता हूँ जो ऐसे tools के बिना समस्याओं का diagnosis करने की कोशिश करते हैं
    वास्तव में nmap, wireshark, LLDP, CDP जैसे tools ज़रूरी हैं, और बड़े networks के लिए Netdisco की सिफारिश है

  • यह दिलचस्प है कि आज के “modern TUI” आखिरकार Turbo Vision, Clipper, curses वाले दौर की retro शैली को फिर से बना रहे हैं

  • जानना चाहूँगा कि क्या इसे Tailscale पर test किया गया है। यह बहुत उपयोगी हो सकता है, लेकिन Tailscale अभी mDNS को support नहीं करता
    संबंधित issue link