Çalışan tüm Bonjour etkin servisleri listeleyebilir miyim?


21

Makinemde Bonjour kullanarak hangi programların kendilerini tanıttığını bilmek isterim. Bunu yapmanın bir yolu var mı?

Yanıtlar:


36

dns-sdKomut satırı aracı bunun için yararlı olabilir, ancak kullanmayı öğrenmek biraz zor olabilir.

Çalıştırılması dns-sd -B _services._dns-sd._udp, şu anda reklamı yapılan mevcut tüm hizmet türlerinin bir listesini döndürür. (Liste arabirim başınadır, bu nedenle biraz fazlalık olacaktır.) Bu, etkin bir ağ bağlantısı olmayan bir Mac'te yapılırsa, liste elbette yalnızca bu makinede çalışan hizmetleri içerecektir.

Bu listeyi kullanarak dns-sd -B _home-sharing._tcp(iTunes Home Sharing örneklerini listeleyen) gibi şeyleri çalıştırarak tek tek hizmet türleri hakkında bilgi isteyebilir ve daha sonra bir örnek adı verildiğinde, belirli bir örnek dns-sd -L "Wes Campaigne’s Library" _home-sharing._tcpiçin bilgi aramak için çalıştırabilirsiniz .

Dürüst olmak gerekirse, bu süreç oldukça sıkıcı ve tam olarak Discovery'nin (eskiden Bonjour Tarayıcısı) yapmak için yapıldığı şeydi, bu yüzden bunu kullanmanızı şiddetle tavsiye ediyorum. Hangi şekilde yaparsanız yapın, belirli bir servis girişinden hangi programın sorumlu olduğu her zaman net olmayabilir.

Servis girişlerini port numarasına göre çalışan işlemlerle eşlemeye çalışmak için binarybob'un cevabında verilen stratejiyi kullanabilirsiniz , ancak bu her zaman işe yaramayabilir. Başka bir strateji, dns-sd -B _home-sharing._tcpaçık eklenip, örnekler eklendiğinde veya kaldırıldığında rapor veren bir şeyi çalıştırmak , ardından birer birer, çeşitli uygulamalardan çıkmak ve (bir sistem servisi olmadığını varsayarak) hangisinin bırakmayı kaldırma mesajını tetiklediğini görmektir.


Müzik paylaşım servisi şimdi denilen gibi görünüyor _daap.
zneak

Aslında DAAP, iTunes'un eski kütüphane paylaşımının iki ayrı biçimini ifade eder. DAAP, Tercihler> Paylaşma> Kütüphanemi yerel ağımda paylaş ile etkinleştirilir. İTunes 9'a eklenen Ev Paylaşımı, Dosya> Ev Paylaşımı ile etkinleştirilir. Kimlik doğrulama için Apple Kimliğinizi kullanır.
Wes Campaigne

5

Tildesoft'un Bonjour Tarayıcısı tam ölçütlerinizi tam olarak karşılamıyor olsa da , yerel ağınızda reklamı yapılan tüm bonjour hizmetlerini ve reklam veren ana bilgisayarları listeleyebilir.

Bonjour Tarayıcısında, hizmetin tanıtıldığı bağlantı noktası numarasını bulmak üzere detaylandırabileceğiniz yerel olarak reklamı yapılan hizmetler için sanırım, ardından lsofbununla ilişkili uygulamayı belirlemek için kullanabilirsiniz , Örneğin:

lsof -i | grep 57857

verir

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

iTunes çalıştığımda.


2

Eski bir makale olarak sınıflandırılmış olmasına rağmen, bu aradığınız şey olabilir: DNSServiceMetaQuery. Belgelerde belirtildiği gibi:

Bu örnek, yerel ağda tanıtılan Bonjour hizmet türlerinin listesini döndüren Çok Noktaya Yayın DNS sorgusu göndermek için DNSServiceQueryRecord öğesini kullanır. Bu sorguyu yanıtlayabilmek için makineler mDNSResponder-58.6 (Mac OS X 10.3.4) veya sonraki bir sürümü kullanıyor olmalıdır.

DNSServiceMetaQuery'yi Mountain Lion'da çalıştırmak için (dahil edilen yapı düzgün çalışmıyor), örnek kod bağlantısına gidin ve Örnek Kodu İndir'i tıklayın. Daha önce yapmadıysanız , Xcode'u yükleyin . Mac OS X> Uygulama> Komut Satırı Aracı şablonunun altında yeni bir proje oluşturun .

Tüm metni açın ve kopyalayın ~/Downloads/DNSServiceMetaQuery/DNSServiceMetaQuery.cve main.cyeni Komut Satırı Aracı projenize yapıştırın (şablondaki her şeyi değiştirerek). Ardından, kenar çubuğu> Yapı Aşamaları içindeki proje adını tıklatarak projeye CoreFoundation.framework eklemeniz ve Kitaplıkları İkili Bağla seçeneğinin yanındaki açılır oku açmanız gerekir . Click +, düğme CoreFoundation.framework aramak ve ekleyin. Ardından Çalıştır düğmesine tıklayın (oynat düğmesine benziyor) ve Oluşturma Başarılı bir görüntü bekleyin. Bir günlüğünün pencerenin düğmesinden bir günlüğü gelmeli; Bu, tüm Bonjour servislerinizi gösterir. Tüm Çıkışın kontrol edildiğinden emin olun.


Ben yetkin bir programcıyım, bu yüzden Xcode'da yolumu biliyorum (ve bu iyi bir şey çünkü Xcode'u sadece bunun için kurmak istediğimden emin değilim). Kontrol edeceğim, teşekkürler!
zneak

Apple kodu kaldırdı ancak aynada mevcut .
Bay Tao,

@ Mr.Tao Kod Apple'ın sitesinde hala var.
Cevaptaki
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.