¿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?

  • Problemas de Macports después de la actualización de Mountain Lion
  • ¿Cómo lanzo Bonjour?
  • ¿Puedo reanudar una descarga interrumpida de Mac OS X Mountain Lion?
  • ¿Existe un atajo de keyboard que pueda usar para establecer una prioridad de tarea en Reminders.app en una Mac?
  • ¿Es posible instalar JDK 7 después de instalar MATLAB en Mountain Lion?
  • Con Firefox Aurora, Mountain Lion colgó, pero el mouse aún funcionaba
  • ¿Por qué parece que aparentemente "no tengo acceso a las herramientas de command-line" en ML?
  • ¿Cómo puedo modificar la list de aplicaciones en 'Abrir con ...'?
  • Los valores shmmax y shmall en /etc/sysctl.conf no se cargan al reiniciar
  • Los separadores de time parpadean de manera incoherente
  • Las animaciones son entrecortadas y desiguales después de un día (Mountain Lion)
  • Pantalla azul al arrancar desde la copy de security USB de Mountain Lion
  • 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).