
whosthere v0.8.3
Go में लिखा गया एक इंटरैक्टिव टर्मिनल यूज़र इंटरफ़ेस (TUI) के साथ स्थानीय क्षेत्र नेटवर्क खोज उपकरण। अपने LAN को सहज तरीके से खोजें, अन्वेषण करें और समझें। खटखटाओ.. कौन है वहाँ? 🚪
Whosthere
Go में लिखा गया एक इंटरैक्टिव टर्मिनल यूज़र इंटरफ़ेस (TUI) वाला लोकल एरिया नेटवर्क डिस्कवरी टूल। अपने LAN को सहज तरीके से खोजें, अन्वेषण करें और समझें।
Whosthere mDNS और SSDP स्कैनर का उपयोग करके बिना विशेषाधिकार वाले, समवर्ती स्कैन करता है। इसके अतिरिक्त, यह ARP रिज़ॉल्यूशन को ट्रिगर करने के लिए TCP/UDP कनेक्शन का प्रयास करके लोकल सबनेट को स्वीप करता है, फिर आपके लोकल एरिया नेटवर्क पर डिवाइस की पहचान करने के लिए ARP कैश को पढ़ता है। यह तकनीक बिना उन्नत विशेषाधिकारों की आवश्यकता के ARP कैश को भरती है। सभी खोजे गए डिवाइस OUI लुकअप के साथ संवर्धित किए जाते हैं ताकि उपलब्ध होने पर निर्माताओं को प्रदर्शित किया जा सके।
Whosthere हर नेटवर्क प्रशासक के उस सवाल का जवाब देने का एक मित्रवत, सहज तरीका प्रदान करता है: "मेरे नेटवर्क पर कौन है?"

