¿Puedo hacer una list de todos los services compatibles con Bonjour que se están ejecutando?

Me interesaría saber qué progtwigs se anuncian usando Bonjour en mi máquina. ¿Hay una manera de hacer eso?

  • Time Machine se quedó en "Preparar copy de security"
  • Terminal OS X: "borrar palabra hacia atrás" solo funciona con CMh
  • ¿Cómo arreglar Mountain Lion que es muy lento después de dormir por time de espera?
  • Abra Safari con numerosas tabs abiertas?
  • ¿Cómo configurar múltiples PATH en el usuario bash_profile en OSX 10.8?
  • ¿Puedo get la fuente Mac original de Chicago en una Mountain Lion Mac?
  • ¿Cómo puedo mantener un macbook funcionando cuando la pantalla está cerrada?
  • No hay datos en las celdas al abrir files antiguos de Excel en Office 2011 para OS 10.8
  • 3 Solutions collect form web for “¿Puedo hacer una list de todos los services compatibles con Bonjour que se están ejecutando?”

    La herramienta de command-line dns-sd puede ser útil para esto, pero aprender a usarlo es un poco complicado.

    La ejecución de dns-sd -B _services._dns-sd._udp devolverá una list de todos los types de service disponibles que se anuncian actualmente. (La list es por interfaz, por lo que habrá cierta networkingundancia.) Si esto se hace en una Mac sin connection de networking activa, la list, por supuesto, solo contendrá los services que se ejecutan en esa máquina.

    Usando esa list, puede solicitar información sobre los types de services individuales ejecutando cosas como dns-sd -B _home-sharing._tcp (que enumera las instancias de iTunes Home Sharing), y luego, dado el nombre de una instancia, puede ejecutar dns-sd -L "Wes Campaigne's Library" _home-sharing._tcp para search información para una instancia particular.

    Para ser sincero, sin embargo, todo este process es bastante tedioso, y es exactamente para lo que Bonjour Browser fue diseñado, así que recomiendo usarlo. (La aplicación puede ser antigua, pero aún funciona.) Sin embargo, cualquiera que sea la forma en que lo haga, no siempre estará claro qué progtwig es responsable de una input de service determinada.

    Puede usar la estrategia dada en la respuesta de binarybob para tratar de mapear inputs de service a processs en ejecución basados ​​en el número de puerto, pero esto puede no funcionar siempre. Otra estrategia es ejecutar algo como dns-sd -B _home-sharing._tcp que permanece abierto e informa cuando se agregan o eliminan instancias, luego, uno por uno, cierra varias aplicaciones y (suponiendo que no sea un service del sistema) vea cuál es dejar de fumar desencadena el post de eliminación.

    Aunque puede no satisfacer sus criterios exactos, el browser Bonjour de Tildesoft puede enumerar todos los services bonjour anunciados en su networking local y los hosts que los anuncian.

    Supongo que para los services publicitados localmente, puede profundizar en el browser Bonjour para encontrar el número de puerto en el que se anuncia el service, luego use lsof para determinar la aplicación asociada con él, por ejemplo:

     lsof -i | grep 57857 

    da

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

    cuando tengo iTunes funcionando.

    Aunque clasificado como un artículo henetworkingado, esto bien puede ser lo que está buscando: DNSServiceMetaQuery. Como se indica en la documentation:

    Este ejemplo utiliza DNSServiceQueryRecord para enviar una consulta DNS de multidifusión que devuelve una list de los types de service Bonjour que se anuncian en la networking local. Las máquinas deben ejecutar mDNSResponder-58.6 (Mac OS X 10.3.4) o posterior para responder a esta consulta.

    Para ejecutar DNSServiceMetaQuery en Mountain Lion (la compilation incluida no se ejecuta correctamente), vaya al enlace de código de muestra y click Descargar código de muestra. Luego, instale Xcode si aún no lo hizo. Cree un nuevo proyecto con la plantilla de Mac OS X> Aplicación> Herramienta de command-line .

    Abra y copie todo el text en ~/Downloads/DNSServiceMetaQuery/DNSServiceMetaQuery.c y péguelo en main.c de su nuevo proyecto Command Line Tool (reemplazando todo lo que estaba allí en la plantilla). A continuación, deberá agregar CoreFoundation.framework al proyecto haciendo clic en el nombre del proyecto en la barra lateral> Crear fases y abrir la flecha desplegable junto a Enlace binary con bibliotecas. Haga clic en el button + , busque CoreFoundation.framework y añádalo. A continuación, click el button Ejecutar (se parece a un button de reproducción) y espere una image Construir con éxito. Algo debería venir del button de la window con un logging; esto mostrará todos sus services de Bonjour. Asegúrese de que All Output esté marcado.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).