Whosthere - Go में लिखा गया आधुनिक TUI-आधारित LAN एक्सप्लोरेशन टूल
(github.com/ramonvermeulen)- 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 8080GET /devices: खोजे गए सभी डिवाइसों की सूची लौटाता हैGET /device/{ip}: किसी विशेष डिवाइस का विस्तृत विवरण लौटाता हैGET /health: स्टेटस जाँच
1 टिप्पणियां
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 करता हैमेरे network के results ये रहे:
एक मशहूर कहावत है: “जो nmap को याद नहीं रखते, वे उसे खराब तरीके से फिर से बनाने के लिए अभिशप्त होते हैं”
root privileges के बिना
/24scan को 10 सेकंड के अंदर पूरा करने वाली command का example साझा किया गयाnmap आधिकारिक दस्तावेज़ देखें
5 साल पहले मैंने भी इसी idea से मिलता-जुलता CLI tool बनाया था, और उसका नाम भी लगभग वही था: “whosthere” का Polish version ktotu
ktotu project link
यह version उससे कहीं ज़्यादा polished है, और Go चुनना भी अच्छा फैसला था। जानना चाहूँगा कि क्या idea AI से generate किया गया था
कुल मिलाकर यह अच्छी तरह बना हुआ tool है। अगर
-ioption से scan करने के लिए interface specify किया जा सके तो अच्छा होगा।मेरे laptop पर सिर्फ पहला scan ठीक से हुआ, उसके बाद ARP requests दिखाई नहीं दीं
interface setting YAML file में की जा सकती है, और आगे चलकर इसे command-line flag से भी adjust करने की योजना है
अगर इसका नाम “whogoesthere” रखा जाता, तो शायद और मज़ेदार होता
यह जानने की उत्सुकता है कि क्या Go standard library में TUI से जुड़े features खास तौर पर अच्छे हैं। आजकल लगता है कि सारे नए TUI Go में ही लिखे जा रहे हैं
अगर इसका नाम “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