Comando de Linux para obtener el descubrimiento del servicio mDNS y obtener su dirección IP

Comando de Linux para obtener el descubrimiento del servicio mDNS y obtener su dirección IP

Estoy transmitiendo el servicio mDNS desde mi módulo WiFi. Necesito descubrir eso en mi PC con Linux y obtener su dirección IP.

  1. Utilicé el comando mdns-scan y aparece el nombre del servicio.
  2. Utilicé avahi-browse --all y aparece el nombre de mi servicio.
  3. Pero ¿Cómo obtengo la dirección IP de ese servicio? Ese es mi requisito.
  4. En las aplicaciones de Android puedo obtener detalles completos de los servicios. ¿Cómo lo consigo en Linux?
  5. Probé if config -a y nmap también.

Respuesta1

Utilicé avahi-browse --all y aparece el nombre de mi servicio.

Usaravahi-resolve --namepara asignar el nombre de host a sus direcciones IP.

Alternativamente, para hacer que *.locallos nombres de host mDNS se puedan resolver en todo el sistema, puede usarnss-mdns(usando el backend de Avahi) o nss-resolve (usando el backend resuelto por systemd). Esto permitirá que cualquier aplicación utilice nombres mDNS como si fueran DNS normales.

En las aplicaciones de Android puedo obtener detalles completos de los servicios. ¿Cómo lo consigo en Linux?

En las aplicaciones de Android, está utilizando la API proporcionada por el sistema operativo. Del mismo modo, en Linux, debería utilizar la API adecuada proporcionada por el sistema operativo, ya seacliente-libavahiolibavahi-glibnoherramientas CLI aleatorias pegadas entre sí. Todas las herramientas que enumeró son para uso manual por parte de administradores de sistemas, no para secuencias de comandos.

DNS-SD almacena la información adicional del servicio en registros TXT. Como se muestra en los ejemplos de API, la función "resolver devolución de llamada" recibirá automáticamente una matriz de registros TXT como parámetro sin tener que hacer nada adicional.

Respuesta2

No estoy seguro de si necesita esto para un script de automatización, en cuyo caso puede que no sea la mejor solución, pero un simple pingcomando también le proporcionará la dirección IP.

Vea este ejemplo:

$ ping lightpizero.local
PING lightpizero.local (192.168.0.104) 56(84) bytes of data.

La dirección en este caso es claramente192.168.0.104

información relacionada