36 votos

Puedo enumerar todos los Bonjour habilitado servicios que se están ejecutando?

Yo estaría interesado en saber qué programas se anuncian mediante Bonjour en mi máquina. Es allí una manera de hacer eso?

61voto

user4774 Puntos 108

El dns-sd herramienta de línea de comandos puede ser útil para esto, pero el aprendizaje de su uso es un poco complicado.

Ejecución dns-sd -B _services._dns-sd._udp devolverá una lista de todos los tipos de servicio que actualmente se está promocionando. (La lista es por la interfaz, por lo que habrá alguna redundancia.) Si esto se hace en un Mac sin conexión de red activa, la lista de curso sólo contienen los servicios que se ejecutan en la máquina.

El uso de la lista, usted puede solicitar información acerca de los servicios individuales de los tipos de cosas que se ejecutan como dns-sd -B _home-sharing._tcp (que las listas de iTunes Home Sharing casos), y luego, dado un nombre de instancia, puede ejecutar dns-sd -L "Wes Campaigne's Library" _home-sharing._tcp a la búsqueda de información para una instancia particular.

Para ser honesto, sin embargo, todo este proceso es algo tedioso, y es exactamente lo que Bonjour Navegador fue construido a hacer, así que le recomiendo usar. (La aplicación puede ser antigua, pero todavía funciona.) Cualquiera que sea la forma de hacerlo, sin embargo, no siempre está claro cuál es el programa que es responsable de una determinada entrada de servicio.

Puede utilizar la estrategia dada en binarybob la respuesta para tratar de servicio de mapas de entradas para la ejecución de los procesos basado en el número de puerto, pero esto no siempre funciona. Otra estrategia es la de ejecutar algo como dns-sd -B _home-sharing._tcp que sigue abierta y los informes de casos se agregan o eliminan, entonces, uno por uno, dejar de diversas aplicaciones y (suponiendo que no es un servicio de sistema) ver que uno de dejar de fumar provoca la eliminación del mensaje.

8voto

binarybob Puntos 6395

Aunque podría no satisfacer tus criterios exactos, Tildesoft del Bonjour Navegador puede hacer una lista de todos los todos los servicios de bonjour anunciado en su local de la red y los hosts que son publicidad.

Supongo que a nivel local servicios anunciados, se podría profundizar en Bonjour Navegador para encontrar el número de puerto del servicio que se anuncia, a continuación, utilice lsof para determinar la aplicación asociada con él, Por ejemplo:

lsof -i | grep 57857

da

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

cuando tengo iTunes se ejecuta.

2voto

andrewdotnich Puntos 2055

Aunque se clasifica como un legado en el artículo, esta muy bien puede ser lo que usted está buscando: DNSServiceMetaQuery. Como se indica en la documentación:

En este ejemplo se utiliza DNSServiceQueryRecord para enviar un DNS de Multidifusión consulta que devuelve una lista de Bonjour de los tipos de servicio que se anuncia en la red local. Las máquinas deben estar ejecutando mDNSResponder-58.6 (Mac OS X 10.3.4) o más tarde en el fin de responder a esta consulta.

Para ejecutar DNSServiceMetaQuery en Mountain Lion (la construcción incluido no funciona correctamente), ir a la muestra de código de enlace y haga clic en Descargar el Código de Ejemplo. A continuación, instalar Xcode si usted no tiene ya. Crear un nuevo proyecto bajo la plantilla de Mac OS X > Aplicación > Herramienta de Línea de Comandos.

Abrir y copiar todo el texto en ~/Downloads/DNSServiceMetaQuery/DNSServiceMetaQuery.cy péguelo en main.c de su nueva Herramienta de Línea de Comandos del proyecto (en sustitución de todo lo que había en la plantilla). A continuación, tendrás que añadir CoreFoundation.marco para el proyecto haciendo clic en el nombre del proyecto en la barra lateral > Fases de construcción y abrir la flecha desplegable junto a Link Binario Con las Bibliotecas. Haga clic en el + botón de búsqueda para CoreFoundation.marco, y agregarlo. A continuación, haga clic en el botón Ejecutar (se parece a un botón de play) y esperar un Logrado Construir la imagen. Algo debe venir desde el botón de la ventana con un registro; esto mostrará todos sus servicios de Bonjour. Asegúrese de que Toda la Salida está activada.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X