विशेषताएँ
- इंटरैक्टिव TUI: खोजे गए डिवाइस को सहजता से नेविगेट और अन्वेषण करें।
- तेज़ और समवर्ती: एक साथ कई डिस्कवरी विधियों का लाभ उठाता है।
- किसी उन्नत विशेषाधिकार की आवश्यकता नहीं: पूरी तरह से यूज़र-स्पेस में चलता है।
- डिवाइस संवर्धन: डिवाइस निर्माताओं को दिखाने के लिए OUI लुकअप का उपयोग करता है।
- एकीकृत पोर्ट स्कैनर: पाए गए होस्ट पर वैकल्पिक सेवा डिस्कवरी (केवल अनुमति वाले डिवाइस को स्कैन करें!)।
- HTTP API के साथ डेमन मोड: बैकग्राउंड में चलाएँ और अन्य टूल के साथ एकीकृत करें।
- थीमिंग और कॉन्फ़िगरेशन: YAML कॉन्फ़िगरेशन के माध्यम से रूप और व्यवहार को व्यक्तिगत बनाएँ।
इंस्टॉलेशन
Homebrew के माध्यम से brew के साथ:
brew install whosthere
NixOS पर nix के साथ:
nix profile install nixpkgs#whosthere
Arch Linux पर yay के साथ:
yay -S whosthere-bin
यदि आपका पैकेज मैनेजर सूचीबद्ध नहीं है तो आप हमेशा Go के साथ इंस्टॉल कर सकते हैं:
go install github.com/ramonvermeulen/whosthere@latest
या सोर्स से बिल्ड करें:
git clone https://github.com/ramonvermeulen/whosthere.git
cd whosthere
make build
इसके अतिरिक्त, आप रिलीज़ पेज से पहले से बने बाइनरी डाउनलोड कर सकते हैं।
उपयोग
इंटरैक्टिव डिस्कवरी के लिए TUI चलाएँ:
whosthere
एक बार स्कैन करने और परिणाम आउटपुट करने के लिए CLI के रूप में चलाएँ:
whosthere scan -t 5
परिणाम को JSON फ़ाइल में आउटपुट करें:
whosthere scan -t 5 --json --pretty > devices.json
HTTP API के साथ डेमन के रूप में चलाएँ:
whosthere daemon --port=8080
अतिरिक्त कमांड लाइन विकल्प निम्नलिखित चलाकर पाए जा सकते हैं:
whosthere --help
की बाइंडिंग (TUI)
| Key | Action |
|---|---|
/ | Start regex search |
k | Up |
j | Down |
g | Go to top |
G | Go to bottom |
y | Copy IP of selected device |
Y | Copy MAC of selected device |
enter | Show device details |
CTRL+t | Toggle theme selector |
CTRL+i | Toggle interface selector |
CTRL+c/q | Stop application |
ESC | Clear search / Go back |
p (details view) | Start port scan on device |
tab (modal view) | Switch button selection |
कॉन्फ़िगरेशन
Whosthere निम्नलिखित प्राथमिकता (उच्चतम से निम्नतम) के साथ कई कॉन्फ़िगरेशन विधियों का समर्थन करता है:
- कमांड लाइन फ्लैग - उच्चतम प्राथमिकता। उपलब्ध फ्लैग के लिए
whosthere --helpदेखें। - एनवायरनमेंट वेरिएबल -
WHOSTHERE__के साथ प्रीफ़िक्स करें। एनवायरनमेंट वेरिएबल के माध्यम से कॉन्फ़िगरेशन देखें। - कॉन्फ़िगरेशन फ़ाइल - YAML कॉन्फ़िग फ़ाइल। कॉन्फ़िगरेशन फ़ाइल देखें।
- डिफ़ॉल्ट मान - फ़ॉलबैक डिफ़ॉल्ट। config.go में
DefaultConfig()देखें।
कॉन्फ़िगरेशन फ़ाइल
Whosthere कॉन्फ़िगरेशन फ़ाइल को निम्नलिखित क्रम में खोजता है, पहले मिली फ़ाइल का उपयोग करता है:
--configफ्लैग याWHOSTHERE_CONFIGएनवायरनमेंट वेरिएबल के माध्यम से निर्दिष्ट पथ$XDG_CONFIG_HOME/whosthere/config.yaml(यदिXDG_CONFIG_HOMEसेट है)~/.config/whosthere/config.yaml(डिफ़ॉल्ट स्थान)
उदाहरण कॉन्फ़िगरेशन:
# Uncomment the next line to configure a specific network interface - uses OS default if not set
# network_interface: eth0
# When enabled, devices from all network interfaces are shown and persist when switching interfaces
# Note: if two interfaces share the same subnet (e.g. both use 192.168.1.x), devices may get merged
# since they are identified by IP address. Use with caution on overlapping subnets.
all_interfaces: false
# Optional IPv4 CIDR subnets to sweep. When set, the sweeper skips the auto-detected interface subnet unless it is listed here.
# target_subnets: ["10.0.0.0/24", "10.0.1.0/24"]
# WARNING: scanning subnets larger than /16 sends packets to 65535+ IPs per subnet. Enable only if you understand the traffic implications. Consider using smaller /24 subnets for targeted scanning.
# scan_large_subnets: false
# How often to run discovery scans
scan_interval: 20s
# Maximum timeout for each scan, recommended to be less than the scan interval
scan_timeout: 10s
scanners:
mdns:
enabled: true
ssdp:
enabled: true
arp:
enabled: true
sweeper:
enabled: true
interval: 5m
timeout: 20s
port_scanner:
timeout: 5s
# List of TCP ports to scan on discovered devices
tcp: [21, 22, 23, 25, 80, 110, 135, 139, 143, 389, 443, 445, 993, 995, 1433, 1521, 3306, 3389, 5432, 5900, 8080, 8443, 9000, 9090, 9200, 9300, 10000, 27017]
splash:
enabled: true
delay: 1s
theme:
# When disabled, the TUI will use the terminal it's default ANSI colors
# Also see the NO_COLOR environment variable to completely disable ANSI colors
enabled: true
# See the complete list of available themes at https://github.com/ramonvermeulen/whosthere/tree/main/internal/ui/theme/theme.go
# Set name to "custom" to use the custom colors below
# For any color that is not configured it will take the default theme value as fallback
name: default
# Disable ANSI colors completely, overrides theme.enabled
# Can also be set via NO_COLOR or WHOSTHERE__THEME__NO_COLOR environment variables
# no_color: false