जवाबों:
dns-sd
कमांड लाइन उपकरण इस के लिए सहायक हो सकता है, लेकिन यह उपयोग करने के लिए सीखने के लिए आपको थोड़ी सूझबूझ है।
रनिंग dns-sd -B _services._dns-sd._udp
उन सभी उपलब्ध सेवा प्रकारों की सूची लौटाएगी जो वर्तमान में विज्ञापित किए जा रहे हैं। (सूची प्रति इंटरफ़ेस है, इसलिए कुछ अतिरेक होगा।) यदि यह मैक पर किया जाता है जिसमें कोई सक्रिय नेटवर्क कनेक्शन नहीं है, तो सूची में केवल उस मशीन पर चलने वाली सेवाएँ शामिल होंगी।
उस सूची का उपयोग करके, आप व्यक्तिगत सेवाओं के प्रकारों के बारे में जानकारी का अनुरोध कर सकते हैं जैसे कि dns-sd -B _home-sharing._tcp
(जो आईट्यून्स होम शेयरिंग इंस्टेंस को सूचीबद्ध करता है), और फिर, एक उदाहरण नाम दिया गया है, आप dns-sd -L "Wes Campaigne’s Library" _home-sharing._tcp
किसी विशेष उदाहरण के लिए जानकारी देखने के लिए चला सकते हैं ।
ईमानदार होने के लिए, हालांकि, यह पूरी प्रक्रिया बल्कि थकाऊ है, और यह वास्तव में डिस्कवरी (पूर्व में बोन्जौर ब्राउज़र) करने के लिए बनाया गया था, इसलिए मैं इसका उपयोग करने की सलाह देता हूं। हालांकि, आप जो भी करते हैं, यह हमेशा स्पष्ट नहीं हो सकता है कि किसी दिए गए सेवा प्रविष्टि के लिए कौन सा कार्यक्रम जिम्मेदार है।
आप बाइनरीबोब के उत्तर में दी गई रणनीति का उपयोग पोर्ट नंबर के आधार पर चलने वाली प्रक्रियाओं में सेवा प्रविष्टियों को मैप करने के लिए कर सकते हैं, लेकिन यह हमेशा काम नहीं कर सकता है। एक और रणनीति कुछ ऐसा चलाना है dns-sd -B _home-sharing._tcp
जो खुला रहता है और जब इंस्टेंस जोड़े जाते हैं या हटाए जाते हैं, तब रिपोर्ट करते हैं, एक-एक करके, विभिन्न ऐप छोड़ देते हैं और (यह एक सिस्टम सेवा नहीं है) देखते हैं कि कौन सा छोड़ने वाला हटाने के संदेश को ट्रिगर करता है।
यद्यपि यह आपके सटीक मानदंडों को पूरा नहीं कर सकता है, टिल्डसॉफ्ट का बोनजोर ब्राउज़र आपके स्थानीय नेटवर्क पर प्रसारित सभी अलाव सेवाओं और उन्हें होस्ट करने वाले मेजबान को सूचीबद्ध कर सकता है।
मैं स्थानीय रूप से विज्ञापित सेवाओं के लिए अनुमान लगाता हूं कि आप जिस पोर्ट नंबर पर सेवा विज्ञापित हैं, उसे खोजने के लिए बोंजौर ब्राउज़र में ड्रिल कर सकते हैं, फिर lsof
इसके साथ जुड़े एप्लिकेशन को निर्धारित करने के लिए उपयोग करें, उदाहरण के लिए:
lsof -i | grep 57857
देता है
iTunes 36720 ... TCP *:57857 (LISTEN)
जब मेरे पास iTunes चल रहा है।
हालांकि एक विरासत लेख के रूप में वर्गीकृत किया गया है, यह बहुत अच्छी तरह से हो सकता है कि आप क्या देख रहे हैं: DNSServiceMetaQuery। प्रलेखन द्वारा उल्लिखित:
यह नमूना एक बहुस्त्र्पीय DNS क्वेरी भेजने के लिए DNSServiceQueryRecord का उपयोग करता है जो स्थानीय नेटवर्क पर विज्ञापित की जा रही बोंजोर सेवा प्रकारों की सूची देता है। इस क्वेरी का जवाब देने के लिए मशीनों को mDNSResponder-58.6 (Mac OS X 10.3.4) या बाद में चलना चाहिए।
DNServiceMetaQuery को माउंटेन लायन पर चलाने के लिए (शामिल बिल्ड ठीक से नहीं चलता है), नमूना कोड लिंक पर जाएं और नमूना कोड डाउनलोड करें पर क्लिक करें। फिर, अगर आप पहले से ही नहीं है Xcode स्थापित करें । मैक ओएस एक्स> एप्लीकेशन> कमांड लाइन टूल के टेम्पलेट के तहत एक नया प्रोजेक्ट बनाएं ।
सभी पाठ खोलें और कॉपी करें ~/Downloads/DNSServiceMetaQuery/DNSServiceMetaQuery.c
और इसे main.c
अपने नए कमांड लाइन टूल प्रोजेक्ट में पेस्ट करें (सब कुछ जो टेम्पलेट में था वहां प्रतिस्थापित करें)। इसके बाद, आपको प्रोजेक्ट का नाम साइडबार> बिल्ड चरणों में क्लिक करके CoreFoundation.framework को जोड़ना होगा और लिंक बाइनरी विद लाइब्रेरीज़ के बगल में ड्रॉपडाउन तीर को खोलना होगा । +बटन पर क्लिक करें, CoreFoundation.framework के लिए खोजें, और इसे जोड़ें। फिर रन बटन पर क्लिक करें (प्ले बटन की तरह दिखता है) और एक बिल्ड सफल छवि की प्रतीक्षा करें। लॉग के साथ खिड़की के बटन से कुछ आना चाहिए; यह आपकी सभी बॉनजोर सेवाओं को प्रदर्शित करेगा। सुनिश्चित करें कि सभी आउटपुट की जाँच की गई है।
_daap
है।