क्या मैं उन सभी बोनजॉर-सक्षम सेवाओं को सूचीबद्ध कर सकता हूं जो चल रही हैं?


21

मुझे यह जानने में दिलचस्पी होगी कि कौन से कार्यक्रम मेरी मशीन पर बोनजॉर का उपयोग करके खुद को विज्ञापित करते हैं। क्या ऐसा करने के लिए कोई रास्ता है?

जवाबों:


36

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जो खुला रहता है और जब इंस्टेंस जोड़े जाते हैं या हटाए जाते हैं, तब रिपोर्ट करते हैं, एक-एक करके, विभिन्न ऐप छोड़ देते हैं और (यह एक सिस्टम सेवा नहीं है) देखते हैं कि कौन सा छोड़ने वाला हटाने के संदेश को ट्रिगर करता है।


ऐसा लगता है कि संगीत साझाकरण सेवा अब कहलाती _daapहै।
जंक

दरअसल, डीएएपी, iTunes के पुराने के दो अलग-अलग रूपों को साझा करता है। DAAP को प्राथमिकताएँ> साझाकरण> मेरे स्थानीय नेटवर्क पर मेरी लाइब्रेरी साझा करें के माध्यम से सक्षम किया गया है। आईट्यून्स 9 में जोड़ा गया होम शेयरिंग, फ़ाइल> होम शेयरिंग के माध्यम से सक्षम है। यह प्रमाणीकरण के लिए आपकी Apple ID का उपयोग करता है।
वेस कैंपेन

5

यद्यपि यह आपके सटीक मानदंडों को पूरा नहीं कर सकता है, टिल्डसॉफ्ट का बोनजोर ब्राउज़र आपके स्थानीय नेटवर्क पर प्रसारित सभी अलाव सेवाओं और उन्हें होस्ट करने वाले मेजबान को सूचीबद्ध कर सकता है।

मैं स्थानीय रूप से विज्ञापित सेवाओं के लिए अनुमान लगाता हूं कि आप जिस पोर्ट नंबर पर सेवा विज्ञापित हैं, उसे खोजने के लिए बोंजौर ब्राउज़र में ड्रिल कर सकते हैं, फिर lsofइसके साथ जुड़े एप्लिकेशन को निर्धारित करने के लिए उपयोग करें, उदाहरण के लिए:

lsof -i | grep 57857

देता है

iTunes    36720   ...     TCP *:57857 (LISTEN)

जब मेरे पास iTunes चल रहा है।


2

हालांकि एक विरासत लेख के रूप में वर्गीकृत किया गया है, यह बहुत अच्छी तरह से हो सकता है कि आप क्या देख रहे हैं: DNSServiceMetaQuery। प्रलेखन द्वारा उल्लिखित:

यह नमूना एक बहुस्त्र्पीय DNS क्वेरी भेजने के लिए DNSServiceQueryRecord का उपयोग करता है जो स्थानीय नेटवर्क पर विज्ञापित की जा रही बोंजोर सेवा प्रकारों की सूची देता है। इस क्वेरी का जवाब देने के लिए मशीनों को mDNSResponder-58.6 (Mac OS X 10.3.4) या बाद में चलना चाहिए।

DNServiceMetaQuery को माउंटेन लायन पर चलाने के लिए (शामिल बिल्ड ठीक से नहीं चलता है), नमूना कोड लिंक पर जाएं और नमूना कोड डाउनलोड करें पर क्लिक करें। फिर, अगर आप पहले से ही नहीं है Xcode स्थापित करें । मैक ओएस एक्स> एप्लीकेशन> कमांड लाइन टूल के टेम्पलेट के तहत एक नया प्रोजेक्ट बनाएं ।

सभी पाठ खोलें और कॉपी करें ~/Downloads/DNSServiceMetaQuery/DNSServiceMetaQuery.cऔर इसे main.cअपने नए कमांड लाइन टूल प्रोजेक्ट में पेस्ट करें (सब कुछ जो टेम्पलेट में था वहां प्रतिस्थापित करें)। इसके बाद, आपको प्रोजेक्ट का नाम साइडबार> बिल्ड चरणों में क्लिक करके CoreFoundation.framework को जोड़ना होगा और लिंक बाइनरी विद लाइब्रेरीज़ के बगल में ड्रॉपडाउन तीर को खोलना होगा +बटन पर क्लिक करें, CoreFoundation.framework के लिए खोजें, और इसे जोड़ें। फिर रन बटन पर क्लिक करें (प्ले बटन की तरह दिखता है) और एक बिल्ड सफल छवि की प्रतीक्षा करें। लॉग के साथ खिड़की के बटन से कुछ आना चाहिए; यह आपकी सभी बॉनजोर सेवाओं को प्रदर्शित करेगा। सुनिश्चित करें कि सभी आउटपुट की जाँच की गई है।


मैं एक कुशल प्रोग्रामर हूं, इसलिए मुझे Xcode के आसपास अपना रास्ता पता है (और यह एक अच्छी बात है क्योंकि मुझे यकीन नहीं है कि मैं इसके लिए Xcode स्थापित करना चाहूंगा)। मैं इसे देखूंगा, धन्यवाद!
zneak

Apple ने कोड हटा दिया है, हालांकि, यह एक दर्पण पर उपलब्ध है ।
श्री ताओ

@ Mr.Tao कोड अभी भी Apple की साइट पर मौजूद है। मैंने उत्तर में लिंक अपडेट किया है
Jay O'Conor
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.